on a connecté le studio !
TRANSCRIPT
![Page 1: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/1.jpg)
BreizhCamp 2015 #BzhCmp
#IoT
BreizhCamp 2015 #BzhCmp
On a connecté le studio !
Qian JIN - @bonbonkingSameh BEN FREDJ - @SamehBenF
![Page 2: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/2.jpg)
Speakers
Sameh Ben Fredj IoT Consultant & Data passionate
[email protected] @SamehBenF
Qian JinAndroid Developer & Pythonista
[email protected] @bonbonking
![Page 3: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/3.jpg)
Xebia Studio
![Page 4: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/4.jpg)
Xebia Studio
![Page 5: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/5.jpg)
Ground Floor
Xebia Studio
1st Floor
Mezzanine
![Page 6: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/6.jpg)
Xebia Studio
XL Room
LannisterRoom
StarkRoom
TargaryenRoom
MeetingRoom
Toilet
TVXbox
Hallway & Leisure Space
PinballMachine
![Page 7: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/7.jpg)
Yes! A pinball machine!
![Page 8: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/8.jpg)
A Day in Studio
![Page 9: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/9.jpg)
A Day in Studio
! Temperature varies! Surge of noise level! Meeting room (a.k.a lunch room) occupied! Lights/TV left on! Coffee capsule shortage! Mobile device gone missing
![Page 10: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/10.jpg)
What about connecting the Studio?
![Page 11: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/11.jpg)
IoT: What is it?
![Page 12: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/12.jpg)
IoT: How big?
![Page 13: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/13.jpg)
IoT: How much?
Source : EMC, IDC, 2013
![Page 14: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/14.jpg)
IoT: Why Should I care?
![Page 15: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/15.jpg)
IoT@Work
![Page 16: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/16.jpg)
IoT@Work: Why ?
! Smart Office○ Energy management○ Activity tracking○ Consumption tracking○ Space management
! Smart Employee○ Data sharing○ Health monitoring○ Time management
![Page 17: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/17.jpg)
IoT@Work: How ?
![Page 18: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/18.jpg)
Get Hands Dirty
![Page 19: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/19.jpg)
Tech Stack
! Electronics: TI LaunchPad CC3200 + Energia + Grove sensors
! Communication: MQTT clients + CloudMQTT
! Frontend: Bower + Gulp + Github Pages + DataViz libraries
! Backend○ Node.js + Heroku○ Elasticsearch + Bonsai.io
![Page 20: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/20.jpg)
MQTT Broker
(Cloud-MQTT)
Architecture Overview
CC3200Sensors
(Meeting room)
DataElasticSearch
(Bonsai Cluster)
BackendREST Service
(Heroku Instance)
FrontEndWeb Dashboard(Github Pages)
Publish
Subscribe
Deliver
Store Data
Search & Aggregation
HTTP Request
s
CC3200Sensors
(Mezzanine)
Publish
![Page 21: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/21.jpg)
Electronics
![Page 22: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/22.jpg)
Hardware
Nano Computer Micro Controller
![Page 23: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/23.jpg)
Hardware
! TI LaunchPad CC3200 + Platform Energia
![Page 24: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/24.jpg)
Sensors
! Grove Sensors from Seeed Studio○ Temperature & Humidity sensor○ Motion sensor○ Sound sensor
! Others○ FC-51 Infra Red Distance Sensor○ Light sensor
![Page 25: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/25.jpg)
Sensors
Grove Temperature & Humidity Sensor
Grove Motion Sensor
Grove Sound Sensor
![Page 26: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/26.jpg)
Sensors
![Page 27: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/27.jpg)
Example: data lecture#include <WiFi.h> #include <PubSubClient.h> #include <DHT.h>
// PIN POSITIONS #define TEMP_HUMI_PIN 24 #define SOUND_SENSOR 6 #define LIGHT_SENSOR 2
#define ROOM_ID 1
DHT dht(TEMP_HUMI_PIN, DHT22); WiFiClient wifiClient; PubSubClient client(server, 16301, callback, wifiClient);
char temp_buffer[256]; char humidity_buffer[256];
void setup() { // Setting up ...
dht.begin(); } void loop() { }
![Page 28: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/28.jpg)
Example: data lecture
void loop() { // read values from sensors & pubish to mqtt
_temperature = dht.readTemperature(); _humidity = dht.readHumidity();
sprintf(temp_buffer, "{\"value\": %d,\"room_id\": %d}", _temperature, ROOM_ID); sprintf(humidity_buffer, "{\"value\": %d,\"room_id\": %d}", _humidity, ROOM_ID);
if (client.publish("temp", temp_buffer) && client.publish("humidity", humidity_buffer){
log("Data published succeeded!"); } else {
log("Data publish failed"); }
delay(5000); }
void log() {}
![Page 29: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/29.jpg)
Hack the Coffee Machine
![Page 30: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/30.jpg)
Hack the coffee machine
![Page 31: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/31.jpg)
Hack the coffee machine
FC-51 Infra Red Distance Sensor
![Page 32: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/32.jpg)
Hack the coffee machine
![Page 33: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/33.jpg)
CommunicationProtocol
![Page 34: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/34.jpg)
Why MQTT?
MQTT vs XMPP vs AMQP
![Page 35: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/35.jpg)
MQTT
! Invented in 1999 by IBM and Eurotech
! Version 3.1.1 is now an OASIS Standard (Since November 2014)
![Page 36: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/36.jpg)
Backend
![Page 37: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/37.jpg)
Backend
! Node.js app on Heroku○ Connect to CloudMQTT via Websocket○ REST service to frontend○ Index/Query Elasticsearch data
! Data in ElasticSearch○ JSON over HTTP○ Data aggregation made easy
![Page 38: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/38.jpg)
Elasticsearch Aggregation
"aggregations" : { "<aggregation_name>" : { "<aggregation_type>" : { <aggregation_body> } [,"aggregations" : { [<sub_aggregation>]+ } ]? } [,"<aggregation_name_2>" : { ... } ]* }
![Page 39: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/39.jpg)
Frontend
![Page 40: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/40.jpg)
Frontend
! Data Visualization! Data Pulling: Auto Refresh every 5min! Deployed on Github pages! Tools we love
![Page 41: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/41.jpg)
Dashboard
![Page 43: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/43.jpg)
Troubles
![Page 44: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/44.jpg)
Troubles
! Newbies in electronics! Unstable Wi-Fi condition! Lack of monitoring mechanism! Curiosity visitors! Time! Time! Time!
![Page 45: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/45.jpg)
Coworkers’Reaction
![Page 46: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/46.jpg)
Before
![Page 47: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/47.jpg)
After
![Page 48: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/48.jpg)
1st tweet
![Page 49: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/49.jpg)
Next Steps
![Page 50: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/50.jpg)
Physical Indications
! Meeting room occupation sign
! Button obsession○ Check-in button○ Croissant button
! Hack the LED screen
![Page 51: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/51.jpg)
Connected X
! Connected Chairs! Connected Fridge! Connected storage for mobile device○ RFID + Monitor Screen○ Inventory Made Easy
![Page 52: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/52.jpg)
iBeacons
! Presence tracking! Information pushing
![Page 53: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/53.jpg)
Data mining
! Data analysis and correlation! Prediction
![Page 54: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/54.jpg)
Acknowledgment
![Page 55: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/55.jpg)
Acknowledgment
! Qian Jin (hardware + back)! Sameh Ben Fredj (hardware)! Benjamin Lacroix (front)! Thomas Guerin (back)! Julien Buret (hardware)! Xebians who actively give suggestions ;)
![Page 56: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/56.jpg)
Working session
![Page 57: On a connecté le studio !](https://reader031.vdocuments.us/reader031/viewer/2022021919/586fdacb1a28ab18428b5edf/html5/thumbnails/57.jpg)
Thank you!Q&A