z
door Peter Martin /
@pe7er
Joomladay UK 2017 in London,
Saturday July 8th 2017
Peter Martin (@pe7er)
Lent (Nijmegen-Noord), Netherlands
www.db8.nl
Joomla support & development
Options Manager (paid)
(batch) Export / Import "Options" of Components, Plugins, Modules and Template Styles
Free version: Options Manager Lite
supports only Components
Organizes:
* Linux Usergroup Nijmegen
* Open Coffee Nijmegen
Joomla volunteer:
* Global Forum Moderator
* Joomla! Operations
Department Coordinator
* Mentor GSoC 2016 + 2017
* Joomla Bug Squad
* Pizza Bugs & Fun (in NL)
* former Joomla Community
Leadership Team (6 yr)
Questions preferably after the demo
Presentation: http://slides.db8.nl
IoT code: https://github.com/pe7er/db8iot
“The Internet of Things (IoT) is@pe7er (exactly 140 characters)
a network of devices that are connected to each other using TCP/IP
and communicate autonomously.
#IoT #JaB16”
Microcontroller
Wifi chip
ESP8266
- low-cost: £ 0.99 GPB (eBay)
- full TCP/IP stack
- connects to a Wi-Fi router
Problem 1: Communication:
Hayes-style "AT" (modem)
Input
Sensors
- temperature
- movement
- sound
- light
- touch / push button
- pressure
Output
Signals
- light (LED)
- switch (Relay)
- sound
- screen
No need for Arduino microcontroller
programme & flash chip on ESP!
- Software Development Kit (SDK)
- esp-open-sdk (GCC toolchain)
- NodeMCU + LUA scripts
- Arduino IDE + ESP8266WiFi library !
all 1-to-1 communication
all RESTFull
(need Webserver; can be heavy)
- messaging protocol
- publish/subscribe
- simple + lightweight
- layer on TCP/IP
(IBM) “MQ Telemetry Transport”
Official standard: ISO/IEC PRF 20922
WhatsApp Server = Broker (server)
WhatsApp Group = Topic
Member of Group = Subscriber
Post in Group = Publish to Topic
Access to MQTT Broker
- Username + Password
- X509 Client Certificate
(Public/Private Keys)
- OAuth 2.0
Control MQTT resources
- Allowed topics
- Allowed operation
(publish and/or subscribe)
- Allowed QoS
Secure communication
between client & broker
- Secure connection
Transport Layer Security (TLS)
MQTT over SSL / TLS
(using
Let’s Encrypt)
- Secure message
MQTT Payload Encryption
List of
publically-accessible
MQTT brokers
(for testing and prototyping)
Mosquitto
An Open Source MQTT v3.1/v3.1.1 Broker
MQTT.fx (Java)
for: Windows, Apple, Linux, Unix
MyMQTT
MQTT Client
MQTT Dashboard
Code editor: Arduino IDE v1.6.9
+ esp8266 v2.2.0 library installeren
to flash ESP board
to use MQTT + esp8266 in C++ code:
add libraries
PubSubClient + ESP8266WiFi
and add in C++ code::
// include MQTT library
#include <PubSubClient.h>
// include ESP8266
#include <ESP8266WiFi.h>
Python:
Mosquitto module
PHP:
bluerhinos/phpMQTT
I do not have sheets for the demo...
You had to be there!
There is a video available from this
Joomla World Conference 2016 presentation at
YouYube.
Or check out the
video from
JandBeyond 2016 (European Joomla conference).
Presentation:
http://slides.db8.nl
IoT code:
https://github.com/pe7er/db8iot
Peter Martin
e-mail: info at db8.nl
twitter: @pe7er
presentation: https://db8.nl