Introduction Hands-On Supplementary material
ESP 32 Introduction Workshop
How to IoT
Joren Six
April 2017
Introduction Hands-On Supplementary material
Overview
Introduction
What is the ESP32?
Why is it useful?
Are there alternatives?
How to program the ESP32?
Hands-On
Helpful Knowledge
Getting started
Blink
Hello WiFi
Sending data - UDP or TCP?
Packing data - OSC Protocol
Sending sensor data
Mesh networking
Supplementary material
Introduction Hands-On Supplementary material
Intro - What is the ESP32?
ESP32 is a low cost, low
power microcontroller series.
Designed and supported by
Espressif systems.
I Integrated WiFi
I Dual core Tensilica
Xtensa LX6
I Bluetooth Smart
Tranciever
Fig: ESP? ESP? ESP? ESP? I Sucessor to the ESP8266
I Relatively new, about
one year old
Introduction Hands-On Supplementary material
Intro - What is the ESP32?
It is a microcontroller series.
I ESP32-CoreBoard or
ESP32-DevKitC by
Espressif systems
I ESP32-WROOM-32
I Olimex ESP32-EVB
I Sparkfun ESP32
Thing
I Many more
Introduction Hands-On Supplementary material
Intro - What is the ESP32 Thing?
It is an ESP32 implementation by Sparkfun.
I Integrated Lithium-Ion
battery charger - charge
using micro USB
I Breadboard compatible
I Large amount of IO
exposed
I Close to the Dev board
Introduction Hands-On Supplementary material
Intro - What is the ESP32 Thing?
Introduction Hands-On Supplementary material
Intro - Why is it useful?
I IoT use-cases: sending
sensor data to the
internet
I Wearables: small,
battery powered and
wireless
I Arduino like applications
Fig: ESP32-Thing by Sparkfun
Introduction Hands-On Supplementary material
Intro - Are there alternatives?
I ESP8266
I Less powerful
I Cheaper
I WiFi connection
unreliable
I No bluetooth
I Arduino UNO WiFi
I Less powerful
I More expensive
I Larger
I No battery plug
Fig: ESP 8266 I Many others
Introduction Hands-On Supplementary material
Intro - How to program the ESP32?
ESP-IDF
Arduino I C/C++ toolchain
I Easy to get started I Hard to setup
I Large community
I IDE of your choise
I Supported sensors!
I Libraries I JTAG Debugging
I Very limited ’IDE’ I (Free)RTOS
I No debugging I Full functionality
I Limited functionality Micropython
I Python 3.x
I REPL
I Limited functionality
PlatformIO
Fig: Arduino logo
I Aduino like
I IDE based on Atom
Introduction Hands-On Supplementary material
Hands-On - Helpful Knowledge
I Experience with Arduino environment or cross compiling
for microcontrollers
I Reading Serial communication
I Basic knowledge of git
Introduction Hands-On Supplementary material
Hands-On - Getting started
http://0110.be/posts/ESP32
Introduction Hands-On Supplementary material
Hands-On - Blink
Fig: Blinky blink
Introduction Hands-On Supplementary material
Hands-On - Hello WiFi
Fig: WiFi connection
Introduction Hands-On Supplementary material
Hands-On - Hello WiFi - UDP or TCP?
TCP over IP
UDP over IP
I Order guaranteed I Order not guaranteed
I Data checked and I Data can disappear
potentially resend
I Low latency
I High latency
I Good for real-time data
I Ideal when you need
(audio/video)
guarantees
I Think in packets
I Think in streams
Introduction Hands-On Supplementary material
Hands-On - Hello WiFi - OSC Protocol
OSC Protocol
I A simple standardized way to pack data
I Universal support and libraries
I Originally developed to connect music instruments
Introduction Hands-On Supplementary material
Hands-On - Sending sensor data
Introduction Hands-On Supplementary material
Hands-On - Mesh networking
Introduction Hands-On Supplementary material
Supplementary material