RICM4 2017 2018 - Serre Connectee
Project presentation
The project subject : Serres connectées.
The project consist of upgrading a classic greenhouse to retrieve live information about its climate. The farm exploitation is located in Saint-Cassien (38500), in the French Alps.
Data to retrieve :
- Air temperature
- Air moisture
- Soil moisture
Control of these parameters are essentials to avoid disease, enhance the growth of the plantations and limit water consumption.
Two main constrains :
- No power in the zone
- Sensors needs to be moveable to let vehicles move along the greenhouse
(Presentation from last year)
Team
- Supervisor: Nicolas Palix
- Members: Guillaume.Besnard Timothée.Depriester
- Department: RICM 4, Polytech Grenoble
Calendar
The project started on January 22th, 2018
User Guide
- How to restart the docker if necessary :
- Connect with ssh to the raspberry ( user: pi password : pi)
- Execute these commands :
- $ cd docker-fullstack-JDC
- $ docker-compose down
- $ docker-compose up -d
- Installation for the demo:
- Follow this tutorial :
/!\ Use https://gricad-gitlab.univ-grenoble-alpes.fr/Projet-RICM4/17-18/11/serres-jdc/tree/master/docker-fullstack-jdc instead of the link provided in the tutorial
- Optional (to rename your raspberry name and address) ->
$ sudo vim /etc/hostname and $ sudo vim /etc/hosts $ sudo apt-get install avahi-daemon Finally, reboot the raspberry.
You're all set
Week 1 - 22/01/2018
- Getting to know the nucleo card :
- We tried online mbed compilation tools
- We manage to cross-compile locally on Arch Linux and deploy on the card
- We transmitted data betwteen two LoRa card using peer to peer transmission
- Using the Lora module OVER the nucleo extension card is not currently working.
- Zenkit agenda created
Week 2 - 29/01/2018
- Contacting the IESE group
- More in depth understanding of the project objectives
- Begin the docker documentation reading
- Store and display data specification
- InfluxDB
- Graphana
Week 3 - 05/02/2018
- Git Repository creation
- Added our Zenkit backlog to the wiki
- Testing Pico Lora Gateway
- Flashed the gateway (the software was outdated, leading to an error)
- Configuration tuning to match the "Ping Pong" test software.
- Testing the gateway with the logger utility
- Forwarding the packet with the picoGW_packet_forwarder
- Successfully retrieved a "Ping" (conversion base64 to ASCII)
- Only work when sending a great amount of packet: lot of loss ?
Week 4 - 12/02/2018
- Spent lot of time on the gateway
- Huge amount of packets were lost beforehand
- PacketForwarder configuration file and source modification to have coherent frequency, spectrum ...
- All packets can now be forwarded to a UDP server (local in our case)
- Started to have a look on Node-RED
- We received JSon from the gateway
- We are able to decode the base64 payload
- SRS and UML added to the wiki
Week 5 - 5/03/2018
- Started to work on automatisation with Docker
- Using DOcker Compose
- Optimization of container with special image for compilation
- External sensor is now working and sending data
- Searching for appropriate library
- Plugged into the numerical pin on the lora board
- Demo preparation for the JPO
- Simple POC (still not encoded properly)
- Using a Raspberry Pi
- Result displayed on Graphana (temperature & humidity)
Week 6 - 12/03/2018
Finalize demo for JPO
- Grafana configuration
- Change mbed code formatting / code cleaned up for different sensors
- Docker image with all configuration generated
Week 7 - 19/03/2018
- Test gateway reliability : losing 1/5 packets
- Test docker image on Armv6 and x86
- Test with different time interval
- Test with different power dBm
- We didn't manage to identify the problem
- Radio configuration ?
- Wave interference ?
- Searching for documentation about eeprom flashing
- successfull read and write on the eeprom
- started thinking about the protocol of pre-configuration
Week 8 - 26/03/2018
Preparation for on site integration
- Creation of a new docker image with everything built for arm (grafana on the pi)
- Test and installation of Avahi (Zeroconf) for static local domain name for the pi.
- Protocol modification to have greenhouse id in the payload : end up in one graph output per card.
Week 9 - 26/03/2018
- New sensors integration
- IESSE' code adaptation for the demo
- On site demo at jdc