Week 1

Objectives:

  • Create a system to collect sensor data from two microcontrollers: Arduino Nano 33 IoT and ESP32.
  • Use HTTP to send data from Arduino Nano 33 IoT to the Node.js server.
  • Use TCP sockets to transmit data from the ESP32 to the same Node.js server.
  • The Node.js server will save the data from both devices into an SQLite database.
  • Implement real-time data visualization with Chart.js on the server.
  • Set up an API endpoint to provide access to the data in JSON format.
  • By the lab's end, gain an understanding of:
    • IoT device communication with servers.
    • Database management for storing sensor data.
    • Real-time visualization techniques for IoT data.
    • The differences and applications of HTTP and TCP protocols within IoT projects.

 

Lab:

Lab 1: Real-time data collection and transmission with TCP and HTTP 

 

Week 2

Raspberry PI configuration: 

 

Week 3

Introduction to MQTT and WebSockets: 

 Node-RED tutorials:

InfluxDB guide:

Project