aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2018-04-27 01:08:37 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2018-04-27 01:08:37 +0200
commitc0d3e968f8ec64a6d43591b87d57bb5112764aa0 (patch)
tree2e2bee9d3520ce1317ccfb21b899c2011440820b
parent284a60cf65523b3a868a58cf2edc97d190a95608 (diff)
downloadiot-workshop-ndc-2018-c0d3e968f8ec64a6d43591b87d57bb5112764aa0.tar.gz
iot-workshop-ndc-2018-c0d3e968f8ec64a6d43591b87d57bb5112764aa0.tar.bz2
iot-workshop-ndc-2018-c0d3e968f8ec64a6d43591b87d57bb5112764aa0.tar.xz
iot-workshop-ndc-2018-c0d3e968f8ec64a6d43591b87d57bb5112764aa0.zip
wip
-rw-r--r--slides/images/mqtt-example-architecture.pgf2
-rw-r--r--slides/images/mqtt-example-architecture2.pgf27
-rw-r--r--slides/what-is-iot-slides.pdfbin308648 -> 311046 bytes
-rw-r--r--slides/what-is-iot-slides.tex175
-rw-r--r--slides/what-is-iot.md50
5 files changed, 194 insertions, 60 deletions
diff --git a/slides/images/mqtt-example-architecture.pgf b/slides/images/mqtt-example-architecture.pgf
index b36827c..240b06b 100644
--- a/slides/images/mqtt-example-architecture.pgf
+++ b/slides/images/mqtt-example-architecture.pgf
@@ -12,8 +12,8 @@
\node (c1)[draw, circle, fit=(c1_label)] {};
\node (c2)[draw, circle, fit=(c2_label)] {};
\node (c3)[draw, circle, fit=(c3_label)] {};
-\node (central)[draw, circle, fit=(central_label)] {};
\node (broker)[draw, rectangle, thick, inner ysep=5 mm, inner xsep=10 mm, fit=(broker_label)] {};
+\node (central) at (central_label) [draw, circle, text width=2 cm] {};
\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (c1) to [bend right] (broker);
\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (c2) -- (broker);
diff --git a/slides/images/mqtt-example-architecture2.pgf b/slides/images/mqtt-example-architecture2.pgf
new file mode 100644
index 0000000..c67d411
--- /dev/null
+++ b/slides/images/mqtt-example-architecture2.pgf
@@ -0,0 +1,27 @@
+\begin{tikzpicture}
+
+\path
+ (-3 cm, 0) node (c1_label) {Device \#1}
+ ( 0 cm, 0) node (c2_label) {Device \#2}
+ ( 3 cm, 0) node (c3_label) {Device \#3}
+
+ (0, -3 cm) node (broker_label) {Broker}
+
+ (-2 cm, -6 cm) node (agg_label) {Aggregator}
+ ( 2 cm, -6 cm) node (email_label) {Email}
+;
+
+\node (c1)[draw, circle, fit=(c1_label)] {};
+\node (c2)[draw, circle, fit=(c2_label)] {};
+\node (c3)[draw, circle, fit=(c3_label)] {};
+\node (broker)[draw, rectangle, thick, inner ysep=5 mm, inner xsep=10 mm, fit=(broker_label)] {};
+\node (agg) at (agg_label) [draw, circle, text width=2 cm] {};
+\node (email) at (email_label) [draw, circle, text width=2 cm] {};
+
+\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (c1) to [bend right] (broker);
+\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (c2) -- (broker);
+\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (c3) to [bend left] (broker);
+\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (agg) -- (broker);
+\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (email) -- (broker);
+
+\end{tikzpicture}
diff --git a/slides/what-is-iot-slides.pdf b/slides/what-is-iot-slides.pdf
index efee6d1..0787197 100644
--- a/slides/what-is-iot-slides.pdf
+++ b/slides/what-is-iot-slides.pdf
Binary files differ
diff --git a/slides/what-is-iot-slides.tex b/slides/what-is-iot-slides.tex
index 1e31381..0901294 100644
--- a/slides/what-is-iot-slides.tex
+++ b/slides/what-is-iot-slides.tex
@@ -815,6 +815,38 @@ Version 3.1.1 er den som gjelder, V 3.1 er rar, de andre finnes ikke
\end{frame}
+\begin{frame}{Device and application architecture with MQTT}
+\protect\hypertarget{device-and-application-architecture-with-mqtt}{}
+
+\begin{center}
+\begin{tikzpicture}
+
+\path
+ (-3 cm, 0) node (c1_label) {Device \#1}
+ ( 0 cm, 0) node (c2_label) {Device \#2}
+ ( 3 cm, 0) node (c3_label) {Device \#3}
+
+ (0, -3 cm) node (broker_label) {Broker}
+ (0, -6 cm) node (central_label) {Central}
+;
+
+\node (c1)[draw, circle, fit=(c1_label)] {};
+\node (c2)[draw, circle, fit=(c2_label)] {};
+\node (c3)[draw, circle, fit=(c3_label)] {};
+\node (broker)[draw, rectangle, thick, inner ysep=5 mm, inner xsep=10 mm, fit=(broker_label)] {};
+\node (central) at (central_label) [draw, circle, text width=2 cm] {};
+
+\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (c1) to [bend right] (broker);
+\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (c2) -- (broker);
+\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (c3) to [bend left] (broker);
+\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (central) -- (broker);
+
+\end{tikzpicture}
+
+\end{center}
+
+\end{frame}
+
\begin{frame}{MQTT - Implementations}
\protect\hypertarget{mqtt---implementations}{}
@@ -964,10 +996,40 @@ The size field is variable length encoded, 0-127 bytes is 1 byte,
\end{frame}
-\begin{frame}{MQTT - The protocol - Keep alive}
-\protect\hypertarget{mqtt---the-protocol---keep-alive}{}
+\begin{frame}[fragile]{MQTT Connect}
+\protect\hypertarget{mqtt-connect}{}
-TODO
+\begin{itemize}
+\tightlist
+\item
+ \texttt{CONNECT}
+
+ \begin{itemize}
+ \tightlist
+ \item
+ \texttt{clientId}
+ \item
+ \texttt{username}
+ \item
+ \texttt{password}
+ \item
+ \texttt{keepAlive}
+ \end{itemize}
+\end{itemize}
+
+\begin{itemize}
+\tightlist
+\item
+ Keep alive
+
+ \begin{itemize}
+ \tightlist
+ \item
+ \texttt{PINGREQ}
+ \item
+ \texttt{PINGRESP}
+ \end{itemize}
+\end{itemize}
\end{frame}
@@ -1098,45 +1160,6 @@ Broker
\end{frame}
-\begin{frame}{MQTT - The protocol - Client id}
-\protect\hypertarget{mqtt---the-protocol---client-id}{}
-
-TODO
-
-\end{frame}
-
-\begin{frame}{Device and application architecture with MQTT}
-\protect\hypertarget{device-and-application-architecture-with-mqtt}{}
-
-\begin{center}
-\begin{tikzpicture}
-
-\path
- (-3 cm, 0) node (c1_label) {Device \#1}
- ( 0 cm, 0) node (c2_label) {Device \#2}
- ( 3 cm, 0) node (c3_label) {Device \#3}
-
- (0, -3 cm) node (broker_label) {Broker}
- (0, -6 cm) node (central_label) {Central}
-;
-
-\node (c1)[draw, circle, fit=(c1_label)] {};
-\node (c2)[draw, circle, fit=(c2_label)] {};
-\node (c3)[draw, circle, fit=(c3_label)] {};
-\node (central)[draw, circle, fit=(central_label)] {};
-\node (broker)[draw, rectangle, thick, inner ysep=5 mm, inner xsep=10 mm, fit=(broker_label)] {};
-
-\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (c1) to [bend right] (broker);
-\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (c2) -- (broker);
-\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (c3) to [bend left] (broker);
-\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (central) -- (broker);
-
-\end{tikzpicture}
-
-\end{center}
-
-\end{frame}
-
\begin{frame}[fragile]{MQTT Topic}
\protect\hypertarget{mqtt-topic}{}
@@ -1293,7 +1316,73 @@ The central application is split:
\end{itemize}
\end{itemize}
-\note{}
+\end{frame}
+
+\begin{frame}{MQTT topic architecture}
+\protect\hypertarget{mqtt-topic-architecture-1}{}
+
+\begin{center}
+\begin{tikzpicture}
+
+\path
+ (-3 cm, 0) node (c1_label) {Device \#1}
+ ( 0 cm, 0) node (c2_label) {Device \#2}
+ ( 3 cm, 0) node (c3_label) {Device \#3}
+
+ (0, -3 cm) node (broker_label) {Broker}
+ (0, -6 cm) node (central_label) {Central}
+;
+
+\node (c1)[draw, circle, fit=(c1_label)] {};
+\node (c2)[draw, circle, fit=(c2_label)] {};
+\node (c3)[draw, circle, fit=(c3_label)] {};
+\node (broker)[draw, rectangle, thick, inner ysep=5 mm, inner xsep=10 mm, fit=(broker_label)] {};
+\node (central) at (central_label) [draw, circle, text width=2 cm] {};
+
+\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (c1) to [bend right] (broker);
+\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (c2) -- (broker);
+\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (c3) to [bend left] (broker);
+\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (central) -- (broker);
+
+\end{tikzpicture}
+
+\end{center}
+
+\end{frame}
+
+\begin{frame}{MQTT topic architecture}
+\protect\hypertarget{mqtt-topic-architecture-2}{}
+
+\begin{center}
+\begin{tikzpicture}
+
+\path
+ (-3 cm, 0) node (c1_label) {Device \#1}
+ ( 0 cm, 0) node (c2_label) {Device \#2}
+ ( 3 cm, 0) node (c3_label) {Device \#3}
+
+ (0, -3 cm) node (broker_label) {Broker}
+
+ (-2 cm, -6 cm) node (agg_label) {Aggregator}
+ ( 2 cm, -6 cm) node (email_label) {Email}
+;
+
+\node (c1)[draw, circle, fit=(c1_label)] {};
+\node (c2)[draw, circle, fit=(c2_label)] {};
+\node (c3)[draw, circle, fit=(c3_label)] {};
+\node (broker)[draw, rectangle, thick, inner ysep=5 mm, inner xsep=10 mm, fit=(broker_label)] {};
+\node (agg) at (agg_label) [draw, circle, text width=2 cm] {};
+\node (email) at (email_label) [draw, circle, text width=2 cm] {};
+
+\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (c1) to [bend right] (broker);
+\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (c2) -- (broker);
+\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (c3) to [bend left] (broker);
+\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (agg) -- (broker);
+\draw[{Latex[length=4mm, round]}-{Latex[length=4mm, round]}] (email) -- (broker);
+
+\end{tikzpicture}
+
+\end{center}
\end{frame}
diff --git a/slides/what-is-iot.md b/slides/what-is-iot.md
index e3c3591..db78358 100644
--- a/slides/what-is-iot.md
+++ b/slides/what-is-iot.md
@@ -461,6 +461,14 @@ Version 3.1.1 er den som gjelder, V 3.1 er rar, de andre finnes ikke
:::
+## Device and application architecture with MQTT
+
+!ifndef(QUICK)(
+\begin{center}
+!include(images/mqtt-example-architecture.pgf)
+\end{center}
+)
+
## MQTT - Implementations
* Mosquitto
@@ -544,9 +552,19 @@ The size field is variable length encoded, 0-127 bytes is 1 byte, 128-16383 use
:::
-## MQTT - The protocol - Keep alive
+## MQTT Connect
+
+* `CONNECT`
+ * `clientId`
+ * `username`
+ * `password`
+ * `keepAlive`
+
+<!-- -->
-TODO
+* Keep alive
+ * `PINGREQ`
+ * `PINGRESP`
## MQTT - The protocol - MQTT Topic
@@ -600,18 +618,6 @@ Broker
* `$app/$device/online`
* `0`
-## MQTT - The protocol - Client id
-
-TODO
-
-## Device and application architecture with MQTT
-
-!ifndef(QUICK)(
-\begin{center}
-!include(images/mqtt-example-architecture.pgf)
-\end{center}
-)
-
## MQTT Topic
The temperature sensor:
@@ -700,9 +706,21 @@ The central application is split:
* Publishes on:
* `myapp/$device-id/command`
-::: notes
+## MQTT topic architecture
-:::
+!ifndef(QUICK)(
+\begin{center}
+!include(images/mqtt-example-architecture.pgf)
+\end{center}
+)
+
+## MQTT topic architecture
+
+!ifndef(QUICK)(
+\begin{center}
+!include(images/mqtt-example-architecture2.pgf)
+\end{center}
+)
## MQTT - Patterns