From f54375fa0958c3a79baf1444ee00161a7e6e0d6c Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Wed, 13 Jun 2018 23:46:46 +0200 Subject: wip --- slides/TODO.md | 16 ++++++++++++++++ slides/connected-arduino-slides.pdf | Bin 293025 -> 293791 bytes slides/connected-arduino-text.pdf | Bin 64793 -> 298798 bytes slides/connected-arduino.md | 37 +++++++++++++++++++++++++++++++++--- slides/toc.md | 7 ++++--- 5 files changed, 54 insertions(+), 6 deletions(-) (limited to 'slides') diff --git a/slides/TODO.md b/slides/TODO.md index 7d053b9..5b84672 100644 --- a/slides/TODO.md +++ b/slides/TODO.md @@ -4,4 +4,20 @@ Slide: *Device and application architecture with MQTT* Illustrates that everyone connects to the broker, but messages can be pushed. Contrast to HTTP. +Slide: *MQTT on Arduino* +* flytt callback til egen slide. +* legg til Serial.println("connecting"); og Serial.println("connected"); +* sett mqtt_server = "trygvis.io"; +ditto på neste slide + +* vis client_id + * Assignments: D0 is the pin to use. + + +MQTT +* fix switch orientation +* husk å gjøre preparations +* screen shot av library manager og installering av PubSubClient + +* vis hvordan man formaterer stringer., clientId og subscription patterns. diff --git a/slides/connected-arduino-slides.pdf b/slides/connected-arduino-slides.pdf index 83e8750..cc258eb 100644 Binary files a/slides/connected-arduino-slides.pdf and b/slides/connected-arduino-slides.pdf differ diff --git a/slides/connected-arduino-text.pdf b/slides/connected-arduino-text.pdf index e5088b9..6882209 100644 Binary files a/slides/connected-arduino-text.pdf and b/slides/connected-arduino-text.pdf differ diff --git a/slides/connected-arduino.md b/slides/connected-arduino.md index 79ba123..16f93d4 100644 --- a/slides/connected-arduino.md +++ b/slides/connected-arduino.md @@ -126,6 +126,27 @@ class { ESP.restart(); ~~~ +## ESP + +~~~c++ +// Top of file +#include + +// In setup() +WiFi.mode(WIFI_STA); +WiFi.begin(ssid, password); + +while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); +} + +Serial.println(""); +Serial.println("WiFi connected"); +Serial.println("IP address: "); +Serial.println(WiFi.localIP()); +~~~ + ## ESP Arduino APIs ~~~c++ @@ -447,6 +468,8 @@ Broker PubSubClient is our MQTT client implementation. ~~~c++ +#include + WiFiClient wifiClient; PubSubClient mqtt(wifiClient); @@ -465,16 +488,24 @@ void setup() { ~~~c++ void loop() { - if (!mqtt.connected()) + if (!mqtt.connected()) { reconnect(); - else + } + else { mqtt.loop(); + } + // Do work } void reconnect() { - while (!mqtt.connect(client_id)); + do { + Serial.println("Connecting to MQTT"); + delay(1000); + } while (!mqtt.connect(client_id)); + Serial.println("Connected to MQTT server"); + // Subscribe to any topics you need mqtt.subscribe(topic_pattern); } ~~~ diff --git a/slides/toc.md b/slides/toc.md index 6e54e03..227f00a 100644 --- a/slides/toc.md +++ b/slides/toc.md @@ -8,6 +8,8 @@ * Arduino file structure * Generic Arduino APIs * ESP Arduino APIs + * ESP +#include * ESP Arduino APIs * What is IoT * What is IoT @@ -19,16 +21,15 @@ * Lecture: MQTT * MQTT * Device and application architecture with MQTT + * MQTT Topic * MQTT - Implementations * MQTT Cloud Connectors * MQTT - The protocol - * MQTT - The protocol - MQTT Packet - * MQTT Connect * MQTT - The protocol - MQTT Topic * MQTT - The protocol - Retained message * MQTT - The protocol - Will message - * MQTT Topic * MQTT on Arduino +#include * MQTT on Arduino * Assignment * MQTT topic architecture -- cgit v1.2.3