As part of their study on the development of plants with differents conditions, a team of student engineers in agri-food commissioned a device to retrieve various data useful for their study. Their project fits into a larger project that can be split into two axes:
- collect measures to observe the growth of plants under different greenhouse conditions
- possible effects of plants on the performance of solar panels
Needs and constraints related to the project
The design of this embedded and autonomous energy module measures different values of the environment and send the retrieved data. The customer is able to retrieve these data and monitor them on the screen. The measurements are:
- soil humidity
- soil temperature
- air humidity
- air temperature
- ambient light intensity as well as the RGB spectrum of light
These five measures fit into the influence on the plant's development.
The device will also provide the following features:
- solar charging
- communication via SigFox
Information about this project
This project has taken a semester to be achieved. With this tutorial, you will take about a week to build this system. The needed components are described above the context.
Build the moduleObjectives
This tutorial will help you to wiring all the components with the micro-controller STM32 NUCLEO-L432KC and program it in order to retrieve data from the sensors, convert the data to send by using Sigfox, display the data on the OLED screen and configure the sleep mode of the NUCLEO when the Sigfox module is not used.
• The wiring
How to wire all the components ?
We have used DesignSpark PCB to create our PCB. We have created our own library with our own components to build it.
Find the schematic of the PCB at the end of the document.
• The code
How to code the system ?
You can directly download or compile the program on Mbed:
https://os.mbed.com/users/certvert/code/MeringueCitron/docs/tip/
Mbed is a collaborative online programming software where you can code and compile your project.
All the codes are commented and explained. Find the explanations in the code.
The figure below is the finite state machine used in the system. We implemented the FSM in order to prevent the unwanted behavior of button and the systematic control of display (turning off/on and changing display) using the button.
• The housing
How to design the box ?
The box was designed with SolidWorks . We have decided to "sur-mesure" our enclosure in order to be more resistant et adapted to the use.
The enclosure was compose by two pieces : the base and the cover.
• Testing and validation
How to use the embedded system ?
All the data are sent thanks to Sigfox : a Low Power Wide Area Network.
These data are retrieved and exposed on a cloud : NodeRed via IBM Cloud, which is a graphical programming interface.
Here is the result of the NodeRed Dashboard :
• Option
You can turn off the module with an ON/OFF button on the side of the box.

















Comments