Skip to content

rjl-kingswood-monitor/kwNodeKit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 

Repository files navigation

kwNodeKit

An Ardiuno library for rapidly building firmware for embedded sensor nodes.

Overview

kwNodeKit provides a library for wirelessly transmitting and receiving information between embedded sensors and concentrators. A node is a single device with one or more transports and zero or more sensors.

A sensor is a physical sensor e.g. a DHT22 temperature and humidity sensor, or a virtual sensor e.g. node battery voltage. A transport device is a wireless link e.g. LoRa.

A sensor node can be constructed from a transport and one or more sensors. A concentrator/bridge can be constructed from a LoRa and a wifi transport.

Transmission is efficient. Sensor data is encoded in Google's protobuf format. Transmission only occurs if data has changed ('Report By Exception').

kwNodeKit comes with drivers for the following physical sensors:

kwNodeKit provides drivers for the following virtual sensors:

  • MCU Battery voltage (for MCUs with battery support)
  • LoRa signal parameters RSSI, SNR, Frequency Error (for devices with LorA)
  • Wifi signal parameters RSSI (for devices with WiFi)
  • Dewpoint (for devices with temperature and relative humidity)

kwNodeKit provides the following transports:

  • LoRa (RF95, SX1276)
  • WiFi

New sensors and transports can be created by subclassing kwSensor and kwTransport and defining the relevant virtual methods. See the existing drivers for examples.

kwNodeKit has been tested on the following devices:

  • Adafruit 32u4 Feather RF95 'LoRa'
  • TTGO ESP32 SX1276 LoRa

Protobuf specification

The protobuf specification can be modified and recompiled to suit your own needs. See the readme.md in src/protobuf-packet/ for more information.

The code is provided as-is and without warranty under the MIT licence. I can be contacted at richlyon@mac.com.

Change log

19.05.20 v0.1.0

  • Initial release

15.09.20 v0.2.0

  • Code documentation :)
  • Added Interrupt Service Routine and handler based on FreeRTOS API

About

An Arduino library for building sensor nodes

Resources

Stars

Watchers

Forks

Packages

No packages published