Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Small Things for Monitoring
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Jan-Piet Mens
November 17, 2016
Technology
350
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Small Things for Monitoring
Jan-Piet Mens
November 17, 2016
More Decks by Jan-Piet Mens
See All by Jan-Piet Mens
Netbox DNS and a bit of Ansible for the GUUG in July 2026
jpmens
0
21
Let's talk about Ansible facts
jpmens
0
270
Introducing OwnTracks
jpmens
0
190
Introducing OwnTracks
jpmens
0
320
Zabbix Low-Level Discovery (LLD) from a C module
jpmens
0
360
MQTT for system administrators (and for the IoT)
jpmens
1
740
Ansible AWX
jpmens
2
1.6k
FLOSS DNS servers
jpmens
0
530
Home automation with openHAB: an Introduction
jpmens
0
740
Other Decks in Technology
See All in Technology
素人でもできた!AIを使った短編小説創作入門
delhi09
PRO
0
300
Content Mapper APIの応用例~CSS Modules、言語ファイル~
uhyo
2
550
OneLakeをデータソースにした AI Search(Foundry IQ)の ライフサイクル管理
ryuseiiida
0
220
re:Inventで、人生は変わったのか? / growth-builders-hub-1-reinvent-2026
mhrtech
2
310
Jev の中身は50行で再現できる。でも本物との差はどこにあるのか
hisuzuya
0
300
20261031_IoTLT_vol140_kitazaki_v1.pdf
kitazaki
0
170
複雑な業務システムを高速でつくるため、チーム全員をつくれる人へ
ayakurabuchi
0
130
これだけは抑えておきたい!後悔しない re:Invent の過ごし方 / AWS re:Invent 2026 prestudy
kinunori
2
690
AI秘書と毎日働くのはもう当たり前。開発以外の業務に足りない機能をどう埋める?
minorun365
PRO
4
2.2k
IoTとは〜? 数字で見るSORACOM UG【SORACOM UG Explorer 2026】
soracom
PRO
0
170
SLOを阻む不安
sraku2159
0
220
攻撃 3 時間 vs 復旧 10 時間。アクセスキー流出の非対称性を体感するために CTF を作った話
kazzpapa3
1
140
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
280
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
The Curious Case for Waylosing
cassininazir
1
600
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.4k
Exploring anti-patterns in Rails
aemeredith
4
560
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
23k
A designer walks into a library…
pauljervisheath
211
25k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
300
Transcript
Small Things for Monitoring Jan-Piet Mens November 2016 @jpmens
@jpmens: consultant, part- time admin, small-scale fiddler, loves DNS, plain
text, and things that work. Dreamed up OwnTracks & wrote jo
Today’s special MQTT ESP8266 for monitoring stuff
MQTT is a standard, a transport, PUB/SUB messaging, designed for
unreliable networks MQTT
security TLS authentication ACLs TLS-PSK (payload encryption)
Quality of Service 0 At most once 1 Assured delivery
2 Once only
topic names UTF-8, hierarchical, wildcards temperature/room/living devices/# finance/+/eur/rate
PUB/SUB cauldron
MQTT brokers the server bit of MQTT
Mosquitto C, fast, lightweight, ACLs (plugin), TLS, TLS-PSK, bridge, Websockets,
logging via $SYS, FLOSS http://mosquitto.org
bridging
CLI utilities mosquitto_sub -v [-h localhost] [-p 1883] [--cafile file]
[--cert file --key file] [-u username [-P password]] -t 'topic/#' subscribe publish mosquitto_pub ... [-r] -t topic -m payload
languages Lua, Python, C, JavaScript, Perl, Ruby, Java, ...
Python API: PUB #!/usr/bin/env python import paho.mqtt.publish as mqtt mqtt.single('conf/hello',
'Hello MQTT') $ mosquitto_sub -h localhost -v -t 'conf/#' conf/hello Hello MQTT payload topic
Python API: SUB callbacks #!/usr/bin/env python import paho.mqtt.client as paho
def on_connect(mosq, userdata, rc): mqttc.subscribe("conf/+", 0) def on_message(mosq, userdata, msg): print "%s %s" % (msg.topic, str(msg.payload)) mqttc = paho.Client(userdata=None) mqttc.on_connect = on_connect mqttc.on_message = on_message mqttc.connect("localhost", 1883, 60) mqttc.loop_forever()
Python API: SUB $ mosquitto_pub -t 'conf/thirsty' -m 'Beertime?' $
mosquitto_pub -t 'conf/catering' -m 'Coffee is ready' $ ./sub.py conf/thirsty Beertime? conf/catering Coffee is ready
The hardware … EUR 22.83 Flash/RAM 16 / 64 USB
2 LAN/WAN 1 / 1 WiFi 802.11 b/g/n GL-Inet AR150
Small, but too much EUR 50 - 100
ESP8266 Low-cost micro controller full TCP/IP stack A bit like
an Arduino (same IDE, or Lua) but with on-board WiFi (!) and really inexpensive Different form factors
ESP8266 EUR 1.50 ESP-01 EUR 2.60 NodeMCU EUR 1.50 ESP-12
Electrodragon EUR 5.50 http://www.electrodragon.com
Sonoff EUR 4.47 https://www.itead.cc/sonoff-wifi-wireless-switch.html
Wemos D1 mini EUR 4.00 Flash/RAM 4MB / 64 KB
Voltage 3.3V Digital I/O 11 Analog 1
Wemos shields EUR 1.95 EUR 4.50 EUR 1.40 EUR 2.90
Homie-ESP8266 #include <Homie.h> HomieNode buttonNode("button", "button"); void loopHandler() { int
buttonValue = debouncer.read(); /* ... */ if (Homie.setNodeProperty(buttonNode, "open", buttonValue ? "true" : "false", true)) { } } void setup() { debouncer.attach(PIN_BUTTON); Homie.setFirmware("button-homie", "1.0.0"); Homie.registerNode(buttonNode); Homie.setLoopFunction(loopHandler); Homie.setup(); } void loop() { Homie.loop(); debouncer.update(); } https://github.com/marvinroger/homie-esp8266
Arduino IDE
Le bouton devices/cea191e0/$nodes button:button devices/cea191e0/$online true devices/cea191e0/$name Le bouton devices/cea191e0/$localip
192.168.8.151 devices/cea191e0/$fwname button-homie devices/cea191e0/$fwversion 1.0.0 devices/cea191e0/$signal 100 devices/cea191e0/button/open true
homie-ota https://github.com/jpmens/homie-ota Retro/Vintage-style
Monitoring Temperature, movement (PIR), humidity, inexpensive sensors, many examples, LWT,
mqttwarn for integration, Node-Red
alerting: mqttwarn https://github.com/jpmens/mqttwarn
practical solutions alerting, metering, logging, location awareness, tracking, automation, and
controlling, host monitoring
MQTT in the wild Graylog, beaver, Ansible, RabbitMQ, collectd, openHAB,
Github, Wireshark, Flukso, RemakeElectric, Jenkins, Diamond, OwnTracks
mqtt.org @mqttorg
Particle Photon EUR 19.00
Particle Electron EUR 70.00
Omega2