m2ag-thing-builder alpha 6

January 23, 2021

The m2ag.labs thing builder has reached alpha 6. The jump in the number from 3 to 6 is because of some fast rework for the client, thing builder and modules. The installer currently installs functional code and several modules are available for download and use. This will be the last alpha before beta 1.

The biggest changes are:


  • The custom web components I had built for use on the config page ( service controllers and component map) have been replaced with vue.js components. Custom components are too hard to maintain, so vue is the way to go.
  • Even though vue.js is being used, there are still no build steps needed to modify the the client. The vue components that were created are for interfacing with the back end flask api, and not geared towards using with things.
  • Where ever possible jquery has been eliminated and vanilla javascript used. Bootstrap 4 and the jstree component still require jquery so it is still included. The goal is to completely eliminate jquery by transitioning to bootstrap 5 and a vue js version of jstree.

Thing Builder:

  • JWT authentication for thing access
  • generic classes for i2c devices and things
  • nginx to serve api, client and proxy other services (for example: provide internal ssl for the webthings gateway and use of pagekite).


  • Has been updated to install the current code. Text on Raspbian Full and Lite with the latest updates. Tested on a Raspberry PI 3 B+ but should work without issue on all current Raspberry PI (previous versions of framework are running on Pi Zeros and PI 3 A).
  • Extras installers for Node (arm7 only for now) and a lite version of the Webthings.io gateway.
  • Not all extras are ready, check the README.md for each one


Several things and related components are available for download and use now. These include:

  • airnow – a thing that monitors air quality. An airnow api key is required
  • alert – a method of sounding a buzzer
  • bmp280 – a wrapper for adafruit’s circuitpython driver
  • buttons – an example for using buttons and events
  • htu21d – a wrapper for adafruit’s circuitpython driver
  • lis3dh – a wrapper for adafruit’s circuitpython driver that overrides the the generic i2c wrapper class to return x, y, z acceleration
  • raspi – a system monitor for Raspberry pi
  • veml7700 – a wrapper for adafruit’s circuitpython driver

Check the README.md of each module.

Documentation and how to guides are the immediate focus, as well as adding more things.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.