Fullstack IoT Development

69

Transcript of Fullstack IoT Development

Page 1: Fullstack IoT Development
Page 2: Fullstack IoT Development

#techBDV21and collect printed photos at Jepret Allegra booth

Page 3: Fullstack IoT Development

FullStack

Internet of ThingsDevelopment

Page 4: Fullstack IoT Development

Disclaimer

It’s technical Talk, Sorry if you can’t catch up :)

Page 5: Fullstack IoT Development

Andri Yadi

@andri_yadi | a at dycode dot com

http://andriyadi.me | http://dycodex.com

Page 6: Fullstack IoT Development

CEO of DycodeXIoT & disruptive technologies enabler for more enjoyable life.

DycodeX, by DyCode

Page 7: Fullstack IoT Development

8 years in a row

Page 8: Fullstack IoT Development

What is it, really?

Image source: https://www.youtube.com/watch?v=KflfJwXncy8

Page 9: Fullstack IoT Development

“Network-connected devices with embedded processing power„

Internet of Things

Page 10: Fullstack IoT Development

*Microsoft’s definition of IoT

Connectivity Data AnalyticsThings

Internet of Things

Page 11: Fullstack IoT Development

internetCloud

Mobile/web app

internet

IoT Typical Architecture

Things

Page 12: Fullstack IoT Development

Things

IoT Typical Archiecture

Protocol(over internet)

Ingestion Analytics

Storage VisualizationDevice

Management

API

Cloud

Message Broker Mobile Apps

3rd party systems

Page 13: Fullstack IoT Development

Microcontroller

Radio Transceiver/Network Interface

Sensor/Actuator Circuitry

Energy Source

A Thing

Page 14: Fullstack IoT Development

When we’re talking about full stack/end-to-end IoT Development…

So…

Page 15: Fullstack IoT Development

…we’re talking about developing for: Things, Cloud, Mobile

Page 16: Fullstack IoT Development

as developer…

Image source: https://www.entrepreneur.com/article/241644

Page 17: Fullstack IoT Development

Developer Skillset

Thing side Backend side Mobile side

[Obj-C]

Page 18: Fullstack IoT Development

Let’s start

Page 19: Fullstack IoT Development

Thing’s side

Page 20: Fullstack IoT Development

ESP8266Arduino nRF BLE

EspruinoParticle.ioPhoton, Electron

Arduino 101 Indonesia-madeBluino

Nucleombed

Raspberry Pi

and manymore…

Choose Dev Board

Page 21: Fullstack IoT Development

Choose Dev Platform

COSA Teensyand manymore…Sming

Page 22: Fullstack IoT Development

Choose Dev Tool/Ide

Page 23: Fullstack IoT Development

Disclaimer

Let’s focus to ESP8266

Page 24: Fullstack IoT Development

Do you still use ESP8266 this way?

While nothing wrong with that, but you can program ESP8266 directly. Without the Arduino board!

Page 25: Fullstack IoT Development

CPU: Tensilca Xtensa LX3: 32-bit, 80 MHz 3.3V operating voltage ESP8266 SOC: Expressif RAM: 32Kb, DRAM 80Kb External Flash: 512KB to 16MB WiFi (802.11): b/g/n/d/e/i/k/r Peripherals: 16 GPIOs, 3 PWM, 1 ADC, I2S, UART, SPI, I2C

ESP8266 Specs

Page 26: Fullstack IoT Development

ESP-01

ESP-12

ESP-12E ESP-14 ESP-WROOM-02

ESP-07

ESP-13

ESP8266 Family

Page 27: Fullstack IoT Development

Choose ESP8266 Framework

Sming

NONOS RTOS

Page 28: Fullstack IoT Development

Choose Dev Tool/IDE

Page 29: Fullstack IoT Development

Did I mention it’s only

$2

Page 30: Fullstack IoT Development

ESP8266 Dev Board

OlimexNodeMCU ESPino Thing Dev ESPresso

Digistump Oak Wemos D1 Mini Witty

andmore…

Page 31: Fullstack IoT Development

Today, we use…

Page 32: Fullstack IoT Development

DycodeX ESP8266 Dev Board v0.5

Page 33: Fullstack IoT Development

Based on ESP-12E Breadboard-friendly 8 channels GPIO Extender On-board additional SPI RAM 128 KB On-board additional ADC 12-bit 8 channels User-programmable LED & RGB LED, and button Reset & Flash buttons Automatic program upload SPIs, I2Cs breakout Supports I2C or SPI-based display

DycodeX ESP8266 Dev Board v0.5

Page 34: Fullstack IoT Development

Demo Let there be a light…

Page 35: Fullstack IoT Development

Cloud side

Page 36: Fullstack IoT Development

Cloud Platform

AzureIoT Hub

and a whole lot more…

Page 37: Fullstack IoT Development

Designed for IoT Connectivity, Security & Management for billions of devices

Service Assisted Communications Devices are not servers Use IoT Hub to enable secure bi-directional communications

Cloud Scale Messaging Device-to-cloud and Cloud-to-device Durable message inbox/outbox per device

Monitor Devices Delivery receipts, expired messages Device communication errors

Per-Device Authentication Individual device identities and credentials

Connection Multiplexing Single device-cloud connection for all communications (device-to-cloud, cloud-to-device)

Multi-Protocol Natively supports AMQPS, HTTPS, MQTT Extensible protocol support for custom protocol needs

Multi-Platform Device SDKs available for multiple platforms: RTOS, Linux, Windows, iOS, Android Service SDK supports multiple languages (Node, Java, C#)

Azure IoT Hub

Page 38: Fullstack IoT Development

• Blog article: http://aka.ms/azureiotdevintro • Azure IoT dev center: http://aka.ms/azureiotdev • GitHub repo: http://github.com/azure/azure-iot-sdks • Watch Build 2016 videos on Channel 9

More about Azure IoT Hub

Page 39: Fullstack IoT Development

ESP8266

Page 40: Fullstack IoT Development

Today, we use…

Page 41: Fullstack IoT Development

Dycodex’s iothub.id Cloud

We’ve been using it internally, heavily during learning & prototyping. Then we decided to make it available for everyone.

Page 42: Fullstack IoT Development

Demo How hot is it here?

Page 43: Fullstack IoT Development

internet iothub.idCloud

Web app

internet

Demo Architecture

ESP8266 + BMP180

Page 44: Fullstack IoT Development

Temperature Reading

BMP180

Page 45: Fullstack IoT Development

DemoHey Siri…

Page 46: Fullstack IoT Development

Cloud

iOS

internet

Demo Architecture

HomeKit Accessory

(ESP8266-based)

internet

WiFi

Hub (Raspberry Pi-based)

WiFi

Page 47: Fullstack IoT Development

How to start?for developers

Page 48: Fullstack IoT Development

Solve your own problem

Start with…

Page 49: Fullstack IoT Development

Join Communities

Page 50: Fullstack IoT Development

Learn to code

What do you need

Page 51: Fullstack IoT Development

Developer Skillset

Electronics side Backend side Mobile side

[Obj-C]

Page 52: Fullstack IoT Development

Learn Basic Electronicsespecially digital electronics

What do you need

Page 53: Fullstack IoT Development

Use dev boards

Page 54: Fullstack IoT Development

Use Ready-to-use Cloud

Page 55: Fullstack IoT Development

Explore The Real World techs

Page 56: Fullstack IoT Development

IoT 3G or WiFinot only

Page 57: Fullstack IoT Development

Communication

Source: http://postscapes.com/internet-of-things-technologies

Page 58: Fullstack IoT Development

LoRa

Cloud

3G/4G/WiFi/Ethernet Internet

Sensor nodes:15-20km range, 10 years of battery life, small form factor

Page 59: Fullstack IoT Development

Sensor Radio Transceiver

Microcontroller(ESP8266)

Energy Source

Sensor Radio Transceiver

Microcontroller(ESP8266)

Energy Source

MQTT(internet)

Node

Azure IoT Hub

Node

Node

Gateway

Radio Transceiver WiFi

Raspberry Pi 2 BatteryLong Range

(radio)

Sensor Radio Transceiver

Microcontroller(ESP8266)

Energy Source

LoRa Use Case

Page 60: Fullstack IoT Development

IoT ≠ HTTP

Page 61: Fullstack IoT Development

Protocol

CoAP

Page 62: Fullstack IoT Development

Challenge & ExpoNext Year!

Join

v1.0 just finished on early June 2016

Page 63: Fullstack IoT Development

Join Our Classes…

+

Please keep checking our websitehttp://edu.dycode.co.id

Page 64: Fullstack IoT Development

+ + [Obj-C]

+

Join Our Classes…

http://edu.dycode.co.id/ios/

Page 65: Fullstack IoT Development

IoT development will breed A new type of engineer, expert in electronics Engineering while fluent in

software development

I believe…

Page 66: Fullstack IoT Development

DycodeX IS HIRING!

Interns are welcome

Page 67: Fullstack IoT Development

[email protected] | http://dycodex.com

Page 68: Fullstack IoT Development

• IoT communities on Facebook: IoT Geek Surabaya, IoT for Bandung, Arduino Indonesia, Raspberry Indonesia, IoT Indonesia, Indonesia IoT Connect, ESP8266 Indonesia

• Connect your things: http://iothub.id • Professional training: http://edu.dycode.co.id • DycodeX’s IoT products: http://dycodex.com

Call to Action

Page 69: Fullstack IoT Development

Thanks!Andri YadiEmail — a at dycode dot com twitter — @andri_yadi www — andriyadi.me github — github.com/andriyadi