Bringing Intelligence to IoT Devices Challenges Faced and Soletta - - PowerPoint PPT Presentation

bringing
SMART_READER_LITE
LIVE PREVIEW

Bringing Intelligence to IoT Devices Challenges Faced and Soletta - - PowerPoint PPT Presentation

Bringing Intelligence to IoT Devices Challenges Faced and Soletta Approach Otavio Pontes OTC - Intel Bringing intelligence to IoT devices What is Soletta? IoT Framework Open Source Easy access: Sensors Actuators


slide-1
SLIDE 1

Bringing Intelligence to IoT Devices

Challenges Faced and Soletta Approach

Otavio Pontes OTC - Intel

slide-2
SLIDE 2

What is Soletta?

Bringing intelligence to IoT devices

■ IoT Framework ■ Open Source ■ Easy access:

○ Sensors ○ Actuators ○ Communication

■ Portable code ■ Different platforms, including small OSs

slide-3
SLIDE 3

Bringing intelligence to IoT devices

OIC

Hardware and Operating System Abstraction Layer

Application Kernel System Libs Hardware Comms

Soletta

Event dispatching GPIO Timers SPI PWM UART I2C Services Network Update Crypto Persistence MQTT Machine Learning Flow LWM2M HTTP

slide-4
SLIDE 4

I have a problem

slide-5
SLIDE 5

Bringing intelligence to IoT devices

slide-6
SLIDE 6

How can IoT help me?

slide-7
SLIDE 7

Bringing intelligence to IoT devices

slide-8
SLIDE 8

How can IoT help me?

■ Sensors monitoring the soil moisture ■ Light Sensors monitoring the light incidence in the plants ■ The device can send me a message to my smartphone when the plants need to be watered ■ I could water my plants remotely ■ The device could water the plants for me ■ Use a simple timer

Bringing intelligence to IoT devices

slide-9
SLIDE 9

Simple Watering Sample

slide-10
SLIDE 10

10

Server Client

Irrigator Network Resource

Garden Controller

Button network protocol network protocol Irrigator network resource relay switch Soil Moisture Sensor Sensor Network Resource Sensor Network Resource V C C

slide-11
SLIDE 11

11

Server Client

Irrigator Network Resource

Garden Controller

Button

(gpio/reader)

Sensor Network Resource

Simple Watering Sample

Bringing intelligence to IoT devices

slide-12
SLIDE 12

12

Simple Watering Sample

Bringing intelligence to IoT devices

slide-13
SLIDE 13
slide-14
SLIDE 14

When should we water the plants?

slide-15
SLIDE 15

How much water should we use?

slide-16
SLIDE 16

Why not learning from users

slide-17
SLIDE 17

17

Server Client

Irrigator Network Resource

Garden Controller

Button

(gpio/reader)

Sensor Network Resource

Simple Watering Sample

Bringing intelligence to IoT devices

SML

Timeblock

slide-18
SLIDE 18

18

Simple Watering Sample

Bringing intelligence to IoT devices

slide-19
SLIDE 19

■ 2 plants for 2 backends ■ Parrot Flower Power to monitor soil moisture ■ Both backends learned how to water the plants :)

Bringing intelligence to IoT devices

Soletta Garden

slide-20
SLIDE 20

What else could we do?

Bringing intelligence to IoT devices

■ Car air conditioning and stereo system

○ Changing configurations according to who is in the car.

■ Shower temperature and water volume

○ Based on body temperature, weather and who is in the shower

■ TV channel selection

○ Based on mood and number of people in the house

■ Delivery food suggestion

○ Based on mood and number of people in the house

■ Controlling house lights

○ Turn on and off lights when needed (security, comfort, economy)

slide-21
SLIDE 21

SML Overview

slide-22
SLIDE 22

Soletta Machine Learning

■ Machine Learning module for Soletta framework ■ Learns from user’s behavior ■ 2 different backends:

○ Fuzzy Logic algorithm ○ Artificial Neural Network

■ Extensible ■ It is not necessary to have deep knowledge in ML to use it ■ Runs locally

Bringing intelligence to IoT devices

slide-23
SLIDE 23

Why not running in the cloud?

■ Privacy ■ Security ■ Connectivity issues

slide-24
SLIDE 24

■ Developer defines sensors (INPUTS) and actuators (OUTPUTS) ■ SML learns from reading sensors and actuators status

○ Training (learning) ○ Trying to figure out how value read from sensors affects actuators

■ SML predicts actuator values based on current sensor values

○ We can act in actuators using predicted values

■ We don’t need to keep all collected data to train SML

Soletta Machine Learning

Bringing intelligence to IoT devices

slide-25
SLIDE 25

■ Uses Fuzzylite library ■ Adapts faster when user’s behavior changes ■ Better results ■ Only give predictions when current sensors state is similar to a state that has happened before

Fuzzy x ANN

Bringing intelligence to IoT devices

■ Uses Fast Artificial Neural Network library (FANN) ■ Learning is faster ■ Always give predictions ■ Lower memory consumption when using a large number of inputs/outputs ■ Tends to forget old events

slide-26
SLIDE 26

Challenges

slide-27
SLIDE 27

■ Simulations ■ Prototypes ■ Lamp prototype ○ First sample to gather real data ○ Change lamp color when a different user arrives near the lamp area

Bringing intelligence to IoT devices

Challenges: Validating Results

slide-28
SLIDE 28

■ What if SML prediction is not what user is expecting? ■ Garden: What if we are over watering the plants? ■ We need a way of sml knowing that users dislike the prediction ■ Suggestions

Bringing intelligence to IoT devices

Challenges: Incorrect predictions

slide-29
SLIDE 29

■ How will a party or a vacation affect SML learning process? ■ How fast are we going to learn a new user’s behavior?

Bringing intelligence to IoT devices

Challenges: Party!

slide-30
SLIDE 30

What’s next?

slide-31
SLIDE 31

What is next?

■ Adding support for different backends

○ Why not a backend that runs on the cloud?

■ Creating new prototypes and use SML in real world scenarios

○ Gather more real data to validate results

■ Extra simulations

Bringing intelligence to IoT devices

slide-32
SLIDE 32

Community

■ IRC: #soletta @freenode ■ Mailing Lists: https://lists.solettaproject.org ■ Code: https://github.com/solettaproject/soletta-machine-learning ■ Wiki: https://github.com/solettaproject/soletta/wiki/Soletta-Machine-Learning

Bringing intelligence to IoT devices

slide-33
SLIDE 33

Q&A Thanks

Otavio Pontes - otavio.pontes@intel.com