Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ESPlant Workshop Firmware Overview and Demos

Mark Wolfe
February 02, 2016

ESPlant Workshop Firmware Overview and Demos

Hardware Miniconf Talk at Linuxconf 2016

Mark Wolfe

February 02, 2016
Tweet

More Decks by Mark Wolfe

Other Decks in Technology

Transcript

  1. ESPlant Workshop
    Firmware Overview and Demos
    By Mark Wolfe

    View Slide

  2. Building Firmware
    • Install Arduino IDE 1.6.5
    • Enter http://arduino.esp8266.com/staging/
    package_esp8266com_index.json into Additional Board Manager URLs
    field.
    • Copy libraries to your Arduino Libraries folder:
    • ~/Documents/Arduino/libraries (OSX and Linux)
    • My Documents\Arduino\libraries (windows)
    • Hit Compile!

    View Slide

  3. Aims
    • Illustrate how to build a very basic IoT product, serial could be
    printed on a screen.
    • No hard coded SSID / Password
    • No hard coded MQTT URL and credentials.
    • Simple
    • Encapsulate some of the hard stuff

    View Slide

  4. Testing the ESPlant
    • Connect to the ESPlant using USB
    • Open the Arduino Serial Monitor
    • Copy the Access Token and note the name of your AP!
    • Connect to your AP
    • Connect the device to wifi using the following command
    • curl -v -H "Authorization: Token access_token_here“ 'http://
    192.168.4.1:9000/wifiSetup?ssid=xxx&pass=xxx'

    View Slide

  5. Testing Continued.
    • Install mosquitto (MQTT client and server)
    • Find out your IP and configure the ESPlant to send messages to your system using
    the following command.
    • The IP address of your ESPlant is printed to the console once it reboots and
    connects to wifi.
    • Also you need your IP address of course.
    • curl -v -H "Authorization: Token access_token_here" ‘http://X.X.X.X:9000/
    mqttSetup?mqtt_url=mqtt://[email protected]'
    • mosquitto_sub -v -t '#'

    View Slide

  6. References
    • https://www.arduino.cc/en/Reference/HomePage
    • https://github.com/esp8266/Arduino/blob/master/doc/libraries.md
    • http://espressif.com/new-sdk-release/

    View Slide

  7. For the Adventurous
    • Add support for the Neopixels provided in the kit
    • Add support for the motion sensor
    • Upgrade the on boarding to use https://github.com/tzapu/
    WiFiManager

    View Slide

  8. Graphs
    • Grafana
    • InfluxDB
    • mqforward
    • mosquitto
    • Entire stack built using Docker with Ansible on Github!

    View Slide

  9. About Me
    • wolfeidau on github
    • wolfeidau on twitter
    [email protected]
    • Engineer at Versent

    View Slide