For the first semester of the fourth year of our engineering school, we choose to work on a agriculture monitoring system. It has to measure some relevant value for the plant growth. The device must be autonomous in energy and use a LPWAN protocol.
Step 1: Step 1 : the Components of AGRI-2-EYE
- Outside Humidity : DHT22
- Outside Temperature : SMT172
- Ground Humidity : SKU SEN0 193 https://wiki.dfrobot.com/Capacitive_Soil_Moisture...
- Ground Temperature : Grove 1019919
- RGB : Grove TCS34725 http://wiki.seeedstudio.com/Grove-I2C_Color_Sensor/
- Light intensity : Grove 101020076 http://wiki.seeedstudio.com/Grove-Luminance_Sensor...
LPWAN Communication :
Solar Panel 6V - 2W
Screen display :
Step 2: Step 2 : Agri-2-EYE Prototype
Step 3: Step 3 : Project Schematics
For the project we need 3 PCB :
- a power supplier PCB
- an interfacing PCB
- an outside sensor PCB
Step 4: Step 4 : Mbed Development
The Arm Mbed IoT Device Platform provides for users an online platform easy to use for Mbed compatible hardware. It allow access of huge amount of library. The Mbed community develops library, gives access to exemple software for compatible device and helps users for their issues.
How does Mbed Platform work?
- The first step is to go to the Mbed website : https://www.mbed.com/en/
- Create an account
- Go to compiler menu and chose your device : STM32L432KC (our microcontroler)
- Create a project
- Import useful library ex : DHT library
- Start the program
- Compile the code
- Export to the device with the micro-usb port connect between the PC and the STM32L432KC
Pay attention to the pin map to correspond with the schematics.
Step 5: Step 5 : Sigfox Configurations
For the LPWAN Protocol we choose a Sigfox Module. Sigfox protocol is really useful for IoT application because is communication not consume a lot of energy, and it also can send data in long range of distance. It communicates with the backend of Sigfox. In this project the module help to transmit data to the IoT platform.
You need to connect the module with the CPU (Like in the picture 2).
To send data you have to use AT command format. For exemple :
AT send OK,
AT$T? return the temperature value.
We use this format to send each sensor values.
Step 6: Step 6 : Agri-2-EYE Codes
We develop an cpp code based a sensor library. In the main you can find all code you need to understand how we configure the screen display, the transmission...
In the picture you can see how we send the sensor value.
Step 7: Step 7 : Ubidots Cloud Platform
The product owner choose Ubidots as a data storage platform. To use it you have to follow step by step the process.
- Go to https://ubidots.com/ and create an account
- Select the device and create a new device with a click on the "+"
- Choose a label and name
- Configure the token to be connect with Sigfox backend
- In the dashboard add all widget you need
- Select add variable and choose the devise you created.