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
My Smart? Home Architecture with Golang
Search
y_matsuwitter
June 22, 2015
Programming
6
3.4k
My Smart? Home Architecture with Golang
「我が家のアーキテクチャ with Gokang」
GoCon2015 summerにて
y_matsuwitter
June 22, 2015
Tweet
Share
More Decks by y_matsuwitter
See All by y_matsuwitter
経営・意思・エンジニアリング
ymatsuwitter
21
16k
LLM in 2023 and 2024
ymatsuwitter
8
4.1k
Turbulent Technological Changes and Career Strategies
ymatsuwitter
1
2.3k
LLM in toB Service and Its UX
ymatsuwitter
6
8.8k
Agent and small LLM validation
ymatsuwitter
7
2.7k
Information management for a culture of speed: The story of Notion and LayerX
ymatsuwitter
4
9k
Monorepo on AWS
ymatsuwitter
0
210
Tech behind LayerX SaaS products
ymatsuwitter
0
2.6k
2022-10-14-geeksai
ymatsuwitter
23
17k
Other Decks in Programming
See All in Programming
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
820
エンターテイメント業界で利用されるAWS
demuyan
0
210
Ruby Pattern Matching
bkuhlmann
0
930
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
340
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
950
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
170
Elm Form Validation
bkuhlmann
0
510
ゆるい個人開発のススメ
kuroppe1819
10
990
Komplexe Oberflächen mit SVG und der Web Animation API
joergneumann
0
670
TYPO3 v13 – The road to LTS: What's new and new APIs
luisasofie_xoxo
0
210
ONE WEDGE_company_guide
1wedge_one
0
490
TCAとKMPを用いた新規動画配信アプリ 「ABEMA Live」の設計
tomu28
1
110
Featured
See All Featured
Producing Creativity
orderedlist
PRO
337
39k
A Philosophy of Restraint
colly
197
16k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
Scaling GitHub
holman
457
140k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
20
1.9k
Facilitating Awesome Meetings
lara
42
5.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
322
20k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Done Done
chrislema
178
15k
Transcript
զ͕ՈͷΞʔΩςΫνϟ w/ Golang Architecture of my smart? home with Golang
About me • Gunosy inc., Corporate Officer • iOS, Android,
Infrastructure, Web, etc... • Uses Golang in production since 2014/02 • ਖ਼࠲
Lunch Hack @Gunosy • ͓னʹࣾһͰू·ͬͯࣗ༝ʹ։ൃਐΊΔΠϕϯτ • ࠓճͷ͓͜͜Ͱ։ൃͨ͠ͷͰ͢
͍ͭͰGolangΤϯδχΞืूத We are always hiring Golang engineers.
About today's talk • झຯ։ൃͰࣗΛͦΕͬΆ͍εϚʔτԽͨ͠ • The story about my
(maybe not) intelligent home
Overview
Overview • MQTT broker centered architecture • RaspberryPi with temperature
and humidity sensor • Slack with bots • IRKit (as air conditioner controller) • Influxdb (for data store) • Mackerel (for server monitoring)
with Golang!!
MQTT with Go MQTT is a machine-to-machine (M2M)/"Internet of Things"
connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport.
MQTT with Go • MQTT Broker centered, event driven data
flow. • One to many Pub/Sub message queueing. • 2 kind of topics. (/command, /sensor)
RaspberryPi with Go • Collect sensor data (SHT21) • Send
sensor values to MQTT broker • Monitored by mackerel-agent with kidoman/embd
Slack Bot with Go • Using Slack's slash command and
incoming webhook integrations. • A Slash command process sends command event to MQTT Broker. • Bot Processes receive events and send some information to Slack.
IRKit with Go • Wifi connected remote controller • HTTP
API • MQTT broker => command event => Go => Power on/off More about IRKit => Link
Demo
Point • Send events and sensor values to MQTT anyway.
Golang empowers your home hack. Runs almost anywhere you want.