RICM4 2017 2018 - Serre Connectee

From air
Jump to navigation Jump to search

Project presentation

Sky view of the exploitation (© Google Maps)

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)


  • Supervisor: Nicolas Palix
  • Members: Guillaume.Besnard Timothée.Depriester


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 tuorial

  • 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 done

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