building an open internet of things with java eclipse iot
play

Building an open Internet of Things with Java & Eclipse IoT - PowerPoint PPT Presentation

Building an open Internet of Things with Java & Eclipse IoT Benjamin Cab Eclipse Foundation IoT is Big Java for IoT? 9+ million Java developers Java 8 & embedded are fun Lots of IoT devices running on ARM Tooling


  1. Building an open Internet of Things with Java & Eclipse IoT Benjamin Cabé – Eclipse Foundation

  2. IoT is Big

  3. Java for IoT? ● 9+ million Java developers ● Java 8 & embedded are fun ● Lots of IoT devices running on ARM ● Tooling

  4. Open IoT Stack for Java

  5. End-to-end IoT with Java? Actuators/Sensors + Gateway + [ Cloud ] + User front-end

  6. Sensors / Actuators ● Manipulate sysfs directly ● Use Pi4J to have full support of GPIO/I2C/SPI ● Device I/O API with Java or Java ME

  7. Sensors / Actuators ● Pi4J – http://pi4j.com o Complete access to GPIOs/I2C/SPI o Very mature codebase, based on WiringPi o Support for popular shields (PiFace, Gertboard, … ) o Lots of code samples

  8. Pi4J in action Gp i o C on tr o ll e r g p i o = Gp i oFa ct o ry . g e t Ins t an c e(); Gp i oP i nD igit a l Ou t pu t p i n = g p i o .p r o vi s i onD igit a l Ou t pu t P i n( Rasp i P i n . GPIO_01 , "M y LED" , P i nS t a t e . HIGH ); Th r ead .s l eep( 5000 ); p i n . l ow(); Th r ead .s l eep( 5000 ); p i n . t o ggl e(); g p i o .shu t down();

  9. Gateway

  10. Gateway

  11. Gateway

  12. Gateway Connect Manage the hardware sensors to the world and software running at the edge

  13. Connect? ● CoAP o « HTTP over UDP » o Expose your device as a resource to the Internet of Things ● MQTT o Publish/Subscribe model o More room for local processing

  14. CoAP: The web-of-things /on /on /on /red /green /blue /mtbf /buttons /walk /buttons/1/push /hand/left/raise /bat-level /eye/picture /engine/status /position /CO2 /fuel /noise /lights/on

  15. Eclipse Californium ● Focus on scalability and usability ● To be used in IoT cloud servers or M2M/IoT devices running Java ● Includes DTLS implementation (Scandium), HTTP/CoAP bridge, Plugtests, … http://eclipse.org/californium

  16. MQTT: Publish & Subscribe BROKER

  17. Eclipse Paho ● Open-source MQTT clients ● Pick your language! o Java o JavaScript o C/C++, Objective C o Go, Lua, Python, .NET, WinRT, … http://eclipse.org/paho

  18. MQTT brokers ● Eclipse Mosquitto o C implementation o Scalable (1000 clients == 3MB RAM) ● Eclipse Moquette o Java implementation o Based on Netty and LMAX disruptor

  19. Manage? ● Gateway itself o wireless modem, firewall, … ● Applications o Install/Uninstall software packages o Start/Stop applications ● Sensors o H/W abstraction layer

  20. Eclipse Kura Operation & Management Applications Administration GUI App 1 App 2 . . . . App n Connectivity and Delivery Network Configuration Network Management Field Protocols Gateway Basic Services Device Abstraction OSGi Application Container Java VM Linux Hardware

  21. Installing Kura cd ¡~ ¡ sudo ¡apt-­‑get ¡update ¡ wget ¡https://s3.amazonaws.com/kura_downloads/raspbian/release/ ¡\ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡1.1.0/kura_1.1.0_raspberry-­‑pi_armv6.deb ¡ sudo ¡dpkg ¡-­‑i ¡kura_1.1.0_raspberry-­‑pi_armv6.deb ¡ sudo ¡apt-­‑get ¡install ¡-­‑f ¡ sudo ¡reboot ¡ ¡

  22. First steps with Kura ● Network management o Cellular Modem, WiFi o Firewall o NAT ● OSGi and system administration ● IoT server communication settings

  23. Kura API ● OSGi services that you can re-use in your own components o Cl o ck Se rvic e o Da t aSe rvic e , Cl oudSe rvic e o Cry p t oSe rvic e (AES, base64, SHA-1) o Pos iti onSe rvic e (geolocation) o … and many others ● And of course you can leverage a huge ecosystem of Java and OSGi libraries

  24. Demo time!

  25. End-user interaction ● JavaFX Charts ● Eclipse BIRT ● Smartphone app (e.g Android) o https://www.eclipse.org/paho/clients/android ● MQTT + WebSockets = ♡ o https://www.eclipse.org/paho/clients/js

  26. If you had to remember only 3 things... #1 Kura is awesome! Go download it now! http://eclipse.org/kura

  27. If you had to remember only 3 things... #2 Build your own greenhouse & follow the tutorial http://iot.eclipse.org/java/tutorial

  28. If you had to remember only 3 things... #3 Eclipse Open IoT Stack for Java is much more than Kura http://iot.eclipse.org/java

  29. Get Involved!

  30. Thank you! Questions? benjamin@eclipse.org @kartben http://iot.eclipse.org

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend