Simple IoT Releases

Added

  • display device last update time
  • display time since last update

Has been a busy week, so not a lot new in SIOT land. Did add display of when the device last communicated and the time since the last communication.

v0.0.8

Added

  • added env variable to specify Influx database SIOT_INFLUX_DB
  • added device ID tag to sample data stored in influx
  • add rules engine
  • add SMS notifications using Twilio

Changed

  • clean up documentation organization
  • moved influxDb operations to db package so they are common for all samples

v0.0.9

Finally merged the NATS integration development that has been ongoing for the past few weeks. Seems to be working out very well as it solves a lot of hard problems like:

  • efficient device communication
  • fast response when pushing data to device
  • authorization, encryption, and authentication
  • opens a lot of possibilities on the server for cleaner application architecture

I’m excited where this will take the project!

Also added a list of guiding principles to the README.md:

  1. Simple concepts are flexible and scale well.
  2. There are more problems to solve than people to solve them, thus it makes sense to collaborate on the common technology pieces.
  3. There are a lot of IoT applications that are not Google scale (10-1000 device range).
  4. There is significant opportunity in the long tail of IoT, which is our focus. This is not an “enterprise” platform.
  5. There is value in custom solutions (programming vs drag-n-drop).
  6. There is value in running our own platform.
  7. A single engineer should be able to build and deploy a custom IoT system.
  8. We don’t need to spend gobs of time on operations. For smaller deployments, we deploy one binary to a cloud server and we are done with operations. We don’t need 20 microservices when one monolith will work just fine.
  9. For many applications, a couple hours of down time is not the end of the world. Thus a single server that can be quickly rebuilt as needed is adequate.

Let me know what you think.

v0.0.9 release notes:

Added

  • NATS integration for device communication

Changed

  • documentation improvements
    • moved API documentation to simple Markdown
    • better organization
    • add list of guiding principles to the README

New in this release – we are now providing binaries with each release. Currently there is a build problem with Windows – after we get that fixed, will be providing Windows binaries as well.

[0.0.11] - 2020-09-09

Changed

  • switched data storage to
    points
    vs sensor data and config
  • add token auth for device HTTP communication
  • documentation improvements
  • added binary release files

[0.0.13] - 2020-11-03

  • backend:
    • switched data structure name from device → node – see
      this issue for dicussion
    • add page to message (currently SMS only) all users
    • UI simplification and cleanup
    • sort users on users page
    • port frontend to elm-spa.dev v5 (this really cleans up the frontend code and
      makes it more idomatic Elm)
    • changing backing store from bolthold to genji (this gives us the flexibility
      to use memory, bbolt, or badger backing stores as well as robust indexing)
    • fix bug with not support Point::Text field in Nats/Protobuf
    • fix up examples for sending device version info to portal
  • frontend:
    • only show version information if available
    • don’t display special points (description, version, etc) in general node
      points.
    • add -importDb command line option

Note, the database format has changed. To migrate, dump the database with the
old version of SIOT and them import with the new version.

This release fixes issues with building and running SIOT on 32-bit platforms.

Most recent develop is happening in the GitHub - simpleiot/simpleiot at feature-node-graph branch. Learning about rosetree data structures and how to manage a tree in the front-end. Simple/common data-structures continues to work out pretty well. For each node type, it is working nicely to create a stateless Elm component.

[0.0.15] - 2020-12-09

Implementation of tree based UI – see demo:

Modbus work is progressing nicely – soon SIOT will function as either a Modbus RTU server or client.

[0.0.16] - 2021-02-08

  • UI
    • expand child nodes and add default description when adding a new node
  • modbus improvements
    • send all writes to DB over NATS – this allows system to be more responsive,
      as well as simplifies code
    • lots of cleanup and error handling
1 Like

[0.0.17] - 2021-02-12

  • modbus
    • fix bug in setting modbus baud rate
    • include ID in modbus logging messages
    • support for read-only coils and holding regs
  • UI
    • add nodeCheckboxInput widget
    • round numbers in places
    • color digital values blue when ON
    • sort nodes by description
  • fix windows build

[0.0.18] - 2021-02-26

  • update go.bug.st/serial to support RiscV
  • update Genji dependencies

[0.0.19] - 2021-02-27

  • revert Genji update as there are problems saving nodes