diff options
-rw-r--r-- | Makefile | 20 | ||||
-rw-r--r-- | dictionary.txt | 23 | ||||
-rw-r--r-- | images/IP-Header_eng.pdf | bin | 31300 -> 12555 bytes | |||
-rw-r--r-- | images/IP-Header_eng.tex | 6 | ||||
-rw-r--r-- | what-is-iot-reveal.html | 24 | ||||
-rw-r--r-- | what-is-iot-slides-orig.pdf | bin | 285395 -> 0 bytes | |||
-rw-r--r-- | what-is-iot-slides.pdf | bin | 88270 -> 60996 bytes | |||
-rw-r--r-- | what-is-iot-slides.tex | 268 | ||||
-rw-r--r-- | what-is-iot-text.pdf | bin | 365180 -> 66466 bytes | |||
-rw-r--r-- | what-is-iot.md | 37 |
10 files changed, 355 insertions, 23 deletions
@@ -4,13 +4,15 @@ SLIDE_THEME=boxes PDFS=$(P)-text.pdf $(P)-slides.pdf HTMLS=$(P)-reveal.html -RUN_PANDOC_BEAMER=pandoc -f markdown -t beamer --highlight-style=pygments -V theme:$(SLIDES_THEME)\ +RUN_PP_BEAMER=pp -DBEAMER +RUN_PANDOC_BEAMER=pandoc -f markdown -t beamer --highlight-style=pygments -V theme:$(SLIDE_THEME) \ --pdf-engine=xelatex RUN_PANDOC_REVEALJS=pandoc -f markdown -t revealjs -s -V revealjs-url=./bower_components/reveal.js +RUN_PANDOC_TEXT=pandoc -f markdown --pdf-engine=xelatex all: $(PDFS) $(HTMLS) -slides: $(P)-slides.pdf +slides: $(P)-slides.pdf $(P)-slides.tex html: $(P)-reveal.html .PHONY: html slides @@ -28,17 +30,23 @@ spell: .$(P).md.spell $(P).md: Makefile @touch $@ -%-text.pdf: %.md - pandoc -f markdown -o $@ $< +%.beamer.md: %.md + $(RUN_PP_BEAMER) < $< > $@ -%-slides.pdf: %.md +%-text.pdf: %.beamer.md + $(RUN_PANDOC_TEXT) -o $@ $< + +%-slides.pdf: %.beamer.md + $(RUN_PANDOC_BEAMER) -o $@ $< + +%-slides.tex: %.beamer.md $(RUN_PANDOC_BEAMER) -o $@ $< %-reveal.html: %.md $(RUN_PANDOC_REVEALJS) -o $@ $< images/%.pdf: images/%.tex | Makefile - pdflatex -output-directory=images $< + xelatex -output-directory=images $< # pdfcrop $@ # mv $(patsubst %.pdf,%-crop.pdf,$@) $@ diff --git a/dictionary.txt b/dictionary.txt index 76ea32e..fd40082 100644 --- a/dictionary.txt +++ b/dictionary.txt @@ -1,12 +1,33 @@ -personal_ws-1.1 en 11 +personal_ws-1.1 en 32 +ip +Mbps +fontspec +Verdana +setsansfont +SSL TCP IoT OSI +pdf +BEAMER +usepackage +svg +IPX +Laugstřl +ifdef +MQTT allbordercolors MTU hypersetup +NetBIOS pdfborderstyle +TTL DNS UDP +ICMP colorlinks RTT +PHY +Trygve +eng +MCUs diff --git a/images/IP-Header_eng.pdf b/images/IP-Header_eng.pdf Binary files differindex 86ed3c3..049c0cf 100644 --- a/images/IP-Header_eng.pdf +++ b/images/IP-Header_eng.pdf diff --git a/images/IP-Header_eng.tex b/images/IP-Header_eng.tex index b65ecdf..a2439fc 100644 --- a/images/IP-Header_eng.tex +++ b/images/IP-Header_eng.tex @@ -4,14 +4,18 @@ \usepackage{tikz} \usetikzlibrary{arrows,decorations.pathmorphing,backgrounds,fit,positioning,shapes.symbols,chains,shapes.geometric,shapes.arrows,calc} +\usepackage{fontspec} +\setsansfont{Verdana} + \begin{document} \begin{tikzpicture}[scale=0.47] + \sffamily \foreach \x in {0,...,31} \node at (\x+0.5,20.5) {\scriptsize \x}; \foreach \x in {0,...,31} \node at (\x+0.5,13.5) {\scriptsize \x}; \foreach \x in {0,...,32} - \draw[thick, blue] (\x,13) -- (\x,21); + \draw[thick] (\x,13) -- (\x,21); \node[thick] (bit1) at (-0.5,20.5) {\scriptsize bit}; \node[thick] (bit2) at (-0.5,13.5) {\scriptsize bit}; \draw [<->, thick] (-0.5, 19.9) -- (-0.5,15.1); diff --git a/what-is-iot-reveal.html b/what-is-iot-reveal.html index 5198bf9..15c69e5 100644 --- a/what-is-iot-reveal.html +++ b/what-is-iot-reveal.html @@ -28,6 +28,7 @@ <script src="./bower_components/reveal.js/lib/js/html5shiv.js"></script> <![endif]--> + </head> <body> <div class="reveal"> @@ -59,8 +60,8 @@ <ul> <li><em>The Internet of Things (IoT) is the network of physical devices, vehicles, home appliances and other items embedded with electronics, software, sensors, actuators, and connectivity which enables these objects to connect and exchange data.</em><a href="#/fn1" class="footnote-ref" id="fnref1"><sup>1</sup></a></li> </ul> -</section><section id="what-differentiates-a-computer-from-an-iot-device" class="slide level2"> -<h2>What differentiates a computer from an IoT device?</h2> +</section><section id="what-is-an-iot-device" class="slide level2"> +<h2>What is an IoT Device?</h2> <ul> <li>Constrained in (one or more of): <ul> @@ -70,6 +71,9 @@ <li>Storage</li> </ul></li> </ul> +<aside class="notes"> +<p>What differentiates a computer from an IoT device?</p> +</aside> </section></section> <section><section id="going-back-to-basics" class="title-slide slide level1"><h1>Going back to basics</h1></section><section id="what-is-the-internet-again" class="slide level2"> <h2>What is the internet again?</h2> @@ -89,7 +93,7 @@ <li><a href="https://en.wikipedia.org/wiki/OSI_model#Examples">Wikipedia: OSI model#Examples</a></li> </ul> <aside class="notes"> -<p>Følges ikke veldig slavisk</p> +<p>Does not match the TCP/IP stack very closely.</p> </aside> </section><section id="layer-1-physical-layer" class="slide level2"> <h2>Layer 1: Physical Layer</h2> @@ -100,7 +104,9 @@ <li>RS-232</li> </ul> <aside class="notes"> -<p>Huber og switcher (som gjør en slags routing) er ikke en av disse lagene. Mere en implementasjonsdetalj. RS-232 sin signallering brukes i <em>alle</em> MCUer, mange har flere porter tilgjengelige. Kun signallering, ikke spenningsnivĂĄer. Mange støtter veldig høye datarater (>= 1Mbit/s)</p> +<p>Ethernet: Hubs and switches (that act on this level) is not on it’s own layer. It is more of a implementation detail in the architecture diagram.</p> +<p>RS-232 signaling is used in <em>all</em> MCUs, many have several ports available. It is extremely flexible, both used for implementing applications and debugging. Frequently an easy way to hack embedded devices. “USB dongles”, “USB TTL” all use RS-232 signaling.</p> +<p>Note that this only applies to its logical signals, not voltage levels. The signaling does not specify any max data rate, very high rates (>= 1Mbps) is often supported.</p> </aside> </section><section id="layer-2-data-link-layer" class="slide level2"> <h2>Layer 2: Data Link Layer</h2> @@ -147,13 +153,13 @@ </ul> </section><section id="details-ip" class="slide level2"> <h2>Details: IP</h2> -<p><img data-src="images/ip-header.svg" /></p> +<p>!ifdef(REVEAL) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<sub> <img data-src="images/ip-header.svg" /> </sub>~~~~~~~~~~~~~~~~~~~~~~~~~~~~<sub> !ifdef(BEAMER) </sub>~~~~~~~~~~~~~~~~~~~~~~~~~~~~<sub> <embed data-src="images/ip-header.pdf" /> </sub>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</p> +<aside class="notes"> +<p>Note that the “total length” field is 16 bits, 2 bytes, it’s maximum value is 64k, 65536.</p> +</aside> </section><section id="details-ip-1" class="slide level2"> <h2>Details: IP</h2> -<p><embed data-src="images/ip-header.pdf" /></p> -</section><section id="details-ip-2" class="slide level2"> -<h2>Details: IP</h2> -<p><embed data-src="images/IP-Header_eng.pdf" /></p> +<p><embed data-src="images/IP-Header_eng.pdf" /> !comment ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<sub> </sub>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</p> </section></section> <section><section id="notes" class="title-slide slide level1"><h1>Notes</h1></section><section id="assignments" class="slide level2"> <h2>Assignments</h2> diff --git a/what-is-iot-slides-orig.pdf b/what-is-iot-slides-orig.pdf Binary files differdeleted file mode 100644 index 2ca5201..0000000 --- a/what-is-iot-slides-orig.pdf +++ /dev/null diff --git a/what-is-iot-slides.pdf b/what-is-iot-slides.pdf Binary files differindex 30e1052..1d916d8 100644 --- a/what-is-iot-slides.pdf +++ b/what-is-iot-slides.pdf diff --git a/what-is-iot-slides.tex b/what-is-iot-slides.tex new file mode 100644 index 0000000..cfe6a53 --- /dev/null +++ b/what-is-iot-slides.tex @@ -0,0 +1,268 @@ +\hypertarget{what-is-iot}{% +\section{What is IoT}\label{what-is-iot}} + +\begin{frame}{What is IoT} +\protect\hypertarget{what-is-iot-1}{} + +\begin{itemize} +\tightlist +\item + Not “a computer connected to the internet” + + \begin{itemize} + \tightlist + \item + Then it is really just another computer connected to the internet + \end{itemize} +\item + Must be something else + + \begin{itemize} + \tightlist + \item + It is simply devices that are resource constrained + + \begin{itemize} + \tightlist + \item + Usually in more than one way + \end{itemize} + \end{itemize} +\item + Autonomous operation, the connection might not be permanent +\end{itemize} + +\end{frame} + +\begin{frame}{IoT is just a concept} +\protect\hypertarget{iot-is-just-a-concept}{} + +\begin{itemize} +\tightlist +\item + \emph{The Internet of Things (IoT) is the network of physical devices, + vehicles, home appliances and other items embedded with electronics, + software, sensors, actuators, and connectivity which enables these + objects to connect and exchange data.}\footnote<.->{Wikipedia + “Internet of Things”} +\end{itemize} + +\end{frame} + +\begin{frame}{What is an IoT Device?} +\protect\hypertarget{what-is-an-iot-device}{} + +\begin{itemize} +\tightlist +\item + Constrained in (one or more of): + + \begin{itemize} + \tightlist + \item + Memory + \item + CPU + \item + Network bandwidth and/or latency + \item + Storage + \end{itemize} +\end{itemize} + +\note{What differentiates a computer from an IoT device?} + +\end{frame} + +\hypertarget{going-back-to-basics}{% +\section{Going back to basics}\label{going-back-to-basics}} + +\begin{frame}{What is the internet again?} +\protect\hypertarget{what-is-the-internet-again}{} + +\end{frame} + +\begin{frame}{OSI model} +\protect\hypertarget{osi-model}{} + +\begin{enumerate} +[1.] +\tightlist +\item + Physical Layer +\item + Data Link Layer +\item + Network Layer +\item + Transport Layer +\item + Session Layer +\item + Presentation Layer +\item + Application Layer +\end{enumerate} + +\begin{itemize} +\tightlist +\item + \href{https://en.wikipedia.org/wiki/OSI_model}{Wikipedia: OSI model} +\item + \href{https://en.wikipedia.org/wiki/OSI_model\#Examples}{Wikipedia: + OSI model\#Examples} +\end{itemize} + +\note{Does not match the TCP/IP stack very closely.} + +\end{frame} + +\begin{frame}{Layer 1: Physical Layer} +\protect\hypertarget{layer-1-physical-layer}{} + +\begin{itemize} +\tightlist +\item + 10BASE5, 10BASE2 +\item + 10BASE-T / 100BASE-TX / 1000BASE-TX +\item + 802.11a/b/g/n PHY +\item + RS-232 +\end{itemize} + +\note{Ethernet: Hubs and switches (that act on this level) is not on +it’s own layer. It is more of a implementation detail in the +architecture diagram. + +RS-232 signaling is used in \emph{all} MCUs, many have several ports +available. It is extremely flexible, both used for implementing +applications and debugging. Frequently an easy way to hack embedded +devices. “USB dongles”, “USB TTL” all use RS-232 signaling. + +Note that this only applies to its logical signals, not voltage levels. +The signaling does not specify any max data rate, very high rates +(\textgreater{}= 1Mbps) is often supported.} + +\end{frame} + +\begin{frame}{Layer 2: Data Link Layer} +\protect\hypertarget{layer-2-data-link-layer}{} + +\begin{itemize} +\tightlist +\item + Ethernet +\item + WiFi +\item + Bluetooth +\item + Token Ring +\end{itemize} + +\end{frame} + +\begin{frame}{Layer 3: Network Layer} +\protect\hypertarget{layer-3-network-layer}{} + +\begin{itemize} +\tightlist +\item + IP +\item + ICMP +\item + IPX +\end{itemize} + +\end{frame} + +\begin{frame}{Layer 4: Transport Layer} +\protect\hypertarget{layer-4-transport-layer}{} + +\begin{itemize} +\tightlist +\item + TCP +\item + UDP +\end{itemize} + +\end{frame} + +\begin{frame}{Layer 5: Session Layer} +\protect\hypertarget{layer-5-session-layer}{} + +\begin{itemize} +\tightlist +\item + “sockets” +\item + NetBIOS +\end{itemize} + +\end{frame} + +\begin{frame}{Layer 6: Presentation Layer} +\protect\hypertarget{layer-6-presentation-layer}{} + +\begin{itemize} +\tightlist +\item + SSL +\end{itemize} + +\note{This layer is not really much used in the IP stack} + +\end{frame} + +\begin{frame}{Layer 7: Application Layer} +\protect\hypertarget{layer-7-application-layer}{} + +\begin{itemize} +\tightlist +\item + HTTP +\item + MQTT +\item + DNS +\item + (everything else..) +\end{itemize} + +\end{frame} + +\begin{frame}{Details: IP} +\protect\hypertarget{details-ip}{} + +\includegraphics{images/ip-header.pdf} + +\note{Note that the “total length” field is 16 bits, 2 bytes, it’s +maximum value is 64k, 65536.} + +\end{frame} + +\begin{frame}{Details: IP} +\protect\hypertarget{details-ip-1}{} + +\includegraphics{images/IP-Header_eng.pdf} + +\end{frame} + +\hypertarget{notes}{% +\section{Notes}\label{notes}} + +\begin{frame}{Assignments} +\protect\hypertarget{assignments}{} + +\begin{itemize} +\tightlist +\item + Measure round trip time/latency. Measure UDP, TCP. Measure when the + packet size is greater than the MTU +\end{itemize} + +\end{frame} diff --git a/what-is-iot-text.pdf b/what-is-iot-text.pdf Binary files differindex 790477a..7b96348 100644 --- a/what-is-iot-text.pdf +++ b/what-is-iot-text.pdf diff --git a/what-is-iot.md b/what-is-iot.md index 8433398..9c97909 100644 --- a/what-is-iot.md +++ b/what-is-iot.md @@ -26,7 +26,7 @@ header-includes: * *The Internet of Things (IoT) is the network of physical devices, vehicles, home appliances and other items embedded with electronics, software, sensors, actuators, and connectivity which enables these objects to connect and exchange data.*^[Wikipedia "Internet of Things"] -## What differentiates a computer from an IoT device? +## What is an IoT Device? * Constrained in (one or more of): * Memory @@ -34,6 +34,10 @@ header-includes: * Network bandwidth and/or latency * Storage +::: notes +What differentiates a computer from an IoT device? +::: + # Going back to basics ## What is the internet again? @@ -54,7 +58,7 @@ header-includes: ::: notes -Følges ikke veldig slavisk +Does not match the TCP/IP stack very closely. ::: @@ -67,8 +71,17 @@ Følges ikke veldig slavisk ::: notes -Huber og switcher (som gjør en slags routing) er ikke en av disse lagene. Mere en implementasjonsdetalj. -RS-232 sin signallering brukes i *alle* MCUer, mange har flere porter tilgjengelige. Kun signallering, ikke spenningsnivĂĄer. Mange støtter veldig høye datarater (>= 1Mbit/s) +Ethernet: Hubs and switches (that act on this level) is not on it's own +layer. It is more of a implementation detail in the architecture diagram. + +RS-232 signaling is used in *all* MCUs, many have several ports +available. It is extremely flexible, both used for implementing +applications and debugging. Frequently an easy way to hack embedded +devices. "USB dongles", "USB TTL" all use RS-232 signaling. + +Note that this only applies to its logical signals, not voltage +levels. The signaling does not specify any max data rate, very high rates +(>= 1Mbps) is often supported. ::: @@ -115,15 +128,27 @@ This layer is not really much used in the IP stack ## Details: IP +!ifdef(REVEAL) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ![](images/ip-header.svg) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!ifdef(BEAMER) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +![](images/ip-header.pdf) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## Details: IP +::: notes -![](images/ip-header.pdf) +Note that the "total length" field is 16 bits, 2 bytes, it's maximum value is 64k, 65536. + +::: ## Details: IP ![](images/IP-Header_eng.pdf) +!comment +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Notes |