Skip to main content

Tranche 2 Report

Introduction

The first tranche work was all about developing wireless sensor nodes. The focus was on getting the node hardware right according to our power and networking performance criteria. After we tested the wireless sensor nodes in trying conditions, it was time to move to step 2. The second tranche work was about connecting the wireless sensor networks to the outside world and opening up the data on the Internet so it can be accessed from anywhere. We created a solar powered router with two modems. One was sub Giga Hz modem to talk to local sensor network and the other modem was to send data to cloud server using a DATA SIM. We designed a gsm modem, wrote a robust gsm modem driver and developed firmware for the router. We also created the server software to collect and visualize this data.

Goals

  1. Low power battery operated sensor nodes interfacing with GSM gateway
  2. Demonstrate viewing sensor device data from anytime anywhere using a DATA SIM card
  3. Software for collecting and displaying data
  4. Start field deployment at Indian Institute of Horticulture research

Development

We wanted to make a gsm router that can work reliably in remote areas without human intervention. The quality of driver was important as we cannot expect any manual intervention in case of remote off-grid installations. The kind of installations we had in mind would not have any person nearby to flip any switch. The router should be able to recover from errors and keep retrying the network. The router is powered from solar and batteries should provide at least 7 days of backup power. The location would be outdoors so we need to work on weather proof packaging. Then we need firmware to network with local nodes and send data online.

Hardware

  1. Solar Powered router should not need bigger than 20W panels.
  2. Good Battery management system (BMS) for quick charging.
  3. Option to power from 12V DC supply if available.
  4. At least 7 days of battery backup for cloudy/rainy conditions
  5. Multiple communication ports, both gsm and xbee modems are required

We went with choice of Telit GL865 module. Telit team provided excellent support throughtout the development phase. The battery management is done using Linear LTC3625 IC. For the processor we used the ATMEGA1284P chip (same as in node). We had a long discussion around if we should be using a linux supported board for the router. The argument had both pros and cons. The pros were ,

  • Bigger processing capacity
  • Access to high level language environment and tools.
  • Higher serial throughput for loading more nodes per router
  • Out of the box support for 4G hardware

The cons were

  • Power and reliability issues. Our environment was off-grid and power budget was limited
  • Customizing hardware and kernel would be harder than simple MCU

We decided to go with ATMEGA1284P in router to save time and utilize the experience gained from Tranche-I work. This meant limiting the number of nodes that can be paired to a router. On the positive side, that meant extremely reliable design and very low power needs. During our experiments, we regularly ran the router for 7 days on a single charge.

wsn_node

Firmware

  1. Data protocol that can handle various combinations of sensors without hardcoding a catalogue
  2. Propagate sensor errors to the server
  3. Network retries with exponential backoff

The firmware is written in C/C++ on the bare metal. The chip has 16KB (Yes, kilo bytes!!) of RAM and 256KB of flash for program storage. It does not look like a lot in todays world but you can fit two modem drivers, sensor drivers and a 1200 line main program easily. The nodes send data as PLV (parameter-length-value) packets, where each communication from node is about 80 bytes including frames required for networking stack . The router UART receives the PLV packet and converts it into a text protocol buffer and keepts it against the node mac address.

A timer runs every 6 minutes and communicates the nodes data using gsm modem driver. The connection is keep-alive for flushing multiple nodes data during each transmission. The router can flag sensor errors as well as missing nodes. The nodes are low throughput (10kbps) Sub-GigaHz long range radios and one router can interface upto 16 nodes. Though most practical data was limited to maximum 8 nodes in a star topology.

Cloud software

  1. Basic device management
  2. parser for data protocol
  3. Storage of data in RDBMS and time series database
  4. GUI for displaying data

We developed basic device management and storage server software to collect data from solar router and display on a GUI.

Deployment

We installed the devices to collect climate data and make it easy to share with growers at following locations

  1. Karnataka Wine Board – We have installed a network of battery operated low power wireless sensors at one of Karnataka wine board site (SOMA Vineyards). We are collecting Temperature and humidity data using solar router in real time. This data would be used to predict the onset of downey mildew in grape during Tranche-III work.
  2. Indian Institute of Horticulture Reasearch (IIHR) is using Yuktix battery powered wireless sensor nodes to collect Temperature and humidity information from a dragon fruit greenhouse chambers growing different seedlings.
wsn_node

Dashboard for data visualization

This tranche work also involved writing a server software to manage devices and display data on a simple GUI. To this end, server software was developed to do

  • Device management. Allow administrators to create devices with meta data and unique serial numbers
  • User management and account based access
  • Data storage in an RDBMS and time series database (Influxdb)
  • GUI to display raw and aggregated daily and weekly data
wsn_node_at_itc