Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Smart Studio
Search
jinqian
June 11, 2015
Technology
0
160
Smart Studio
Presented @ Breizhcamp 2015 #IoT
jinqian
June 11, 2015
Tweet
Share
More Decks by jinqian
See All by jinqian
KotlinConf 2019 | Bridge the physical world: Kotlin/Native on Raspberry Pi
jinqian
2
280
Bridge The Physical World: Kotlin Native on Raspberry Pi
jinqian
0
3.1k
From TensorFlow to ML Kit: Power your Android application with machine learning
jinqian
0
1k
From TensorFlow to ML Kit: power your mobile application with machine learning
jinqian
0
87
Play Rock-Paper-Scissors-Spock-Lizard with your Android Things
jinqian
0
410
EPF IoT class 2018
jinqian
0
87
ML Kit in Action
jinqian
1
410
From ProGuard to R8: take care of your byte code
jinqian
6
2.3k
[DroidCon London] Heat the neurons of your smartphone with Deep Learning
jinqian
0
380
Other Decks in Technology
See All in Technology
DeepSeekとは?何がいいの? - Databricksと学ぶDeepSeek! 〜これからのLLMに備えよ!〜
taka_aki
1
170
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
170
OPENLOGI Company Profile
hr01
0
60k
Pwned Labsのすゝめ
ken5scal
2
540
事業を差別化する技術を生み出す技術
pyama86
2
480
EDRの検知の仕組みと検知回避について
chayakonanaika
12
5.2k
役員・マネージャー・著者・エンジニアそれぞれの立場から見たAWS認定資格
nrinetcom
PRO
4
6.5k
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
340
Amazon Athenaから利用時のGlueのIcebergテーブルのメンテナンスについて
nayuts
0
110
IoTシステム開発の複雑さを低減するための統合的アーキテクチャ
kentaro
1
130
AIエージェント開発のノウハウと課題
pharma_x_tech
8
4.6k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
530
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Building Your Own Lightsaber
phodgson
104
6.2k
BBQ
matthewcrist
87
9.5k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
GraphQLとの向き合い方2022年版
quramy
44
14k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Designing for humans not robots
tammielis
250
25k
Transcript
BreizhCamp 2015 #BzhCmp #IoT BreizhCamp 2015 #BzhCmp On a connecté
le studio ! Qian JIN - @bonbonking Sameh BEN FREDJ - @SamehBenF
Speakers Sameh Ben Fredj IoT Consultant & Data passionate
[email protected]
@SamehBenF Qian Jin Android Developer & Pythonista
[email protected]
@bonbonking
Xebia Studio
Xebia Studio
Ground Floor Xebia Studio 1st Floor Mezzanine
Xebia Studio XL Room Lannister Room Stark Room Targaryen Room
Meeting Room Toilet TV Xbox Hallway & Leisure Space Pinball Machine
Yes! A pinball machine!
A Day in Studio
A Day in Studio • Temperature differences • Surge of
noise level • Meeting room (a.k.a lunch room) occupied • Lights/TV left on • Coffee capsule shortage • Mobile device gone missing
What about connecting the Studio?
IoT: What is it?
IoT: How big?
IoT: How much? Source : EMC, IDC, 2013
IoT: Why should I care?
IoT@Work
IoT@Work: How ?
None
Get Hands Dirty
MQTT \ Backend Architecture Overview Hardware Data Service Frontend Publish
Subscribe Deliver Hardware Publish
Electronics
Hardware Nano Computer Micro Controller
Hardware • TI LaunchPad CC3200 + Platform Energia
Sensors Grove Temperature & Humidity Sensor Grove Motion Sensor Grove
Sound Sensor
Sensors
Example: data lecture & publish #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() { }
Example: data lecture & publish 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() {}
Hack the Coffee Machine
Hack the coffee machine
Hack the coffee machine FC-51 Infra Red Distance Sensor
Hack the coffee machine
Communication Protocol
Why MQTT? • Invented in 1999 by IBM and Eurotech
• Version 3.1.1 is now an OASIS Standard (Since November 2014) • mqtt.org
MQTT: light Pub/Sub model
Why MQTT? • Low overhead • Based on TCP/IP •
Low energy consumption • Support of WebSocket • Different implementations: Java/Python/C++ • Commercial and Open Source version
Backend
Backend • Node.js app on Heroku ◦ Connect to CloudMQTT
via Websocket ◦ REST service using Express ◦ Index/Query Elasticsearch data • Data in ElasticSearch ◦ JSON over HTTP ◦ Data aggregation made easy
Elasticsearch Aggregation "aggregations" : { "<aggregation_name>" : { "<aggregation_type>" :
{ <aggregation_body> } [,"aggregations" : { [<sub_aggregation>]+ } ]? } [,"<aggregation_name_2>" : { ... } ]* }
Frontend
Frontend • Data Visualization • Data Pulling: auto refresh every
5min • Deployed on Github pages • Tools we love
MQTT Broker (Cloud- MQTT) Architecture Overview CC3200 Sensors (Meeting room)
ElasticSearch (Bonsai Cluster) REST Service (Heroku Instance) FrontEnd Web Dashboard (Github Pages) Publish Subscribe Deliver Data Indexing Search & Aggregation CC3200 Sensors (Mezzanine) Publish
Difficulties
Difficulties • Newbies in electronics • Unstable Wi-Fi condition •
Curiosity visitors • Time! Time! Time!
Dashboard
Dashboard live: http://bit.ly/1e1sCER
Coworkers’ Reaction
Before
After
1st tweet
Next Steps
Physical Indications • Meeting room occupation sign • Button obsession
◦ Check-in button ◦ Croissant button • Hack the LED screen
Connected X • Connected Chairs • Connected Fridge • Connected
storage for mobile device ◦ RFID + Monitor Screen ◦ Inventory Made Easy
iBeacons • Presence tracking • Information pushing
Data mining • Data analysis and correlation • Prediction
Acknowledgment
Acknowledgment • Qian Jin (hardware + back) • Sameh Ben
Fredj (hardware) • Benjamin Lacroix (front) • Thomas Guerin (back) • Julien Buret (hardware) • Xebians who actively give suggestions ;)
Working Session
Thank you! Q&A