The other day I was writing about 'RHQ-Metrics and Grafana' and was describing how you can incorporate data from other system management agents.
Fast forward a bit and Raider is now called Twix and RHQ-Metrics has morphed to Hawkular-Metrics under the Hawkular.org umbrella.
Recently I have also been playing with Arduino and Co. and got myself also an Adafruit Huzzah ESP8266 board. This is a breakout board with the ESP8266 microprocessor on, that has a bunch of IO pins and built-in WiFi. With the default firmware it is programmed in Lua.
Huzzah on breakout board
While one can program the ESP from the Arduino IDE, I thought to give Lua a try (also to get a feel for the difference to the WiPy, that also comes with Python as a high level language). What is nice with the ESP and the NodeMCU firmware is that it already comes with support for networking, 1-wire, MQTT and more out of the box.
To get started I took the hello-world of IoT-sensors and hooked up a DS18B20 OneWire thermo sensor (for those old enough, I did that in the past with RHQ) up to the ESP and then have this communicate to a MQTT Broker (mosquitto).
As said before we have with Ptrans a universal protocol translator that can be used to feed data from collected, ganglia and others into Hawkular-Metrics. I've taken that and added support for MQTT (in my personal repo for now). Ptrans will now connect to a broker and listen on the '/hawkular/metrics' topic for data that needs to be in graphite format like
path value [timestamp_in_s]
The timestamp is optional, as in my case I was not able to get any real time clock data from the micro controller (there seem to be variants that have a clock on board).
To see the data that is coming from the device I can just run
$ mosquitto_sub -t /hawkular/+ 16617927:188.8.131.52.184.108.40.206 24.625 16617927:220.127.116.11.18.104.22.168 23.9375 16617927:22.214.171.124.126.96.36.199 23.8750
So here NodMCU with ID
16617927 and thermo sensor
188.8.131.52.184.108.40.206 is reporting around 24 deg Celsius.
I will post more on the topic in a laster posting.