Skip to content

GOTO AMS 2017 IoT protocols presentation

Notifications You must be signed in to change notification settings

aalhour/gotoams2017

 
 

Repository files navigation

A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets

A presentation by Antonio Almeida and Jaime González-Arintero for the GOTO Conference Amsterdam 2017.

Introduction

IoT is a buzzword. As a developer, I’m sure you’ve heard it many times - so many times that you probably tune it out as background noise at this point. Don’t let that phase you. IoT is nothing but a name for a set of ideas that you as developer should consider seriously. In this talk we'll take a practical —with demos— tour into application protocols for IoT.

This presentation uses Markdown and Pandoc. And a little help from some HTML tags.

The generated output can be an HTML/JavaScript slideshow, or a PDF file (using the beamer LaTeX class).

Presentation

To display the already compiled presentation, clone or download this repository, and open the file presentation.html with your browser of choice.

Alternatively, a zipped offline self-contained version as a single file is available here. In case that link does not work, here's a mirror in Google Drive.

Compiling the Presentation Locally (Optional)

Installing Pandoc

NOTE: These guidelines are taken from the Pandoc documentation. If you find issues installing it, always refer to the official source.

macOS

The easiest way is using Homebrew, also known as Brew. It's fairly easy to install, simply follow the official guide.

Once ready open the terminal, and run:

brew install pandoc

Homebrew will probably update the existing packages first, and will proceed to install Pandoc afterwards. Once ready, to make sure that it's working, the current version can be retrieved using the following command:

pandoc -v

Ubuntu (most distros)

The following command will first retrieve the latest existing packages:

sudo apt-get update

After that, we can proceed to install Pandoc with:

sudo apt-get install pandoc

Debian

For 32-bit systems, there are several packages available in the Debian repository.

For 64-bit systems, the easiest is to download the Debian package pandoc-1.19.2.1-1-amd64.deb from the downloads page, and execute:

sudo dpkg -i $DEB

(Where $DEB is the path to the downloaded package.)

Should you find issues, please refer to the official installation guidelines.

Windows

In Windows systems, simply download and execute the installer pandoc-1.19.2.1-windows.msi from the downloads page.

Generating the HTML Presentation Using Slidy

To produce an interactive presentation in HTML & JavaScript, using Slidy, head to the the path of the cloned repository (or wherever the folder with this content was downloaded and unpacked), and run the following command:

pandoc -s -t slidy --template my.slidy 0*.md -o presentation.html

With all HTML slide formats, the --self-contained option can be used to produce a single file that contains all of the data necessary to display the slide show, including linked scripts, stylesheets, images, and videos. If so, the command will look like:

pandoc --self-contained -s -t slidy --template my.slidy 0*.md -o temp.html

Note: It may take a few seconds (even up to a minute) to finish the compilation; please be patient. The current output file should be around 17 MB.

Bonus: Customizing the Current Stylesheet

The easiest way is to create a custom Slidy template with a different stylesheet link. First, to get your own copy of the default template, run the following command on the folder of the presentation:

$ pandoc -D slidy > my.slidy

Now, create a stylesheet, and place it on the root folder. For convenience, in this tutorial it was named style.css, and it was based in the content on the original "blank" Slidy template. Should you need such style sheet as a template, it's available here.

The next step consists on changing the reference to your preferred style sheet in the my.slidy file. Open it with a text editor, and modify the following lines:

$endif$
  <link rel="stylesheet" type="text/css" media="screen, projection, print"
    href="$slidy-url$/styles/slidy.css" />

The result should look like this. Note how href has changed:

$endif$
  <link rel="stylesheet" type="text/css" media="screen, projection, print"
    href="style.css" />

Once ready, to use your custom stylesheet simply run Pandoc with the following options:

pandoc -s -t slidy --template my.slidy content.md -o temp.html

References & Recommended Resources

About

GOTO AMS 2017 IoT protocols presentation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 59.6%
  • HTML 36.0%
  • Python 4.4%