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

Prototyping IOT with JavaScript

Prototyping IOT with JavaScript

Prototyping IoT devices is something that you may believe requires specialized skills in electrical engineering, embedded development, and mechanical engineering. Not so fast! Lance Gleason says that, thanks to the maker revolution, we can combine our deep knowledge of programming with access to a 3D printer and some basic electronics/soldering skills to create valuable prototypes. More importantly, there are now boards that give Javascript developers the ability to interact with them without requiring custom Bluetooth drivers and writing firmware. Join Lance for a quick tour of IoT prototyping options and then take a deep dive into how you can create a prototype, writing only Javascript code with devices such as the MbientLab MetaWear and Arduinos. This will be a hands-on session with live demos where you will see how to get started with these boards—and have some fun along the way. See how easy it can be to play with IoT and start to p rototype your ideas!

Lance Gleason

October 26, 2016
Tweet

More Decks by Lance Gleason

Other Decks in Technology

Transcript

  1. Introductions

    View Slide

  2. Twitter @lgleasain
    Github lgleasain
    www.lancegleason.com
    www.polyglotprogrammincinc.com
    [email protected]

    View Slide

  3. @PolyglotProgram
    @lgleasain
    @PurrProgramming

    View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. http://www.polyglotprogramminginc.com/purr-
    programming-2-0/

    View Slide

  9. View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. View Slide

  15. View Slide

  16. View Slide

  17. Software

    View Slide

  18. View Slide

  19. Options

    View Slide

  20. View Slide

  21. Features
    • Bluetooth Support
    • Robust API for Android and IOS
    • Built in Sensors (temperature,
    accelerometer etc.)
    • Built in support for rechargeable
    batteries

    View Slide

  22. Specs
    • Nordic Semiconductor nRF51822 BLE SoC
    • 2.4 GHz transceiver
    • ARM®Cortex™-M0 32 bit processor
    • 256 kB flash program memory
    • 16 kB RAM
    • 8/9/10 bit ADC

    View Slide

  23. Specs Continued
    • Accelerometer
    • Temperature Sensor
    • Push Button Switch
    • Bright LED
    • Driver for vibration motor
    • micro usb chargable
    • I2C bus, and support for 4 digital/analog and 4 digital pins

    View Slide

  24. View Slide

  25. View Slide

  26. View Slide

  27. View Slide

  28. ESP8266
    • Python, JavaScript, Arduino (C++), Nodemcu (Lua)
    • 128 Kb RAM
    • 4 mb SSD
    • 802.11 b/g/n WIFI
    • 32 bit 80-160 MHZ single core RISC processor
    • 16 GPIO pins
    • SPI, I2C, I2S support
    • UART
    • 1 10-bit ADC
    • 3.3 V DC

    View Slide

  29. View Slide

  30. ESP32
    • Python, JavaScript, Arduino (C++), Nodemcu (Lua)
    • 520 Kb RAM
    • Bluetooth 4.2 support
    • 802.11 b/g/n/e/i WIFI
    • 32 bit 160-240 MHZ dual core RISC processor
    • lots of GPIO pins
    • SPI, I2C, I2S support
    • UART
    • 1 10-bit ADC
    • 3.3 V DC
    • and much more

    View Slide

  31. ESPRUINO

    View Slide

  32. View Slide

  33. View Slide

  34. Arduino
    • Arduino (C++), Firmata
    • 0.5 - 32 Kb RAM
    • Bluetooth 4.2 support (101 only)
    • 8-48 MHZ processors (mostly ATmega)
    • 3-54 I/O pins
    • 3.3 or 5V DC (depending on the model)
    • and much more

    View Slide

  35. Firmata

    View Slide

  36. View Slide

  37. Micro Controller
    vs
    Microprocessor

    View Slide

  38. View Slide

  39. Raspberry Pi Zero
    • Linux, Android
    • 512 Mb RAM
    • 1 Ghz Single Core BCM2835
    • 26 GPIO Pins
    • Camera support
    • HDMI
    • Micro SD slot
    • 3.3 V DC
    • and much more

    View Slide

  40. View Slide

  41. Raspberry Pi 3
    • Linux, Android and Windows 10 Support
    • 1 GB RAM
    • 1.2 Ghz Quad Core BCM2837
    • 26 GPIO Pins
    • Camera support
    • HDMI
    • Micro SD slot
    • 3.3 V DC
    • and much more

    View Slide

  42. View Slide

  43. View Slide

  44. @PolyglotProgram
    @lgleasain
    @PurrProgramming

    View Slide

  45. View Slide

  46. MetaWear
    https://mbientlab.com/
    https://github.com/mbientlab-projects/MetaWearCordova-Plugin
    NodeMCU ESP8266
    nodemcu.com
    http://www.espruino.com/
    Johnny-Five/Firmata
    http://johnny-five.io/
    https://www.arduino.cc/en/Reference/Firmata
    https://github.com/ajfisher/node-pixel
    Raspberry Pi
    https://www.raspberrypi.org/
    https://learn.adafruit.com/neopixels-on-raspberry-pi/overview
    Buying NeoPixels/WS2812 (search for ws2812)
    www.ebay.com
    www.banggood.com
    www.amazon.com

    View Slide

  47. Twitter @lgleasain
    Github lgleasain
    www.lancegleason.com
    www.polyglotprogrammincinc.com
    [email protected]

    View Slide