Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Next step after using S-Soil MTEC-02B sensor in Milestone 2: Outdoor single sensor and saving telemetry data via Fledge software framework we will setup an are going to setup a framework where developers can add new sensors from scratch and build a new software stack to provide secure, private, zero-touch deployments to a subset of Edge Nodes (IoT devices).
RPi4 board will be used as Edge Node.

...

All components are open sourced and can be reconfigured and customised, interested parties may use any cloud infrastructure which support containerised servers deployments i.e. GCP, AWS, Azure, IBM Cloud, Alibaba Cloud, Digital Ocean, Oracle Cloud, VMware Cloud, Cisco Cloud.

In this case the containerised services software is deployed with Open Horizon to RPi4 board.
<Insert video here>
Image Added

Goals

  1. Build OS image with BSP distribution for Edge Node and save it to SD card. Insert SD card with BSP to RPi4 board and start controlling the board remotely.
    [~10 minutes]

  2. Run local Edge Server on developer workstation with all needed services for software development and zero touch deployment.
    [~3 minutes]
     
  3. Connect/solder S-Soil MTEC-02B with USB to RS485 converter and insert into RPi4 board.

  4. Build a custom stack for S-Soil MTEC-02B to extract realtime data - Total Dissolved Solids (TDS), Temperature, Salinity, Volumetric Water Content (VWC) with python script, send data to Edge Server with Telegraf.
    Deploy new stack remotely without touching the board to Edge Node (RPi4 board) from developer workstation.
    Edge Server will collect data
    in InfluxDB and telemetry data will be available to display Grafana dashboard.
    [~4 minutes]

  5. Update stack on developer workstation and redeploy stack into the Edge Node remotely.
    [~3 minutes]

...

  1. Raspberry Pi4 model B 4GB+ RAM 
  2. Industrial Soil Moisture & Temperature & EC Sensor MODBUS-RTU RS485 (S-Soil MTEC-02B)
  3. 16+ GB micro SD Card
  4. Power supply for Raspberry Pi 4
  5. SD card reader
  6. x64 (development workstation)
  7. USB to RS485 converter (or similar like USB-RS485-WE-1800-BT)

...

Here is a top view of ecosystem:

Image RemovedImage Added


Also with added AI services, Edge Node may act as distributed AI node with federated learning capabilities.

Here is how the system components are deployed and updated:

...

3. Update software stack on the Edge Node by building container images, uploading them to private registry server
(or public registry or available via DockerHubAmazon ECR, Google GCRMicrosoft ACR, etc.)

...

  1. Clone SmartAg-foundation repo. And change directory to tools.

  2. Build BSP image, write to SD card. Insert 16GB+ SD card in drive and run Edge Node

    sudo ./write_bsp_image example-edge-node


  3. Run Edge Server

    ./start_local_edgeserver 




  4. Solder sensor and USB converter (described in p.6 from Milestone 2: Outdoor single sensor)

  5. Create new example stack. By default new stack will contain a workable solution with telegraf and exec plugin for S-Soil MTEC-02B.

    ./create_stack ssoil-mtec-02b-single




  6. Insert sensor to USB port of Edge Node

  7. Build stack to get retrieve data (Total Dissolved Solids (TDS), Temperature, Volumetric Water Content (VWC)) from S-Soil MTEC-02B, deploy

    ./build_and_deploy ssoil-mtec-02b-single example-edge-node




  8. Open Grafana from Edge Server http://localhost:3000/, login, explore and display telemetry data
    Once InfluxDB data source needs to be configured as below:
    URL - http://influxdb:8086

    Database - telegraf

    User - user

    Password - password
    And press "Save and Test"



  9. Open Explore tab (http://localhost:3000/explore)
    You should see new measurement mtec-02b-sensor and fields for it (tds, temperature, vwc)
    Image Removed
    Image Added


    Image Added


  10. (Optional) Extend service with new logic to read soil salinity - check how to do it in this part of video https://youtu.be/mCqbzVYJyVs?t=1306
    Deploy and view new data on a dashboard (salinity should be available)