We are 5 engineering students at Polytech Sorbonne studying Electronics and Computer Science for Embedded Systems.
We have created an autonomous device to monitor the environement in which crops grow for the agri-food students of our engineering school. The following paragraphs explain the main aspect of our project.
How does it work?The microcontroler measures the meaningful values (air/soil temperature/humidity, brightness and light spectrum) of the crops' environment. The data are then displayed on the OLED screen and sent to the Sigfox backend where there are parsed and finally sent to Ubidots in order to display them in a dashboard.
The device is powered by a 3.7V battery which is charged by a solar panel. So, the system is completely autonomous in energy.
Here, some steps of our project.
1) The Sigfox callback set-upThe Sigfox backend receives a thread of bytes corresponding to the measured data. Each data follows the previous one, therefore it is necessary to parse them.
In the custom payload configuration section, we indicate which byte corresponds to which variable sent by the microcontroler. For instance, the 8 first bits match the air temperature, the 8 following are the air humidity etc...
Once done, the variables are sent to the corresponding Ubidots account with the URL pattern of our Sigfox device.
2) UbidotsHere is a view of our Ubidots dashboard.
You can find a chart showing the evolutions of the crops' environment for a quick overview or a table with the exact values of the data for more accuracy.
For additional work with the data, you can send yourself or others the measured values via email with the.csv format. Therefore, it is possible to compute the data in other ways that Ubidots does not.
To set your Ubidots' account up, you can find a tutorial on how to do it here : https://help.ubidots.com/user-guides/ubidots-basics-devices-variables-dashboards-and-alerts
3) The PCB CardWe implemented two PCB boards using the Software Eagle,one for the sensors and the other for the power supply.
For the sensor PCB board, we first tested it on the labdec whether the system can work properly to ensure the correct circuit. After the circuit diagram is determined, we looked for related components in the library. For components that are not in the library, we added the originals to the library according to the data table and completed the package.
For the final completion of the PCB, we optimized the layout and changed the pins of the component several times. Of course, every optimization must be accompanied by the Labdec test. This is a long but cautious process, and finally our PCB works normally.
It is worth mentioning that the last version added a triode and a screen switch to control energy consumption compared to the first version of the PCB.
For the power supply PCB board, based on the circuit of the lipo rider pro, we re-selected the device to optimize the energy consumption. Based on the data sheet of the selected device, we calculated and designed the appropriate circuit to complete the normal power supply of the system.
This part is about packaging our system. We have drawn and modelized our box with Solidworks which is a software that allows you to develop 3D CAD design.
The box is made to be the smallest according with the needed room and all the system can fit inside. You can find the Solidworks file of our box in the attachment.
5) The codeWe used Mbed to develop our project, a collaborative online programming software. It's very easy to implement the code and very intuitive due to the numerous libraries it includes.
Every ten minutes we make measures of the different data and send them to the Sigfox backend. Simultaneaously, the data are displayed ont he OLED screen. This work was made thanks to libraries you can find on the Mbed platform.
You can find the code of this project in the attachment.
Comments
Please log in or sign up to comment.