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

Recommend


More recommend