Close

13. Summary and Report Updated

A project log for Environmental Toolkit for an Ecological Area

LoRaWAN IoT system with the Arduino MKR WAN 1300, that help my community to monitor the air quality and water of our ecological area

Guillermo Perez GuillenGuillermo Perez Guillen 10/05/2022 at 02:270 Comments

Summary

Below, I show you the project wrap-up and lessons learned of this cost-effective solution: 

Getting Started

Here I describe the technical characteristics of the Arduino MKR WAN 1300 board, the installation of the board in the Arduino IDE application, as well as the firmware update. Finally we test the Blink.ino demo code to check if the boards are working fine.

Communication Between Two MKR WAN 1300

Here we start with the most basic, which is the point-to-point communication between two Arduino MKR boards. The transmitter sends data from the Waterproof DS18B20 sensor, and every time the receiver receives data, an LED on the board flashes and the serial port shows us the temperature of the sensor.

LoRaWAN System Range Testing

The next test is to check the link quality between the transmitter and receiver. So I make a comparison between different RF antennas, and finally the ones that showed the best performance are the manufacturer's dipole antennas. It is important to take care of this detail to avoid bad RF communication or corrupt messages.

Assembling the Transmitter

It’s time to assemble the transmitter module and add a LCD display to it. Here I have used the case and the Grove-LCD RGB Backlight, and the assembly steps can be found in this tutorial.

Assembling the Receiver, and LoRaWAN´s Field Test with a DS18B20 Sensor

I have also added the steps to assemble the receiver module with a 20x4 LCD display in this section as shown in the image below. Once we have assembled the LoRaWAN transmitter and receiver modules, its time to test them in the field. As a preliminary test, I did hardware and software verification before going out to the field.

Adding Multiple Sensors: DS18B20, DHT22 and MQ-135

We still continue with the point-to-point links between two Arduino MKR WAN boards, but this time we will do it with multiple sensors. I have added the DHT22 humidity sensors and the MQ-135 air quality sensor to the transmitter module. Here I have used a method to join the data using the comma character.

Modifying Receiver Code for Multiple Sensors, and LoRaWAN´s Field Test with Multiple Sensors

Here I show you how to modify the code of the receiving module to separate the data from multiple sensors and display them on the 20x4 LCD display. All by using code and the comma character to separate the data. Once we have assembled the LoRaWAN transmitter and receiver modules using multiple sensors, it´s time to test them in the field. Also, as a preliminary test, I did hardware and software verification before going out to the field.

How to Connect LoRaWAN to an IoT Provider through the Arduino NANO 33 IoT

In this section I show you a cheapt way to make an IoT connection with our Arduino MKR WAN 1300 boards. That is, through the Arduino NANO 33 IoT board. Here I show you the theoretical information and the reference that supports me.

LoRaWAN and IoT Connection

Here I show you the changes that must be made in hardware and software to achieve the connection to an IoT provider, and using a multiple sensors. I have modified the code of the receiver module to connect it to the Arduino NANO 33 IoT board taking into account the explanation that I showed you in the previous chapter. I also show you the code of the Arduino NANO 33 IoT board to connect to the ThingSpeak IoT provider, but you can do it with any other IoT provider. We have several options to monitor this data: a) on the display of the transmitter and receiver module, b) on the PC connecting to the ThinSpeak shared channel, and c) through the Android Application ThingView.

Testing LoRaWAN and IoT Connection

In the final chapter we can see the hardware and software verification tests, as well as the field tests. This was a good experience since I learned to improve the quality of the signal by placing the transmitter module in different trees until getting the best reception.

What next for this project?

The next challenge is to add more features as shown below:

As soon as I can I will publish the new version of my project. Thank you for taking time to read my project.

Discussions