Upload
gleb-vinnikov
View
1.037
Download
73
Embed Size (px)
Citation preview
HOME AUTOMATION BY
ESP8266
GLEB VINNIKOV
I AM
• Many years in IT :)
• FullStack Developer
• JavaScript, NodeJS, AngularJS, etc …
• Independent contractor/IT Expert/CTO
• Pet projects: IoT, Arduino, Hardware, etc …
PLAN
• already finished
• habits
• standard tasks
PRODUCTION
• a lot of communications
• constant changes
• interference
???
• beginners
• documentations
• examples on github/stackoverflow
• ready projects
• easy toolchains, IDE
• large community
• cheap
• wide specifications
• flexible
ESP8266
• http://espressif.com
• http://bbs.espressif.com/
• CPU: Tensilica L106 32-bit micro controller
• Operating Voltage: 3.0 ~ 3.6V
• Operating Current: ~80mA
ESP8266 FAMILY
• ESP01 - 12
• Form factors
• Diff. antennas
• Flash memory 512K-4M
WI-FI
• Wi-Fi: 802.11 b/g/n
• Wi-Fi mode: station/softAP/SoftAP+station, WPA/WPA2, WEP/TKIP/AES
• Types of Antenna: PCB Trace, External, IPEX Connector, Ceramic Chip
NETWORK PROTOCOLS
• IPv4
• TCP
• UDP
• HTTP
• FTP
PERIPHERAL BUS
• UART
• SDIO
• SPI
• I2C
• I2S
• GPIO
• ADC
• PWM
FIRMWARE UPGRADE
• UART Download
• OTA (via network)
FLASH TOOLS
• esptool.py
• ArduinoIDE
• https://github.com/nodemcu/nodemcu-flasher
• Espressif
ESPRESSIF
FIRMWARES
• http://bbs.espressif.com
• AT commands
• SDK> AT > OK
> AT+GMR > AT version:0.60.0.0(Feb 2 2016 18:43:31) SDK version:1.5.2(80914727) compile time:Feb 2 2016 18:59:50 OK
NODEMCU
FIRMWARES
• http://nodemcu.com/
• LUA
• NodeMCU DevKit
• http://esp8266.ru/esplorer/
• Libs <
• need much more memory
• upload by file
ARDUINO
FIRMWARES
• Arduino IDE
• C/C++
• Libs >
• https://github.com/esp8266/Arduino
• gitter community!
• load common bundle
FIRMWARES
• MicroPython
• https://github.com/micropython/micropython
• smart.js
PLATFORMIO
• http://platformio.org/
• ATOM IDE
• PlatformIO CLI tool
• Lint
• Multiple platforms
• Boards 200+
DEV BOARDS
• ready dev boards
• adapters
• FDTI
COMMUNICATION
MQTT
• MQ Telemetry Transport
• Lightweight
• PubSub
• QoS
• TCP based
HTTP VS MQTT
HTTP
• Overhead
• No QoS
MQTT
• Lightweight
• QoS
• TCP based
http://stephendnicholas.com/posts/power-profiling-mqtt-vs-https
MQTT SOFT
• Mosquitto - Open Source MQTT
• Clients for all langs
• Mob. apps
• Browser extensions`
• cloudmqtt.com
• https://thingmq.com/
WHAT’S NEXT?
• create IoT network
• home-assistant.io
• openhab.org
• http://freedomotic.com/
HOME ASSISTANT
• http://home-assistant.io
• Opensource
• Python
• Win, Mac, Ubuntu, RPI, …
• Components >
• Mobile, Desktop
• Automate
THE INTERNET OF BEES
HTTP://MAKEZINE.COM/PROJECTS/BEES-SENSORS-MONITOR-HIVE-HEALTH/
SOLAR POWERED ESP8266
HTTPS://HACKADAY.IO/PROJECT/9302-HOT-WATER-SOLAR-POWERED-ESP8266-WITH-A -THERMISTOR
CONTROL AN IRRIGATION SYSTEM
HTTP://MAKEZINE.COM/PROJECTS/WIFI-WATER-VALVE/
ESP8266 DASH BUTTON
HTTPS://GITHUB.COM/DEQINGSUN/ESP8266-DASH-BUTTON
THANKS!
• http://www.slideshare.net/glebvinnikov