Skip to content

11.Networking and Communications.

week11image11

Networking and Networking deals with the exchange of data and information between the devices, systems or software over a network.It involves the transmission of data through various protocols and technologie which allow different devices to communicate with each other.Networking and communication happens either with Wired communication using cables and ethernet or with Wireless communication like Wi-Fi or Bluetooth.

You can find below that i have tried using Wireless communication network to transmit data to control my XIAO ESP32 C3 microcontroller board to actuate the mini speaker with DF Player mini.

Assignments for week 11:

1. Group Assignment

  • send a message between two projects.

2. Individual Assignment

  • design, build, and connect wired or wireless node(s) with network or bus addresses and local input &/or output device(s)

1. Group Assignment.

Our group Assignment link is here

Learnings outcomes from the group assignment:

To meet the requirement of this assignment, we had used XIAO RP2040 and XIAO SAMD21 microcontrollers which were fabricated with PCB by individuals during electronic design and production weeks.XIAO RP2040 MCU with board was our controller board(Master) and XIAO SAMD21 MMCU board was as peripheral board(Slave), using I2C connections to communcate between them.

While running both codes, The master code program helped to type a messaage message into serial monitor which sent the message to an I2C Slave at the set address.The Slave board will respond to the message transmitted, letting the LED and speaker to play audio for a second.There was time delay of 3 seconds to sent message from Master to Slave.

2. Individual Assignment.

Before i go on with the assignment, it was important to understand about Node, Network or Bus.

Node - refers to a device that has ability to send or receive data or communicate or interact with other devices in a network.

Network or Bus - the method by which the nodes communicate.Example of network is Wi-Fi/bluetooth and I2C as Bus system.

This assignment consists of designing nodes from week6 and building nodes which I fabricated during week8, using mini submersible water pump with 3V relay module and wireless communication Wi-Fi.I will be using Arduino IDE to run the program and Bylnk IoT platform in mobile as well as website to interface.

Components Required for my assignment:

  1. XIAO ESP32-C3 as microcontroller as it has facility to communicate via Bluetooth/wireless.

Seeed Studio XIAO ESP32C3 is an IoT mini development board based on the Espressif ESP32-C3 WiFi/Bluetooth dual-mode chip, featuring a 32-bit RISC-V CPU that delivers powerful computing performance with its efficient architecture. It supports WiFi, and Bluetooth 5 (BLE) protocols.It consists of an external antenna to increase the signal strength for wireless applications.It is equipped 11 digital I/O pins and supports four serial interfaces such as UART, I2C and SPI.It also contain a small reset button and a bootloader mode button on the board.

This microcontroller is positioned as a high-performance, low-power, cost-effective IoT mini development board, suitable for low-power IoT applications and wireless wearable applications.

week11image1 This is my reference source about XIAO ESP32-C3.

Workflow of the assignment.

  1. Wiring the components that are listed above.
  2. Setting the Blynk IoT mobile app to monitor the program.
  3. Programming the ESP32-C3
  4. Testing the system using Blynk IoT from phone.

The Detailed workflow:

1. Wiring the components.

3. Programming the ESP32-C3

My Learning outcomes from this individual assignment.

This assignment helped me understand the use of Wi-Fi to communicate and monitor the program of Arduino IDE by using the Blynk IoT platform which is user friendly from phone.

Disclaimer : I have used the code from my friend Tshering Dorji.However, i tried to change pins and some minor changes as per my fabricated board.

Files.

Here is the code i used for this assignment in Arduino IDE