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
11
10k
Product Utilization of Large Language Models Starting Today
ymatsuwitter
3
2.9k
経営・意思・エンジニアリング
ymatsuwitter
23
20k
LLM in 2023 and 2024
ymatsuwitter
8
5.8k
Turbulent Technological Changes and Career Strategies
ymatsuwitter
2
2.9k
LLM in toB Service and Its UX
ymatsuwitter
7
11k
Agent and small LLM validation
ymatsuwitter
7
3k
Information management for a culture of speed: The story of Notion and LayerX
ymatsuwitter
4
10k
Monorepo on AWS
ymatsuwitter
0
330
Other Decks in Programming
See All in Programming
The State of Fluid (2025)
s2b
0
200
物語を動かす行動"量" #エンジニアニメ
konifar
14
5.5k
デザインシステムが必須の時代に
yosuke_furukawa
PRO
2
110
Jakarta EE Core Profile and Helidon - Speed, Simplicity, and AI Integration
ivargrimstad
0
190
AI OCR API on Lambdaを Datadogで可視化してみた
nealle
0
180
Laravel Boost 超入門
fire_arlo
1
120
レガシープロジェクトで最大限AIの恩恵を受けられるようClaude Codeを利用する
tk1351
2
1.2k
サイトを作ったらNFCタグキーホルダーを爆速で作れ!
yuukis
0
490
LLMOpsのパフォーマンスを支える技術と現場で実践した改善
po3rin
8
980
CSC305 Summer Lecture 05
javiergs
PRO
0
110
Portapad紹介プレゼンテーション
gotoumakakeru
1
130
TanStack DB ~状態管理の新しい考え方~
bmthd
2
330
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.7k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
Faster Mobile Websites
deanohume
309
31k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
20k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
Why Our Code Smells
bkeepers
PRO
338
57k
Bash Introduction
62gerente
614
210k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Fireside Chat
paigeccino
39
3.6k
The Invisible Side of Design
smashingmag
301
51k
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.