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
Honoとフロントエンドの 型安全性について
yodaka
4
250
TokyoR116_BeginnersSession1_環境構築
kotatyamtema
0
110
DROBEの生成AI活用事例 with AWS
ippey
0
130
Formの複雑さに立ち向かう
bmthd
1
720
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
9
2.2k
Amazon ECS とマイクロサービスから考えるシステム構成
hiyanger
2
490
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
210
Open source software: how to live long and go far
gaelvaroquaux
0
620
[JAWS-UG横浜 #80] うわっ…今年のServerless アップデート、少なすぎ…?
maroon1st
1
170
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
110
ペアーズでの、Langfuseを中心とした評価ドリブンなリリースサイクルのご紹介
fukubaka0825
2
300
Linux && Docker 研修/Linux && Docker training
forrep
23
4.5k
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
4 Signs Your Business is Dying
shpigford
182
22k
A Tale of Four Properties
chriscoyier
158
23k
Thoughts on Productivity
jonyablonski
69
4.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
630
Bash Introduction
62gerente
610
210k
Automating Front-end Workflow
addyosmani
1367
200k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
We Have a Design System, Now What?
morganepeng
51
7.4k
Fireside Chat
paigeccino
34
3.2k
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.