Download - Cc internet of things @ Thomas More
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 ProximusIoT 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.htmlUsage 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!