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
180
0
Share
Smart Studio
Presented @ Breizhcamp 2015 #IoT
jinqian
June 11, 2015
More Decks by jinqian
See All by jinqian
KotlinConf 2019 | Bridge the physical world: Kotlin/Native on Raspberry Pi
jinqian
2
330
Bridge The Physical World: Kotlin Native on Raspberry Pi
jinqian
0
3.3k
From TensorFlow to ML Kit: Power your Android application with machine learning
jinqian
0
1.2k
From TensorFlow to ML Kit: power your mobile application with machine learning
jinqian
0
120
Play Rock-Paper-Scissors-Spock-Lizard with your Android Things
jinqian
0
540
EPF IoT class 2018
jinqian
0
120
ML Kit in Action
jinqian
1
460
From ProGuard to R8: take care of your byte code
jinqian
6
2.4k
[DroidCon London] Heat the neurons of your smartphone with Deep Learning
jinqian
0
460
Other Decks in Technology
See All in Technology
AIが変えた"品質の守り方"
kkakizaki
13
5.2k
AI時代から振り返るTerraform drift運用の歴史 / AI Age Reflections on the History of Terraform Drift Operations
aeonpeople
0
560
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
340
Claude Code x Accounting
kawaguti
PRO
1
340
Copilot CLI・IDE・Web・スマホで途切れない開発フローを目指して / One Copilot flow - CLI IDE Web Mobile
aeonpeople
1
1.1k
ルールやカスタム機能、どう使う?理想の出力を引き出すために今知りたいIBM Bob 5つの機能
muehara
0
110
Claude Codeですべての日常業務を爆速化しよう!
minorun365
PRO
16
15k
RubyでRuby拡張を書いたらRubyより35倍速になったってどういうこと??
kazuho
3
710
自称宇宙最速で不合格となったAIP-C01にリベンジを果たすべくAIで問題集アプリを作ってみた。
yama3133
0
230
Datadog 認定試験の概要と対策
uechishingo
0
150
Kaggle未経験社員をメダリストに育てる「AIドラゴン桜」
lycorptech_jp
PRO
0
640
基礎から解説!Icebergで紐解くSnowflake×Databricks連携の現在地
cm_yasuhara
0
360
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
55
12k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Technical Leadership for Architectural Decision Making
baasie
3
380
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
200
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
74k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
We Have a Design System, Now What?
morganepeng
55
8.1k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
710
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
120
Ethics towards AI in product and experience design
skipperchong
2
290
Joys of Absence: A Defence of Solitary Play
codingconduct
1
380
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