O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Cc internet of things @ Thomas More

559 visualizações

Publicada em

Presentation about IoT given at the Thomas More College.

Publicada em: Tecnologia
  • Login to see the comments

Cc internet of things @ Thomas More

  1. 1. 1 The future is now! JWorks Competence Center IoT Frederick Bousson Kevin Van den Abeele
  2. 2. 2 Who are we? Bringing you innovative Java/JavaScript based solutions with a topteam. Tech blog: http://ordina-jworks.github.io/ Slideshare: http://slideshare.net/OrdinaORAJ/ Youtube: https://youtube.com/channel/UCsebfWdqV7LqNNDMDvCESIA
  3. 3. 3 What we will talk about today! ● What is IoT ● Technologies ● Hardware ● What is LoRa ● LoRa in depth ● In depth: using the Raspberry Pi for IoT ● A look into the future ● Q&A
  4. 4. 4 What is IoT
  5. 5. 5 What is IoT “IoT describes a system where items in the physical world, and sensors within or attached to these items, are connected to the Internet via wireless and wired Internet connections.” - Cisco The main IoT concepts are: ● Low power devices ● Gather data ● Process data ● Improve business
  6. 6. 6 What was old is new again
  7. 7. 7 What was old is new again Gathering data with sensors is not new! Has been done for ages with older tech (PLCs) → This older tech is not versatile and very expensive The new IoT ‘movement’ revives this old concept by using low power devices and sensors which are connected via the internet. With today’s technologies; big data, analytics it is possible to detect trends and make predictions with the data that is gathered.
  8. 8. 8 Technologies
  9. 9. 9 Technologies Some of the technologies that are used: Hardware: ● Wireless (2/3/4g, LoRa, Bluetooth LE, RF, …) ○ Point to point, mesh networks, Internet connected,... ● Small low power components ○ ARM CPUs (x86 making a comeback) ○ Highly efficient radios ○ Lipo batteries ● Uncountable hardware platform, a lot of which are Arduino based Software: ● Big data, store and analyse the data ● Machine Learning
  10. 10. 10 Hardware
  11. 11. 11 Hardware IoT capable devices come in many forms. Below is a list of some of the most used devices: ● Arduino ● Raspberry Pi ● Intel Edison ● Tessel.io ● Particle.io ● Pinoccio ● And many many others! Making a custom device is also an option, especially when specific functionality is required.
  12. 12. 12 Devices - Arduino
  13. 13. 13 Devices - Arduino The Arduino platform is a well known one, used by a lot of people. It is very versatile and easy to get started with. Can be used for a wide range of project including IoT ● Different models (Uno, Due, Mini, Nano, …) ● Languages: Arduino (based on C/C++) ● Storage: 32KB flash ● https://www.arduino.cc/
  14. 14. 14 Devices - Raspberry Pi
  15. 15. 15 Devices - Raspberry Pi The Raspberry Pi is also a well known platform. It features a lot more powerful hardware than the Arduino (it is in fact a fully fledged pc). ● Different models: A(+) / B(+) / 2 / Zero / 3 ● Multiple use cases, digital signage, media player, electronics,... ● Languages: C/C++, Java, Javascript, PHP, Ruby, … ● Storage: SD card or external storage via USB ● https://www.raspberrypi.org/
  16. 16. 16 Devices - Intel Edison
  17. 17. 17 Devices - Intel Edison The Intel Edison is a ‘new’ platform that brings the power of the x86 instruction set to the IoT field. More expert knowledge is required to use this in comparison with the Raspberry Pi. ● X86 based CPU, a lot more powerful ● Languages: C/C++, Arduino Sketch, Javascript, Python ● Storage: 4GB onboard ● Integrated WiFi (802.11 a/b/g/n @ 2.4 & 5GHz) ● Integrated BLE ● http://www.intel.com/content/www/us/en/do-it-yourself/edison.html
  18. 18. 18 Devices - Tessel.io
  19. 19. 19 Devices - Tessel.io Tessel 2 is a modular hardware platform that is meant to get your project prototype up and running very quickly. You however lock yourself into their ecosystem! ● Highly modular hardware platform ● Languages: Javascript, Python, Rust ● Integrated WiFi (802.11 b/g/n @ 2.4 & 5GHz) ● https://tessel.io/
  20. 20. 20 Devices - Particle.io
  21. 21. 21 Devices - Particle.io Particle.io is a platform that focusses specifically on the IoT field. It is mostly Arduino compatible and therefore is also easy to get started with. ● Different models: Spark Core, Photon (wifi), Electron (2/3g) ● From prototyping to full rollout ● Ready-to-go device: hardware & software already supplied ● Connects to cloud ● Manage and control devices using a REST api ● Arduino code compatible (mostly) ● https://www.particle.io/
  22. 22. 22 Devices - Pinoccio
  23. 23. 23 Devices - Pinoccio The pinoccio platform aims to be fully ready out of the box with the inclusion of wifi/2/3g and a streaming REST api. ● Prototyping - Arduino compatible ● Languages: ScoutScript, extendable with custom C/C++ ● Ready-to-go device ● Manage devices using the cloud infrastructure ● Program unit through web app or arduino IDE ● https://www.crowdsupply.com/pinoccio/mesh-sensor-network
  24. 24. 24 What is LoRa
  25. 25. 25 What is LoRa
  26. 26. 26 LoRa in depth
  27. 27. 27 LoRa in depth
  28. 28. 28 LoRa in depth Base station CO2, PIR, Humidity, Luminance, Temperature, Pressure, … The sky’s the limit when it comes to sensors! Sensor Types
  29. 29. 29 LoRa Alliance https://www.lora-alliance.org
  30. 30. 30 LoRa in Belgium
  31. 31. 31 LoRa in Belgium Proximus has launched its LoRa Beta program in Belgium ● Limited coverage (10 cities) ● Preview access to SEaaS (Sensor as a Service) API ● 6 months free access to the network ● http://www.proximus.be/nl/id_cl_iot/grote-bedrijven-en- overheden/oplossingen/internet-en-netwerken/internet-of-things.html Wireless Things network in Belgium ● Wider coverage than Proximus ● Wide support for LoRaWan devices ● http://wirelessthings.be/nl/index.php
  32. 32. 32 LoRa Devkit (Proximus)
  33. 33. 33 LoRa Devkit (Proximus) The devkit: http://www.allthingstalk.com/lora-rapid-development-kit ● IoT Computer - SODAQ Arduino ● Grove modular connectors ● Bee socket (Radio module) ● Micro SD slot ● RTC The included LoRa radio is pre- configured for the Proximus IoT network and has a range of up to 15 km.
  34. 34. 34 Java on the Raspberry Pi
  35. 35. 35 Java on the Raspberry Pi Java runs pretty well on the Raspberry Pi, especially on model 2. The Raspbian OS has Java 1.8 installed by default. Capabilities: ● Most normal jars will run just fine (slower and memory limited) ● Can run complex user interfaces when using JavaFx ○ Has full hardware acceleration for UI rendering ○ Forget Swing and AWT! ○ The Devoxx screens were running on a Pi with JavaFx Info & download: http://www.oracle.com/technetwork/java/javase/downloads/jdk8- downloads-2133151.html
  36. 36. 36 Java and IO pins
  37. 37. 37 Java and IO pins Model A and B: ● 26 pins ● https://www.raspberrypi.org/documentation/usage/gpio/ ● 17 of 26 pins are for GPIO Model A+, B+, Zero and 2: ● 40 pins ● https://www.raspberrypi.org/documentation/usage/gpio-plus-and-raspi2/ ● 26 of 40 pins are for GPIO These GPIO pins can be used to collect data from sensors, to drive servos, LEDs and other peripherals: http://wiringpi.com/pins/
  38. 38. 38 Java and IO pins… Continued
  39. 39. 39 Java and IO pins… Continued To use the GPIO pins from within Java an extra library is needed, as there is no native support within Java. This is where PI4J comes in. It is a easy to use library to control the GPIO pins. Installation is easy and is documented on http://pi4j.com/install.html Usage is also not that difficult: http://pi4j.com/usage.html
  40. 40. 40 Alternatives?
  41. 41. 41 Running Node.js Node.js is built on Chrome's V8 JavaScript engine and uses an event- driven, non-blocking I/O model. ● Easy to setup and use ● Uses ‘plain’ javascript ● Requires no compilation ● Code is portable (like java) ● Can also make use of the Raspberry Pi’s I/O ○ https://www.npmjs.com/package/pi-gpio More information: https://nodejs.org/en/
  42. 42. 42 Example WeatherGenie WeatherGenie is a node.js application that runs on the Raspberry Pi 2. Website: https://www.weathergenie.be/ Sources: https://www.github.com/beele/WeatherGenie
  43. 43. 43 Example WeatherGenie
  44. 44. 44 Example WeatherGenie The data processing is done on a separate node worker instance. This way the application remains responsive while it is working on the new data. Weather data comes from: ● openweathermap.com ○ current and predicted weather conditions ● buienradar.be ○ Rain data is extracted from animated gifs ○ lat/lon can be converted to rain intensity ● blitzortung.org ○ Lightning data is obtained through a websocket connection
  45. 45. 45 Suit and tie
  46. 46. 46 Big business People think there is no business incentive for IoT. “Toys, fun and giggles” - Random business type person They are wrong! IoT can have a significant impact for businesses. ● Status and product tracking ● Acquire and analyze data ● Adapt to changing conditions ➔ Reducing costs – optimizing workflow – greater control
  47. 47. 47 Big business… Continued There are a lot of viable business cases, a few examples: ● Enhanced tracking of packets/parcels ● Workforce tracking (cars/route optimizations) ● Early warning systems ● Parking lot detection systems ● Medical tracking (with internal or external sensors) ● … IoT and big data go hand in hand. But an often overlooked aspect is security. If we start tracking everything we must also be certain that all this data is secure. Privacy is another concern that must be kept in mind when tracking objects/people.
  48. 48. 48 A look into the future
  49. 49. 49 The IoT world is currently experiencing a surge of new and improved technologies. The future will bring new and exciting opportunities to explore previously unexplored areas. ● Better battery technology/lower power consumption ● A better IoT network (improved WiFi/LoRa/Bluetooth/gsm/cdma/…) ● Better and more sensors ● Better data analyzing techniques ● Smart -everything- ○ Watches ○ Homes ○ Cars ○ ... A look into the future
  50. 50. 50 Questions?!
  51. 51. 51 Thank you for attending!

×