Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

getting started with esp8266 @HackIoT#2

Talk about arduino port for esp8266. With data collecting demo (data.sparkfun.com)

getting started with esp8266 @HackIoT#2

  1. 1. Начинаем работать с ESP8266 Иван Грохотков HackIoT #2, 24 декабря 2014
  2. 2. ESP8266 4Mbit Flash 25МГц кварц Антенна 2x GPIO
 UART
 VCC, GND
 RST, CH_PD $3.00
  3. 3. • Tensilica Xtensa lx-106 
 RISC CPU • 32k IRAM
 96k RAM (~40k доступно)
 64k OTP(?) ROM • 16 GPIO, 1.5x UART, 2x SPI, 
 1 канал 10-бит АЦП • 802.11 b/g/n PHY + MAC
 LwIP TCP/IP стэк • Выполнение приложений 
 из SPI FLASH
  4. 4. ESP-01
  5. 5. ESP-01 1. VCC=3.0 – 3.6В 
 ICC < 200мА 2. RESET, CH_PD – 10кОм к VCC 3. GPIO0 – к GND для загрузки ПО, 
 к VCC для работы
  6. 6. FTDI + ESP-01
  7. 7. FTDI + ESP-01 1. TX, RX ESP — 
 к RX, TX FTDI 2. Отдельный источник питания для ESP
  8. 8. Загрузка программы
  9. 9. Загрузка программы 1. GPIO0 — к GND 2. Перезагрузить, заземлив CH_PD или RESET
  10. 10. Tools A. crosstool-NG
 https://github.com/esp8266/esp8266-wiki/wiki/Toolchain
 B. Ubuntu Virtualbox image (Espressif)
 http://bbs.espressif.com/viewtopic.php?f=5&t=2
  11. 11. SDK • ESP8266 SDK v0.9.4 
 http://bbs.espressif.com/viewtopic.php?f=5&t=90 • FreeRTOS port
 https://github.com/espressif/esp_iot_rtos_sdk
  12. 12. https://github.com/themadinventor/esptool ./esptool.py -—port=/dev/tty.usbserial 
 write_flash 0x00000 firmware.bin
  13. 13. ArduinoESP https://github.com/igrr/Arduino
 git checkout -b ide-1.5.x-esp8266
  14. 14. Blink
  15. 15. Arduino IDE AVR platform SAM platform ESP8266 platform BoardsLibraries Toolchain Upload
 tools SDK CoreCore
  16. 16. void loop() { while(true){ delay(1000); } }
  17. 17. Scheduler WiFi task TCP/IP task Timer TCP/IP task User task User callback User callback User callback TCP/IP task
  18. 18. Scheduler WiFi task TCP/IP task Timer TCP/IP task User task User callback User callback User callback TCP/IP task void loop() { while(true){ delay(1000); } } x
  19. 19. Restore stack & registers Scheduler WiFi task TCP/IP task Timer User task Save stack & registers & PC Set timer Jump!
 delay(1000) <- schedule user task User task return from delay
  20. 20. Работает • Большинство встроенных функций:
 pinMode, digitalRead, digitalWrite, analogRead(0), attachInterrupt, detachInterrupt, shiftIn, shiftOut, millis, micros, delay, delayMicroseconds, yield • Библиотеки: 
 Serial, Ticker, EEPROM, 
 Wire (I2C), WiFi • Многие сторонние библиотеки:
 Zt I2C OLED, DHT11, ArduinoJson, Stepper, etc… • Встроенные функции
 analogWrite, pulseIn • SPI, UDP, I2C slave Еще нет
  21. 21. beta Mac OS X 10.7+ http://goo.gl/xS94fi (http://download.igrr.me/arduino-1.5.9-macosx-signed.zip)
 Source: https://github.com/igrr/Arduino
  22. 22. Demo
  23. 23. ESP8266 + DHT11+ HTTP
  24. 24. data.sparkfun.com
  25. 25. Спасибо!

×