SlideShare a Scribd company logo
1 of 15
PROGRAM
• Theoretical
• What is the ESP8266
• Writing your own code
• Cool projects
• Considerations
• Practical
• Making something with the ESP8266
ABOUT ME
• Embedded enthusiast
• Don’t plug it in, take it apart!
• Personal projects
• LightSaga
• Ikea lamp
• Ambilight
• Blog on www.stijnvandrunen.nl
WHAT IS A ESP8266
• Wireless SoC
• Has GPIO, I2C, ADC, SPI, PWM and some other nice acronyms
• It’s fast! Running at 80MHz (or 160MHz if you’re brave)
• 64KBytes of instruction RAM, 96KBytes of data RAM and 64KBytes boot
ROM
• Has a Winbond W25Q40BVNIG SPI flash for your code
• RISC architecture (in case you care)
• Core is a 106micro Diamond Standard core (LX3) made by Tensilica
• ESP8266 chip is made by Espressif
• It’s cheap enough to be put in everything and anything
VARIANCES
NODEMCU
• An open source firmware aimed on the IoT platform. It has the ability to
run easy to code LUA scripts, making it easy to program the ESP8266.
Based on LUA 5.1.4 (without debug and os module). Build-in json, file,
timer, pwm, i2c, spi, 1-wire, net, mqtt, coap, gpio, wifi, adc, uart and
system api.
• Example of http server in using NodeMCU:
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
conn:on("receive",function(conn,payload)
print(payload)
conn:send("<h1> Hello, NodeMCU.</h1>”)
end)
end)
ARDUINO
• Starting with 1.6.4, Arduino allows installation of third-party platform
packages using Boards Manager.
• ESP8266 chip in the Arduino environment. ESP8266WiFi library bundled
with this project has the same interface as the WiFi Shield library,
making it easy to re-use existing code and libraries.
• Lot’s of libraries to benefit from for interfacing different hardware
components.
• More user friendly way of writing code, more examples available.
COMMUNITY
• Esp8266.com, very active community
• Support from Espressif, regular releases of SDKs (their latest is MIT
licensed)
• Google!
• Downsides
• Fragmented information.
• Chinese documents & quality
• Different versions
WRITING YOUR OWN CODE
• Get a SDK
• Linux
• ESP-open-sdk
• Windows
• Made by some Russian, supports Eclipse
• Look at samples
• Blinky
• Interrupt examples
• Your own project
• Flashing
BLINKY – INIT FUNCTION
//Init function
void ICACHE_FLASH_ATTR user_init() {
gpio_init(); // Initialize the GPIO subsystem.
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2); // Set GPIO2 to
output mode
gpio_output_set(0, BIT2, BIT2, 0); // Set GPIO2 low
os_timer_disarm(&some_timer); // Disarm timer
os_timer_setfn(&some_timer, (os_timer_func_t *)some_timerfunc, NULL);
// Setup timer
os_timer_arm(&some_timer, 1000, 1); / /Arm the timer, 1000 is the fire
time in ms, 0 for once and 1 for repeating
system_os_task(user_procTask, user_procTaskPrio,user_procTaskQueue,
user_procTaskQueueLen); // Start os task
}
BLINKY – TIMER & OS FUNCTION
// Do blinky stuff
void some_timerfunc(void *arg) {
if (GPIO_REG_READ(GPIO_OUT_ADDRESS) & BIT2) { // Check if GPIO2 is
HIGH
gpio_output_set(0, BIT2, BIT2, 0); // Set GPIO2 to LOW
} else {
gpio_output_set(BIT2, 0, BIT2, 0); // Set GPIO2 to HIGH
}
}
//Do nothing function
static void ICACHE_FLASH_ATTR user_procTask(os_event_t *events) {
os_delay_us(10);
}
COOL PROJECTS
• MQTT
• Project running MQTT messaging on the ESP8266, very useful for IoT
applications such as reporting temperature and more.
• HTTP deamon
• Made by Sprite_TM (Dutch & GoT moderator), running a webserver on an
ESP to serve a site that allows control of GPIO.
• ESP8266 powerstrip
• Phoqus is playing with ESP8266s too, SAP wants to focus on IoT and
@jpenninkhof is making awesome things such as a ESP8266 controlled
powerstrip. Check it out on his website:
http://www.penninkhof.com/2015/05/linking-the-esp8266-a-raspberry-pi-
through-mqtt/
• Many more!!! Check esp8266.com or hackaday.com…
MQTT?
• MQTT (MQ Telemetry Transport) is a very simple, extremely efficient
publish/subscribe reliable messaging protocol. A protocol that enabled
devices to open a connection, keep it open using very little power and
receive events or commands with as little as 2 bytes of overhead. A
protocol that has the things built in that you need for reliable behavior
in an unreliable or intermittently connected wireless environments.
Things such as “last will & testament” so all apps know immediately if a
client disconnects ungracefully, “retained message” so any user re-
connecting immediately gets the very latest business information, etc.
CONSIDERATIONS
• ESP8266 is 3.3V, logic level converter needed for 5V hardware
• Antenna yields various results
• Chinese quality
• Pick the right ESP8266 for you
• Put code in flash
• Don’t give up!
HANDS-ON
• Driving WS2812b LED ring with ESP8266
• Connecting all the parts together
• Find a way to interface with the LEDs
• Control it! (Maybe esphttpd? Or simple UDP listener…)
• Please beware of the following points
• Check the polarity on your PSU
• Power and ground rails should be connected through in the middle
• Ground first, power later
• Logic level of WS2812b is 5V, ESP8266 is 3.3V

More Related Content

What's hot

Programming esp8266
Programming esp8266Programming esp8266
Programming esp8266Baoshi Zhu
 
ESP8266 and IOT
ESP8266 and IOTESP8266 and IOT
ESP8266 and IOTdega1999
 
Programando o ESP8266 com Python
Programando o ESP8266 com PythonProgramando o ESP8266 com Python
Programando o ESP8266 com PythonRelsi Maron
 
Esp8266 NodeMCU
Esp8266 NodeMCUEsp8266 NodeMCU
Esp8266 NodeMCUroadster43
 
Nodemcu - introduction
Nodemcu - introductionNodemcu - introduction
Nodemcu - introductionMichal Sedlak
 
Home automation-in-the-cloud-with-the-esp8266-and-adafruit-io
Home automation-in-the-cloud-with-the-esp8266-and-adafruit-ioHome automation-in-the-cloud-with-the-esp8266-and-adafruit-io
Home automation-in-the-cloud-with-the-esp8266-and-adafruit-ioTran Minh Nhut
 
Esp8266 - Intro for dummies
Esp8266 - Intro for dummiesEsp8266 - Intro for dummies
Esp8266 - Intro for dummiesPavlos Isaris
 
IoT Hands-On-Lab, KINGS, 2019
IoT Hands-On-Lab, KINGS, 2019IoT Hands-On-Lab, KINGS, 2019
IoT Hands-On-Lab, KINGS, 2019Jong-Hyun Kim
 
lesson2 - Nodemcu course - NodeMCU dev Board
 lesson2 - Nodemcu course - NodeMCU dev Board lesson2 - Nodemcu course - NodeMCU dev Board
lesson2 - Nodemcu course - NodeMCU dev BoardElaf A.Saeed
 
NodeMCU ESP8266 workshop 1
NodeMCU ESP8266 workshop 1NodeMCU ESP8266 workshop 1
NodeMCU ESP8266 workshop 1Andy Gelme
 
Introduction to ESP32 Programming [Road to RIoT 2017]
Introduction to ESP32 Programming [Road to RIoT 2017]Introduction to ESP32 Programming [Road to RIoT 2017]
Introduction to ESP32 Programming [Road to RIoT 2017]Alwin Arrasyid
 
How to Install ESP8266 WiFi Web Server using Arduino IDE
How to Install ESP8266 WiFi Web Server using Arduino IDEHow to Install ESP8266 WiFi Web Server using Arduino IDE
How to Install ESP8266 WiFi Web Server using Arduino IDENaoto MATSUMOTO
 
Cassiopeia Ltd - ESP8266+Arduino workshop
Cassiopeia Ltd - ESP8266+Arduino workshopCassiopeia Ltd - ESP8266+Arduino workshop
Cassiopeia Ltd - ESP8266+Arduino workshoptomtobback
 
Arduino Meetup with Sonar and 433Mhz Radios
Arduino Meetup with Sonar and 433Mhz RadiosArduino Meetup with Sonar and 433Mhz Radios
Arduino Meetup with Sonar and 433Mhz Radiosroadster43
 

What's hot (20)

WiFi SoC ESP8266
WiFi SoC ESP8266WiFi SoC ESP8266
WiFi SoC ESP8266
 
Programming esp8266
Programming esp8266Programming esp8266
Programming esp8266
 
Espressif Introduction
Espressif IntroductionEspressif Introduction
Espressif Introduction
 
Node MCU Fun
Node MCU FunNode MCU Fun
Node MCU Fun
 
ESP8266 and IOT
ESP8266 and IOTESP8266 and IOT
ESP8266 and IOT
 
Programando o ESP8266 com Python
Programando o ESP8266 com PythonProgramando o ESP8266 com Python
Programando o ESP8266 com Python
 
Esp8266 NodeMCU
Esp8266 NodeMCUEsp8266 NodeMCU
Esp8266 NodeMCU
 
Arduino & NodeMcu
Arduino & NodeMcuArduino & NodeMcu
Arduino & NodeMcu
 
Nodemcu - introduction
Nodemcu - introductionNodemcu - introduction
Nodemcu - introduction
 
Home automation-in-the-cloud-with-the-esp8266-and-adafruit-io
Home automation-in-the-cloud-with-the-esp8266-and-adafruit-ioHome automation-in-the-cloud-with-the-esp8266-and-adafruit-io
Home automation-in-the-cloud-with-the-esp8266-and-adafruit-io
 
Esp8266 - Intro for dummies
Esp8266 - Intro for dummiesEsp8266 - Intro for dummies
Esp8266 - Intro for dummies
 
IoT Hands-On-Lab, KINGS, 2019
IoT Hands-On-Lab, KINGS, 2019IoT Hands-On-Lab, KINGS, 2019
IoT Hands-On-Lab, KINGS, 2019
 
Esp8266 basics
Esp8266 basicsEsp8266 basics
Esp8266 basics
 
lesson2 - Nodemcu course - NodeMCU dev Board
 lesson2 - Nodemcu course - NodeMCU dev Board lesson2 - Nodemcu course - NodeMCU dev Board
lesson2 - Nodemcu course - NodeMCU dev Board
 
NodeMCU ESP8266 workshop 1
NodeMCU ESP8266 workshop 1NodeMCU ESP8266 workshop 1
NodeMCU ESP8266 workshop 1
 
Introduction to ESP32 Programming [Road to RIoT 2017]
Introduction to ESP32 Programming [Road to RIoT 2017]Introduction to ESP32 Programming [Road to RIoT 2017]
Introduction to ESP32 Programming [Road to RIoT 2017]
 
How to Install ESP8266 WiFi Web Server using Arduino IDE
How to Install ESP8266 WiFi Web Server using Arduino IDEHow to Install ESP8266 WiFi Web Server using Arduino IDE
How to Install ESP8266 WiFi Web Server using Arduino IDE
 
Cassiopeia Ltd - ESP8266+Arduino workshop
Cassiopeia Ltd - ESP8266+Arduino workshopCassiopeia Ltd - ESP8266+Arduino workshop
Cassiopeia Ltd - ESP8266+Arduino workshop
 
ESP8266 Wifi Nodemcu
ESP8266 Wifi Nodemcu ESP8266 Wifi Nodemcu
ESP8266 Wifi Nodemcu
 
Arduino Meetup with Sonar and 433Mhz Radios
Arduino Meetup with Sonar and 433Mhz RadiosArduino Meetup with Sonar and 433Mhz Radios
Arduino Meetup with Sonar and 433Mhz Radios
 

Viewers also liked

Arduino Lecture 1 - Introducing the Arduino
Arduino Lecture 1 - Introducing the ArduinoArduino Lecture 1 - Introducing the Arduino
Arduino Lecture 1 - Introducing the ArduinoEoin Brazil
 
Introduction to arduino
Introduction to arduinoIntroduction to arduino
Introduction to arduinoAhmed Sakr
 
Home Automation by ESP8266 #iotconfua
Home Automation by ESP8266 #iotconfuaHome Automation by ESP8266 #iotconfua
Home Automation by ESP8266 #iotconfuaAndy Shutka
 
ESP8266をはじめよう
ESP8266をはじめようESP8266をはじめよう
ESP8266をはじめようKei Yoshimura
 
4. reading energy from piece fair energy meter by using esp8266
4. reading energy from piece fair energy meter by using esp82664. reading energy from piece fair energy meter by using esp8266
4. reading energy from piece fair energy meter by using esp8266k srikanth
 
Nefryでiotカーテン作ってみた
Nefryでiotカーテン作ってみたNefryでiotカーテン作ってみた
Nefryでiotカーテン作ってみたTone Blue
 
Blynk.IoT #iotconfua
Blynk.IoT #iotconfuaBlynk.IoT #iotconfua
Blynk.IoT #iotconfuaAndy Shutka
 
Espresso Lite v2 - ESP8266 Overview
Espresso Lite v2 - ESP8266 OverviewEspresso Lite v2 - ESP8266 Overview
Espresso Lite v2 - ESP8266 OverviewThe World Bank
 
Web x Arduino 智能監控潮潮 Der
Web x Arduino 智能監控潮潮 DerWeb x Arduino 智能監控潮潮 Der
Web x Arduino 智能監控潮潮 DerWeb Arduino
 
MQTT – protocol for yours IoT
MQTT – protocol for yours IoTMQTT – protocol for yours IoT
MQTT – protocol for yours IoTMiroslav Resetar
 

Viewers also liked (12)

Arduino Lecture 1 - Introducing the Arduino
Arduino Lecture 1 - Introducing the ArduinoArduino Lecture 1 - Introducing the Arduino
Arduino Lecture 1 - Introducing the Arduino
 
Introduction to arduino
Introduction to arduinoIntroduction to arduino
Introduction to arduino
 
Home Automation by ESP8266 #iotconfua
Home Automation by ESP8266 #iotconfuaHome Automation by ESP8266 #iotconfua
Home Automation by ESP8266 #iotconfua
 
ESP8266をはじめよう
ESP8266をはじめようESP8266をはじめよう
ESP8266をはじめよう
 
Arduino
ArduinoArduino
Arduino
 
4. reading energy from piece fair energy meter by using esp8266
4. reading energy from piece fair energy meter by using esp82664. reading energy from piece fair energy meter by using esp8266
4. reading energy from piece fair energy meter by using esp8266
 
Nefryでiotカーテン作ってみた
Nefryでiotカーテン作ってみたNefryでiotカーテン作ってみた
Nefryでiotカーテン作ってみた
 
Raspberry Pi
 Raspberry Pi  Raspberry Pi
Raspberry Pi
 
Blynk.IoT #iotconfua
Blynk.IoT #iotconfuaBlynk.IoT #iotconfua
Blynk.IoT #iotconfua
 
Espresso Lite v2 - ESP8266 Overview
Espresso Lite v2 - ESP8266 OverviewEspresso Lite v2 - ESP8266 Overview
Espresso Lite v2 - ESP8266 Overview
 
Web x Arduino 智能監控潮潮 Der
Web x Arduino 智能監控潮潮 DerWeb x Arduino 智能監控潮潮 Der
Web x Arduino 智能監控潮潮 Der
 
MQTT – protocol for yours IoT
MQTT – protocol for yours IoTMQTT – protocol for yours IoT
MQTT – protocol for yours IoT
 

Similar to Esp8266 Workshop

Iot Bootcamp - abridged - part 1
Iot Bootcamp - abridged - part 1Iot Bootcamp - abridged - part 1
Iot Bootcamp - abridged - part 1Marcus Tarquinio
 
Qiscus bot esp8266
Qiscus bot esp8266Qiscus bot esp8266
Qiscus bot esp8266Ashari Juang
 
Introduction to FreeRTOS
Introduction to FreeRTOSIntroduction to FreeRTOS
Introduction to FreeRTOSICS
 
Taller IoT en la Actualidad
Taller IoT en la ActualidadTaller IoT en la Actualidad
Taller IoT en la ActualidadLaurence HR
 
Eclipse Plugin for ESP-IDF - EclipseCon Europe 2019
Eclipse Plugin for ESP-IDF -  EclipseCon Europe 2019Eclipse Plugin for ESP-IDF -  EclipseCon Europe 2019
Eclipse Plugin for ESP-IDF - EclipseCon Europe 2019Kondal Kolipaka
 
embedded-systems-for-beginners
embedded-systems-for-beginnersembedded-systems-for-beginners
embedded-systems-for-beginnersmohamed gaber
 
Edje Project: The Software Foundation for IoT Devices
Edje Project: The Software Foundation for IoT DevicesEdje Project: The Software Foundation for IoT Devices
Edje Project: The Software Foundation for IoT DevicesMicroEJ
 
Null mumbai-iot-workshop
Null mumbai-iot-workshopNull mumbai-iot-workshop
Null mumbai-iot-workshopNitesh Malviya
 
Practical Introduction to Internet of Things (IoT)
Practical Introduction to Internet of Things (IoT)Practical Introduction to Internet of Things (IoT)
Practical Introduction to Internet of Things (IoT)Suraj Kumar Jana
 
IDF_Eclipse_Plugin_EclipseCon2020_v2.pdf
IDF_Eclipse_Plugin_EclipseCon2020_v2.pdfIDF_Eclipse_Plugin_EclipseCon2020_v2.pdf
IDF_Eclipse_Plugin_EclipseCon2020_v2.pdfKondal Kolipaka
 
R0boCamp2016 Гліб Вінніков Home automation by ESP8266
R0boCamp2016  Гліб Вінніков  Home automation by ESP8266R0boCamp2016  Гліб Вінніков  Home automation by ESP8266
R0boCamp2016 Гліб Вінніков Home automation by ESP8266Lviv Startup Club
 
Quick prototyping using Gadgeteer, Raspberry Pi + Fez Cream
Quick prototyping using Gadgeteer, Raspberry Pi + Fez CreamQuick prototyping using Gadgeteer, Raspberry Pi + Fez Cream
Quick prototyping using Gadgeteer, Raspberry Pi + Fez CreamMif Masterz
 
[MakerHN] [IoT] [01] Intro 2
[MakerHN] [IoT] [01] Intro 2[MakerHN] [IoT] [01] Intro 2
[MakerHN] [IoT] [01] Intro 2Công Hoàng Văn
 
Rapid IoT prototyping with mruby
Rapid IoT prototyping with mrubyRapid IoT prototyping with mruby
Rapid IoT prototyping with mruby雅也 山本
 
SFScon 22 - Roberto Innocenti - Start Enjoy Yourself with Open Hardware POWER...
SFScon 22 - Roberto Innocenti - Start Enjoy Yourself with Open Hardware POWER...SFScon 22 - Roberto Innocenti - Start Enjoy Yourself with Open Hardware POWER...
SFScon 22 - Roberto Innocenti - Start Enjoy Yourself with Open Hardware POWER...South Tyrol Free Software Conference
 
ESP32 WiFi & Bluetooth Module - Getting Started Guide
ESP32 WiFi & Bluetooth Module - Getting Started GuideESP32 WiFi & Bluetooth Module - Getting Started Guide
ESP32 WiFi & Bluetooth Module - Getting Started Guidehandson28
 
Advanced SOHO Router Exploitation XCON
Advanced SOHO Router Exploitation XCONAdvanced SOHO Router Exploitation XCON
Advanced SOHO Router Exploitation XCONLyon Yang
 
The Analytic Platform behind IBM’s Watson Data Platform - Big Data Spain 2017
The Analytic Platform behind IBM’s Watson Data Platform - Big Data Spain 2017The Analytic Platform behind IBM’s Watson Data Platform - Big Data Spain 2017
The Analytic Platform behind IBM’s Watson Data Platform - Big Data Spain 2017Luciano Resende
 

Similar to Esp8266 Workshop (20)

Iot Bootcamp - abridged - part 1
Iot Bootcamp - abridged - part 1Iot Bootcamp - abridged - part 1
Iot Bootcamp - abridged - part 1
 
IoT Intro and Demo
IoT Intro and DemoIoT Intro and Demo
IoT Intro and Demo
 
Qiscus bot esp8266
Qiscus bot esp8266Qiscus bot esp8266
Qiscus bot esp8266
 
Introduction to FreeRTOS
Introduction to FreeRTOSIntroduction to FreeRTOS
Introduction to FreeRTOS
 
Taller IoT en la Actualidad
Taller IoT en la ActualidadTaller IoT en la Actualidad
Taller IoT en la Actualidad
 
Eclipse Plugin for ESP-IDF - EclipseCon Europe 2019
Eclipse Plugin for ESP-IDF -  EclipseCon Europe 2019Eclipse Plugin for ESP-IDF -  EclipseCon Europe 2019
Eclipse Plugin for ESP-IDF - EclipseCon Europe 2019
 
embedded-systems-for-beginners
embedded-systems-for-beginnersembedded-systems-for-beginners
embedded-systems-for-beginners
 
Edje Project: The Software Foundation for IoT Devices
Edje Project: The Software Foundation for IoT DevicesEdje Project: The Software Foundation for IoT Devices
Edje Project: The Software Foundation for IoT Devices
 
Null mumbai-iot-workshop
Null mumbai-iot-workshopNull mumbai-iot-workshop
Null mumbai-iot-workshop
 
Practical Introduction to Internet of Things (IoT)
Practical Introduction to Internet of Things (IoT)Practical Introduction to Internet of Things (IoT)
Practical Introduction to Internet of Things (IoT)
 
IDF_Eclipse_Plugin_EclipseCon2020_v2.pdf
IDF_Eclipse_Plugin_EclipseCon2020_v2.pdfIDF_Eclipse_Plugin_EclipseCon2020_v2.pdf
IDF_Eclipse_Plugin_EclipseCon2020_v2.pdf
 
R0boCamp2016 Гліб Вінніков Home automation by ESP8266
R0boCamp2016  Гліб Вінніков  Home automation by ESP8266R0boCamp2016  Гліб Вінніков  Home automation by ESP8266
R0boCamp2016 Гліб Вінніков Home automation by ESP8266
 
Quick prototyping using Gadgeteer, Raspberry Pi + Fez Cream
Quick prototyping using Gadgeteer, Raspberry Pi + Fez CreamQuick prototyping using Gadgeteer, Raspberry Pi + Fez Cream
Quick prototyping using Gadgeteer, Raspberry Pi + Fez Cream
 
[MakerHN] [IoT] [01] Intro 2
[MakerHN] [IoT] [01] Intro 2[MakerHN] [IoT] [01] Intro 2
[MakerHN] [IoT] [01] Intro 2
 
Rapid IoT prototyping with mruby
Rapid IoT prototyping with mrubyRapid IoT prototyping with mruby
Rapid IoT prototyping with mruby
 
SFScon 22 - Roberto Innocenti - Start Enjoy Yourself with Open Hardware POWER...
SFScon 22 - Roberto Innocenti - Start Enjoy Yourself with Open Hardware POWER...SFScon 22 - Roberto Innocenti - Start Enjoy Yourself with Open Hardware POWER...
SFScon 22 - Roberto Innocenti - Start Enjoy Yourself with Open Hardware POWER...
 
ESP32 WiFi & Bluetooth Module - Getting Started Guide
ESP32 WiFi & Bluetooth Module - Getting Started GuideESP32 WiFi & Bluetooth Module - Getting Started Guide
ESP32 WiFi & Bluetooth Module - Getting Started Guide
 
Remote tanklevelmonitor
Remote tanklevelmonitorRemote tanklevelmonitor
Remote tanklevelmonitor
 
Advanced SOHO Router Exploitation XCON
Advanced SOHO Router Exploitation XCONAdvanced SOHO Router Exploitation XCON
Advanced SOHO Router Exploitation XCON
 
The Analytic Platform behind IBM’s Watson Data Platform - Big Data Spain 2017
The Analytic Platform behind IBM’s Watson Data Platform - Big Data Spain 2017The Analytic Platform behind IBM’s Watson Data Platform - Big Data Spain 2017
The Analytic Platform behind IBM’s Watson Data Platform - Big Data Spain 2017
 

Recently uploaded

Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 

Recently uploaded (20)

9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 

Esp8266 Workshop

  • 1.
  • 2. PROGRAM • Theoretical • What is the ESP8266 • Writing your own code • Cool projects • Considerations • Practical • Making something with the ESP8266
  • 3. ABOUT ME • Embedded enthusiast • Don’t plug it in, take it apart! • Personal projects • LightSaga • Ikea lamp • Ambilight • Blog on www.stijnvandrunen.nl
  • 4. WHAT IS A ESP8266 • Wireless SoC • Has GPIO, I2C, ADC, SPI, PWM and some other nice acronyms • It’s fast! Running at 80MHz (or 160MHz if you’re brave) • 64KBytes of instruction RAM, 96KBytes of data RAM and 64KBytes boot ROM • Has a Winbond W25Q40BVNIG SPI flash for your code • RISC architecture (in case you care) • Core is a 106micro Diamond Standard core (LX3) made by Tensilica • ESP8266 chip is made by Espressif • It’s cheap enough to be put in everything and anything
  • 6. NODEMCU • An open source firmware aimed on the IoT platform. It has the ability to run easy to code LUA scripts, making it easy to program the ESP8266. Based on LUA 5.1.4 (without debug and os module). Build-in json, file, timer, pwm, i2c, spi, 1-wire, net, mqtt, coap, gpio, wifi, adc, uart and system api. • Example of http server in using NodeMCU: srv=net.createServer(net.TCP) srv:listen(80,function(conn) conn:on("receive",function(conn,payload) print(payload) conn:send("<h1> Hello, NodeMCU.</h1>”) end) end)
  • 7. ARDUINO • Starting with 1.6.4, Arduino allows installation of third-party platform packages using Boards Manager. • ESP8266 chip in the Arduino environment. ESP8266WiFi library bundled with this project has the same interface as the WiFi Shield library, making it easy to re-use existing code and libraries. • Lot’s of libraries to benefit from for interfacing different hardware components. • More user friendly way of writing code, more examples available.
  • 8. COMMUNITY • Esp8266.com, very active community • Support from Espressif, regular releases of SDKs (their latest is MIT licensed) • Google! • Downsides • Fragmented information. • Chinese documents & quality • Different versions
  • 9. WRITING YOUR OWN CODE • Get a SDK • Linux • ESP-open-sdk • Windows • Made by some Russian, supports Eclipse • Look at samples • Blinky • Interrupt examples • Your own project • Flashing
  • 10. BLINKY – INIT FUNCTION //Init function void ICACHE_FLASH_ATTR user_init() { gpio_init(); // Initialize the GPIO subsystem. PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2); // Set GPIO2 to output mode gpio_output_set(0, BIT2, BIT2, 0); // Set GPIO2 low os_timer_disarm(&some_timer); // Disarm timer os_timer_setfn(&some_timer, (os_timer_func_t *)some_timerfunc, NULL); // Setup timer os_timer_arm(&some_timer, 1000, 1); / /Arm the timer, 1000 is the fire time in ms, 0 for once and 1 for repeating system_os_task(user_procTask, user_procTaskPrio,user_procTaskQueue, user_procTaskQueueLen); // Start os task }
  • 11. BLINKY – TIMER & OS FUNCTION // Do blinky stuff void some_timerfunc(void *arg) { if (GPIO_REG_READ(GPIO_OUT_ADDRESS) & BIT2) { // Check if GPIO2 is HIGH gpio_output_set(0, BIT2, BIT2, 0); // Set GPIO2 to LOW } else { gpio_output_set(BIT2, 0, BIT2, 0); // Set GPIO2 to HIGH } } //Do nothing function static void ICACHE_FLASH_ATTR user_procTask(os_event_t *events) { os_delay_us(10); }
  • 12. COOL PROJECTS • MQTT • Project running MQTT messaging on the ESP8266, very useful for IoT applications such as reporting temperature and more. • HTTP deamon • Made by Sprite_TM (Dutch & GoT moderator), running a webserver on an ESP to serve a site that allows control of GPIO. • ESP8266 powerstrip • Phoqus is playing with ESP8266s too, SAP wants to focus on IoT and @jpenninkhof is making awesome things such as a ESP8266 controlled powerstrip. Check it out on his website: http://www.penninkhof.com/2015/05/linking-the-esp8266-a-raspberry-pi- through-mqtt/ • Many more!!! Check esp8266.com or hackaday.com…
  • 13. MQTT? • MQTT (MQ Telemetry Transport) is a very simple, extremely efficient publish/subscribe reliable messaging protocol. A protocol that enabled devices to open a connection, keep it open using very little power and receive events or commands with as little as 2 bytes of overhead. A protocol that has the things built in that you need for reliable behavior in an unreliable or intermittently connected wireless environments. Things such as “last will & testament” so all apps know immediately if a client disconnects ungracefully, “retained message” so any user re- connecting immediately gets the very latest business information, etc.
  • 14. CONSIDERATIONS • ESP8266 is 3.3V, logic level converter needed for 5V hardware • Antenna yields various results • Chinese quality • Pick the right ESP8266 for you • Put code in flash • Don’t give up!
  • 15. HANDS-ON • Driving WS2812b LED ring with ESP8266 • Connecting all the parts together • Find a way to interface with the LEDs • Control it! (Maybe esphttpd? Or simple UDP listener…) • Please beware of the following points • Check the polarity on your PSU • Power and ground rails should be connected through in the middle • Ground first, power later • Logic level of WS2812b is 5V, ESP8266 is 3.3V