Programming with Node-RED
Design IoT Projects with Raspberry Pi, Arduino and ESP32
Dogan Ibrahim
Diese Publikation zitieren
Dogan Ibrahim, Programming with Node-RED (25.04.2024), Elektor, Aachen, ISBN: 9781907920882
1388
Accesses
Accesses
Beschreibung / Abstract
Inhaltsverzeichnis
- BEGINN
- Contents
- Preface
- Chapter 1 †¢ Raspberry Pi 4
- 1.1 Overview
- 1.2 Parts of the Raspberry Pi 4
- 1.3.1 Setup option 1
- 1.3.2 Setup option 2
- Summary
- Chapter 2 †¢ Installing the Raspberry Pi operating system
- 2.1 Overview
- 2.2 Raspbian Buster installation steps on Raspberry Pi 4
- 2.3 Remote access
- 2.4 Using Putty
- 2.4.1 Configuring Putty
- 2.5 Remote access of the desktop
- 2.6 Summary
- Chapter 3 †¢ Using the command line
- 3.1 Overview
- 3.2 The Raspberry Pi directory structure
- 3.3 File permissions
- 3.4 Help
- 3.5 Date, time, and calendar
- 3.6 File operations
- 3.7 System and user information
- 3.8 Resource monitoring on Raspberry Pi
- 3.9 Shutting down
- 3.10 Summary
- Chapter 4 †¢ Installing Node-RED software on Raspberry Pi
- 4.1 Overview
- 4.2 Raspberry Pi Node-RED installation
- 4.3 Node-RED interface to external world
- 4.4 Node-RED screen layout
- 4.5 Project 1 – Hello World!
- 4.6 Project 2 – Date and time
- 4.7 Project 3 – Temperature conversion
- 4.8 Importing and exporting flow programs
- 4.8.1 Exporting flows
- 4.8.2 Importing aflow
- 4.9 Copying nodes in the same workspace
- 4.10 Core nodes
- 4.10.1 Input nodes
- 4.10.2 Output nodes
- 4.10.3 Function nodes
- 4.10.4 Social nodes
- 4.10.5 Storage nodes
- 4.10.6 Analysis nodes
- 4.10.7 Advanced nodes
- 4.10.8 Raspberry Pi nodes
- 4.11 Project 4 – Dice number
- 4.12 Project 5 – Double dice numbers
- 4.13 Project 6 – Unit conversions - Multiple inputs to a function
- 4.14 Multiple inputs and multiple outputs from a function
- 4.15 Project 7 – Mean of numbers - Using the smooth node
- 4.16 Project 8 – Squares of numbers
- 4.17 Project 9 – Getting the weather reports – Display the local weather report
- 4.18 Project 10 – Display the current temperature
- 4.19 Project 11 – Sending the current temperature to an email
- 4.20 Project 12 – Sending the current temperature and atmospheric pressure to your twitter account
- 4.21 Node-RED configuration
- 4.22 Summary
- Chapter 5 †¢ Node-RED based Raspberry Pi projects using Gpio
- 5.1 Overview
- 5.2 GPIO – Parallel interface
- 5.3 Project 13 – LED control
- 5.4 Project 14 – Flashing LED
- 5.4.1 Using a context variable to flash the LED
- 5.5 Project 15 – Alternately flashing LEDs
- 5.5.1 Using context variables to flash the LEDs alternately
- 5.6 Project 16 – Temperature alarm with buzzer
- 5.7 Project 17 – Controlling a GPIO port remotely using email
- 5.8 Project 18 – Confirmation of the buzzer state
- 5.9 Project 19 – Controlling multiple GPIO ports remotely using email
- 5.10 Project 20 – Traffic lights simulator
- 5.11 Project 21 – Push-Button switch input
- 5.12 Project 22 – Changing LED brightness – The PWM output
- 5.13 Summary
- 6.1 Overview
- 6.2 Raspberry Pi I2C ports
- 6.3 I2C LCD
- 6.4 Installing the I2C LCD software on Node-RED
- 6.5 Project 23 – Displaying current time on the LCD
- 6.6 Project 24 – Displaying local temperature and humidity on the LCD
- 6.7 Project 25 – Displaying dice numbers
- 6.8 Project 26 – Event counter with LCD
- 6.9 Project 27 – DHT11 temperature and humidity sensor with LCD Display
- 6.10 Project 28 – Ultrasonic distance sensor with LCD display
- 6.11 Project 29 – Ultrasonic distance alarm with buzzer
- 6.12 Project 30 – Ultrasonic car parking system with buzzer
- 6.13 Using a parallel LCD
- 6.14 Project 31 – Displaying message on a parallel LCD
- 6.15 Summary
- Chapter 7 †¢ Using ADC in Raspberry Pi Node-RED projects
- 7.1 Overview
- 7.2 The MCP3002 ADC
- 7.3 Project 32 – Voltmeter with LCD output
- 7.4 Project 33 – Temperature measurement using analog sensor
- 7.5 Project 34 – ON/OFF temperature control
- 7.6 Summary
- Chapter 8 †¢ The dashboard palette
- 8.1 Overview
- 8.2 Installing the dashboard
- 8.3 Project 35 – Using a gauge to display the temperature
- 8.4 Using a Line Chart to display the temperature
- 8.5 Using a Bar Chart to display the temperature
- 8.6 Project 36 – Using gauges to display the temperature and humidity
- 8.7 Project 37 – Using multiple gauges
- 8.8 Project 38 – Using a slider to change LED brightness
- 8.9 Project 39 – Using button nodes to control an LED
- 8.10 Project 40 – Using switch and text nodes to control an LED
- 8.11 Project 41 – Talking weather forecast
- 8.12 Configuring the dashboard
- 8.13 Summary
- Chapter 9 †¢ Wi-Fi UDP/TCP Network-Based projects
- 9.1 Overview
- 9.2 Project 42 – Controlling an LED from a mobile phone – UDP based communication
- 9.3 Project 43 – Controlling multiple LEDs from a mobile phone – UDP based communication
- 9.5 Project 45 – Controlling an LED from a mobile phone – TCP based communication
- 9.6 Project 46 – Controlling Multiple LEDs From a Mobile Phone – TCP Based Communication
- 9.7 Project 47 – Sending the temperature and humidity to the mobile phone – TCP based communication
- 9.8 Project 48 – Chat program – Mobile phone to Raspberry Pi chat
- 9.9 Project 49 – Using the ping
- 9.10 Summary
- Chapter 10 †¢ Storage Nodes
- 10.1 Overview
- 10.2 Project 50 – Storing timestamped temperature and humidity data in a file
- 10.3 Project 51 – Reading contents of a file
- 10.4 Project 52 – Reading a file line by line
- 10.5 Summary
- Chapter 11 †¢ Serial communication
- 11.1 Overview
- 11.2 Project 53 – Communicating with Arduino over serial line
- 11.3 Project 54 – Receiving serial data – Receiving GPS data
- 11.4 Project 55 – Receiving GPS data – Extracting the latitude and longitude
- 11.5 Project 56 – Displaying our location on a map
- 11.6 Project 57 – Sending out serial data to arduino
- 11.7 Project 58 – Connecting Raspberry Pi and Arduino Uno using USB ports
- 11.8 Project 59 – Sending serial data from Raspberry Pi to Arduino over RF Radio
- 11.9 Summary
- Chapter 12 †¢ Using Sense HAT
- 12.1 Overview
- 12.2 The Sense HAT board
- 12.3 Node-RED Sense HAT nodes
- 12.4 Project 60 - Displaying the temperature, humidity, and pressure (environmental events)
- 12.5 Project 61 - Displaying the compass heading (motion events)
- 12.6 Project 62 - Displaying the acceleration (motion events)
- 12.7 Project 63 - Displaying the orientation (motion events)
- 12.8 Using the joystick
- 12.9 Using the LED matrix
- 12.10 Project 64 – Random flashing LED lights having random colours
- 12.11 Project 65 – Display of temperature by LED count
- 12.12 Displaying and scrolling data on LED Matrix
- 12.13 Project 66 – Scrolling the pressure readings on the LED matrix
- 12.14 Summary
- Chapter 13 †¢ Node-RED with Arduino Uno
- 13.1 Overview
- 13.2 Installing Node-RED For Arduino Uno
- 13.3 Project 67 – Flashing LED
- 13.4 Project 68 – Displaying the ambient temperature in the debug window
- 13.5 Project 69 – Displaying the ambient temperature in the dashboard
- 13.6 Project 70 – Displaying the ambient temperature as gauge and chart
- 13.7 Using the Arduino Uno serial port
- 13.7.1 Project 71 – Using the DHT11 with the Arduino
- 13.8 Summary
- Chapter 14 †¢ Using the ESP32 DevkitC with Node-RED
- 14.1 Overview
- 14.2 ESP32 DevKitC and Node-RED
- 14.3 Project 72 – Controlling an LED connected to ESP32 DevKitC
- 14.4 Summary
- Chapter 15 †¢ Using Amazon Alexa in Node-RED projects
- 15.1 Overview
- 15.2 Project 73 – Controlling a LED Using Alexa
- 15.3 Project 74 – Controlling a LED and a Buzzer using Alexa
- 15.4 Summary
- Chapter 16 †¢ Accessing Raspberry Pi Node-RED from anywhere
- 16.1 Overview
- 16.2 The ngrok
- 16.3 Starting Node-RED automatically at reboot time
- 16.4 Summary
- Chapter 17 †¢ Using Bluetooth with Node-RED
- 17.1 Overview
- 17.2 Project 75 – Controlling a LED and a buzzer using Bluetooth
- 17.3 Summary
- Chapter 18 †¢ Node-RED and MQTT
- 18.1 Overview
- 18.2 How MQTT works
- 18.3 The Mosquitto broker
- 18.4 Using MQTT in home automation and in IoT projects
- 18.5 Project 76 – Controlling a LED using MQTT
- 18.6 The ESP8266 processor
- 18.7 Project 77 – Flashing an LED using ESP8266 NodeMCU
- 18.8 Using the ESP8266 NodeMCU with MQTT
- 18.9 Project 78 – Controlling an LED using ESP8266 NodeMCU with MQTT – LED connected to Raspberry Pi
- 18.10 Project 79 – Controlling an LED using ESP8266 NodeMCU with MQTT – LED connected to ESP8266 NodeMCU
- 18.11 Summary
- Chapter 19 †¢ Using HTTP in Node-RED projects
- 19.1 Overview
- 19.2 Using HTTP GET
- 19.3 Web server
- 19.4 Project 80 – Controlling 4 Relays using web server
- 19.5 Summary
- Appendix A †¢ The function node
- A.1 Overview
- A.2 Variables
- A.3 Multiple outputs
- A.4 String manipulation
- A.5 Mathematical functions
- A.6 Number conversions and checking numbers
- A.7 Date
- A.8 Arrays
- A.9 Conditional statements
- A.10 Repetition (Loops)
- A.12 Examples
- Appendix B †¢ Flow programs used in the book
- A.1 Overview
- A.2 Using the flow programs
- Appendix C †¢ Components used in the book
- Index