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

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

Ähnliche Titel

    Mehr von diesem Autor