1
The future is now!
JWorks Competence Center IoT
Frederick Bousson
Kevin Van den Abeele
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
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
What is IoT
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
What was old is new again
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
Technologies
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
Hardware
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
Devices - Arduino
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
Devices - Raspberry Pi
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
Devices - Intel Edison
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
Devices - Tessel.io
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
Devices - Particle.io
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
Devices - Pinoccio
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
What is LoRa
25
What is LoRa
26
LoRa in depth
27
LoRa in depth
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
LoRa Alliance
https://www.lora-alliance.org
30
LoRa in Belgium
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
LoRa Devkit (Proximus)
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
Java on the Raspberry Pi
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
Java and IO pins
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
Java and IO pins… Continued
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
Alternatives?
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
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
Example WeatherGenie
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
Suit and tie
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
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
A look into the future
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
Questions?!
51
Thank you for attending!

Cc internet of things @ Thomas More

  • 1.
    1 The future isnow! JWorks Competence Center IoT Frederick Bousson Kevin Van den Abeele
  • 2.
    2 Who are we? Bringingyou 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 What we willtalk 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.
  • 5.
    5 What is IoT “IoTdescribes 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 What was oldis new again
  • 7.
    7 What was oldis 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.
  • 9.
    9 Technologies Some of thetechnologies 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.
  • 11.
    11 Hardware IoT capable devicescome 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.
  • 13.
    13 Devices - Arduino TheArduino 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.
  • 15.
    15 Devices - RaspberryPi 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.
  • 17.
    17 Devices - IntelEdison 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.
  • 19.
    19 Devices - Tessel.io Tessel2 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.
  • 21.
    21 Devices - Particle.io Particle.iois 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.
  • 23.
    23 Devices - Pinoccio Thepinoccio 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.
  • 25.
  • 26.
  • 27.
  • 28.
    28 LoRa in depth Basestation CO2, PIR, Humidity, Luminance, Temperature, Pressure, … The sky’s the limit when it comes to sensors! Sensor Types
  • 29.
  • 30.
  • 31.
    31 LoRa in Belgium Proximushas 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.
  • 33.
    33 LoRa Devkit (Proximus) Thedevkit: 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 Java on theRaspberry Pi
  • 35.
    35 Java on theRaspberry 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.
  • 37.
    37 Java and IOpins 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 Java and IOpins… Continued
  • 39.
    39 Java and IOpins… 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.
  • 41.
    41 Running Node.js Node.js isbuilt 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 Example WeatherGenie WeatherGenie isa node.js application that runs on the Raspberry Pi 2. Website: https://www.weathergenie.be/ Sources: https://www.github.com/beele/WeatherGenie
  • 43.
  • 44.
    44 Example WeatherGenie The dataprocessing 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.
  • 46.
    46 Big business People thinkthere 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 Big business… Continued Thereare 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 A look intothe future
  • 49.
    49 The IoT worldis 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.
  • 51.
    51 Thank you forattending!