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.5k
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
Building Products in the LLM Era
ymatsuwitter
10
4.4k
Product Utilization of Large Language Models Starting Today
ymatsuwitter
3
2.5k
経営・意思・エンジニアリング
ymatsuwitter
23
19k
LLM in 2023 and 2024
ymatsuwitter
8
5.5k
Turbulent Technological Changes and Career Strategies
ymatsuwitter
2
2.6k
LLM in toB Service and Its UX
ymatsuwitter
7
10k
Agent and small LLM validation
ymatsuwitter
7
2.9k
Information management for a culture of speed: The story of Notion and LayerX
ymatsuwitter
4
9.8k
Monorepo on AWS
ymatsuwitter
0
290
Other Decks in Programming
See All in Programming
チームリードになって変わったこと
isaka1022
0
190
SRE、開発、QAが協業して挑んだリリースプロセス改革@SRE Kaigi 2025
nealle
3
4.1k
負債になりにくいCSSをデザイナとつくるには?
fsubal
9
2.3k
Pythonでもちょっとリッチな見た目のアプリを設計してみる
ueponx
1
480
AWS Organizations で実現する、 マルチ AWS アカウントのルートユーザー管理からの脱却
atpons
0
130
sappoRo.R #12 初心者セッション
kosugitti
0
230
[Fin-JAWS 第38回 ~re:Invent 2024 金融re:Cap~]FaultInjectionServiceアップデート@pre:Invent2024
shintaro_fukatsu
0
400
2024年のWebフロントエンドのふりかえりと2025年
sakito
1
230
【PHP】破壊的バージョンアップと戦った話〜決断と説得
satoshi256kbyte
0
120
Immutable ActiveRecord
megane42
0
130
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
660
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
210
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
427
64k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Navigating Team Friction
lara
183
15k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
RailsConf 2023
tenderlove
29
1k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
4 Signs Your Business is Dying
shpigford
182
22k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
A Modern Web Designer's Workflow
chriscoyier
693
190k
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.