Skill level: intermediate
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. For they are the realization of the ideal of machine-to-machine communication systems that so many tried to realize before and failed. Now we have the tools both in hardware and software to make it happen. Your skills as a frontend, backend or application developer put you in the perfect spot to take advantage of the coming of age of IoT. Creating end-to-end systems that provide solutions to a multitude of problems unaddressed by the current state of applications and systems that support them.
In this workshop you’ll get a hands on experience with the protocols that power IoT. Chances are that you already know a few of them. If you’re curious about IoT and you’re looking for a way to get in, then this workshop is the perfect gateway. It doesn’t matter if you have no plans to work in IoT. Knowing these protocols will make you a better developer, for there’s bound to be occasions in your work when they might come in handy.
We’ll use the development board, based on the ESP8266 microcontroller and WiFi chip, for running the code examples. You only need a laptop we provide everything else, including drinks.
Constrained devices: why we need specific protocols.
MQTT: introduction and code example in Lua with ESP8266.
CoAP: introduction and code example in Lua with ESP8266.
CoAP: going further with Copper Firefox extension.
HTTP/2 and WebSockets.
Plan: 3 hour workshop with theory & practice: hands-on.
A laptop is required. Otherwise you can come with a friend and the two of you share the laptop. But note that this is an hands on technical workshop so you’re supposed to wire the sensors and upload code to the device.
It will help if you come with following software pre-installed:
Install the USB - TTL driver if on Windows or Mac. Linux should already have it.
Install esptool for flashing the firmware onto the device. This requires a minimal Python environment. This flashing tool is written in Python.
For uploading the Lua code and/or communicate with the device there are two possible options:
If you’re have it already or you’re willing to install the Oracle Java Runtime environment (JRE) or the Java Development Kit (JDK) also from Oracle, and you prefer IDEs to command line tools, then install ESPlorer.
If you prefer not to have to install Oracle’s Java (JRE or JDK) then install luatool. This is a Python script that uploads your program files to the device.
This is not a hard requirement, we can for sure do it during the workshop and we’ll help you getting everything setup. But definitely it will make things smoother and you can get more out of the workshop by focusing on learning about IoT protocols instead of software installation ;)
Provided materials: Lua code for the NodeMCU board that communicates with the Internet (cloud) using the various protocols.