1 / 41

Building Blocks of IoT

Building Blocks of IoT. Hardware - Software - Cloud. Amazon,Google , Oracle. C. IDE’s. JavaScript. ESP 8266. MicroPython. Sensors. Raspberry Pi. Arduino. Satish Rao. Building Blocks of IoT. Hardware Sensors Microcontroller vs MicroProcessor Arduino vs ESP 8266 vs Raspberry Pi

tambre
Télécharger la présentation

Building Blocks of IoT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Building Blocks of IoT Hardware - Software - Cloud Amazon,Google, Oracle C IDE’s JavaScript ESP 8266 MicroPython Sensors Raspberry Pi Arduino Satish Rao

  2. Building Blocks of IoT • Hardware • Sensors • Microcontroller vs MicroProcessor • Arduino vs ESP 8266 vs Raspberry Pi • Software • Programming Languages • Integrated Development Environments (IDE) • Cloud • Communication Protocols • Cloud Vendors

  3. Sensors

  4. Sensors used in Smart Home’s

  5. MicroController (MCU) • Microcontroller is a processor that has its program and data memory built-in • Embedded inside some other device • Dedicated to one task • Low Power Devices • Small in size • Low in cost

  6. Microprocessor (MPU) • Microprocessor is an IC which has only the CPU inside them i.e. only the processing powers such as Intel’s Pentium 1,2,3,4, core 2 duo, i3, i5 etc. • These microprocessors don’t have RAM, ROM, and other peripheral on the chip.

  7. Microcontroller vs Microprocessor

  8. Arduinovs ESP 8266 vs Raspberry pi ESP 8266 Arduino Raspberry Pi

  9. Arduinovs ESP 8266 vs Raspberry pi

  10. Why MCU for IOT ? • Simplicity • Simply turn them on, upload firmware, and they work. Additionally, the coding required to program an MCU is minimal • Low Power • Consumes Less Power and Power Saving mode can be enabled • No Operating System • Code on MCUs runs “bare metal”, meaning it includes no intermediary operating system to execute instructions • Cost •  Can deliver all the processing power and functionality one needs at Less Cost

  11. Programming Languages and IDE’s • C/C++ • Most Popular Language for Embedded Systems • Mostly used for Arduino Boards • JavaScript • Widely used across Webpages • Popularity of Nodejs and open source nature • MicroPython • Optimized to run on microcontrollers

  12. IDE’s • Arduino IDE • Arduino framework is built for makers, the simplest way possible. Firmware logic has two functions, setup() and loop() and is synchronous by design • Programming in C like Language • PlatformIO • Its an open source ecosystem forIoTdevelopment • Supports Arduino C • NodeRed • Flowbased programming for the IoT • Built on Nodejs

  13. Cloud - Communication • Communication Protocols • HTTP • WebSockets • MQTT • CoAP

  14. HTTP • Its most important protocol today • It gives embedded devices an opportunity to use any service that exists and uses a HTTP or protocol based on it. • Its simple to use with microcontrollers • Works on Request / Response principle

  15. Websockets • WebSocket provides full-duplex communication • Connection is open between client and server • After initial handshake , each frame carries only a small header which reduces the overhead when compared to plain HTTP

  16. MQTT • Stands for “Message Queuing Telemetry Transport” • Most popular M2M Protocols • Its lightweigh and simple to use • Uses Publish/Subscribe communication model

  17. CoAP • stands for “Constrained Application Protocol” • It is a specialized web transfer protocol and ideal for use within constrained networks and environments • It’s built for multicast support, low overhead and simplicity. • CoAP is specifically designed to use minimal resources. This makes it ideal for the IoT. 

  18. Cloud Vendors • Amazon • Microsoft Azure • Oracle • IBM Bluemix • ThingSpeak • Ubidots

  19. Free IoT Dashboards • DIoTY - http://www.dioty.co • a cloud MQTT broker for the Internet of Things (IoT). • Easy to configure mobile app ready to use on both Android and iOS. • IoTtweet - http://www.iottweet.com/ • Free dashboard to control and record data from IoT. • Dweet.io – its like Twitter for “Things”

  20. Programming Languages For IoT • C / C++ • Javascript • MicroPython • Python • Lua • Nodejs • Java • Ruby • Go • C# - Windows 10 IoT Core

  21. Brains of IoT Raspberry Pi Arduino ESP 8266 C / C ++ Johnny Five JavaScript C / C++ Python JavaScript Nodejs Java Ruby/Go C# C / C++ MicroPython JavaScript Lua

  22. Integrated Development Environment (IDE’s)

  23. Arduino IDE Arduino framework is built for makers, the simplest way possible. Firmware logic has two functions, setup() and loop() and is synchronous by design.

  24. Ardublock – Visual IDE for Arudino

  25. mBlock is a graphical programming environment based on Scratch 2.0 Open Source Code that makes it  easy to program Arduino projects and create interactive.

  26. Visuino • Visuino is the latest innovative software from Mitov Software. • A visual programming environment allowing you to program your Arduino boards. • It currently supports the official Arduino boards, Teensy, Femto IO, ESP8266, ESP32, Controllino, Goldilocks Analogue, FreeSoC2, chipKIT, Maple Mini, and number of Arduino clones. www.visuino.com

  27. Platformio IDE PlatformIO is an open source ecosystem forIoTdevelopment www.platformio.org

  28. Web based platform designed to easily program and monitor your embedded devices Raspberry Pi, Intel Galileo & Edison and Beagle Bone Black are the only boards supported  C/C++/Java/Perl/Python/Java Script Languages Supported It’s not free.

  29. MicroPython • MicroPython is a lean and efficient implementation of the Python 3 programming language. • Includes a small subset of the Python standard library • Optimized to run on microcontrollers Supported Boards ESP 32 / NodeMCU / Py Boards

  30. Python • It is a very simple language to learn and easy to implement and deploy • It is portable, expandable and embeddable • Supports a lot of single board computers. • It has a huge community • Works on Raspberry Pi / Single Board Computers

  31. Johnny-Five • is the JavaScript Robotics & IoT Platform. • Released by Bocoup in 2012 • Works on all Arduino compatible boards • Uses nodejs Supported boards Arduino | Tessel 2 | BeagleBone | Intel Edison | Particle Photon http://johnny-five.io/

  32. An open source Operating System for the Internet of Things • Supported microcontrollers: ESP32, ESP8266, STM32, TI CC3200 • Code in C or JavaScript • Amazon AWS IoT and Google IoT integrated https://mongoose-os.com/

  33. Mongoose OS IDE/Interface

  34. References • C/C++ - http://arduino.cc • MicroPython – http://micropython.org • JavaScript - https://cylonjs.com/ • Java - http://pi4j.com/ • Go – https://gobot.io/ • Ruby - http://artoo.io/

  35. Thank You

More Related