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
Teaching a Vaccum Robot to be a Webradio in Go ...
Search
GoDays
January 30, 2019
Technology
1
78
Teaching a Vaccum Robot to be a Webradio in Go - Tobias Kohlbau, myOpenFactory
Teaching a Vaccum Robot to be a Webradio in Go - Tobias Kohlbau, myOpenFactory
GoDays
January 30, 2019
Tweet
Share
More Decks by GoDays
See All by GoDays
Standing on the shoulders of giants - Tomasz Janiszewski - D2IQ
godays
1
140
How to instrument Go code in 2020 - Björn Rabenstein - Grafana Labs
godays
1
260
12 Factor CLI Apps with Cobra - Markus Zimmermann - cosee
godays
0
420
Integration and end-to-end testing with TestContainers-Go - Nikolay Kuznetsov & Erdem Toraman - Zalando
godays
1
1.1k
Fun with Functions - Frank Müller - Loodse
godays
0
130
Amazon SNS/SQS with Go - Paul Borlin - Compassion International
godays
1
330
Writing a language parser in 15min (or less) - Xavier Coulon - Red Hat
godays
0
130
A story about distributed computing before the cloud arrived - Rogier Lommers - bol.com
godays
0
120
Serverless Ops – Bye-bye Bash, Hello Go! - Rob Sutter - Amazon
godays
0
100
Other Decks in Technology
See All in Technology
データマネジメント戦略Night - 4社のリアルを語る会
ktatsuya
1
220
DMBOKを使ってレバレジーズのデータマネジメントを評価した
leveragestech
0
240
ADK + Gemini Enterprise で 外部 API 連携エージェント作るなら OAuth の仕組みを理解しておこう
kaz1437
0
180
Phase08_クイックウィン実装
overflowinc
0
1.6k
AI時代のオンプレ-クラウドキャリアチェンジ考
yuu0w0yuu
0
230
品質を経営にどう語るか #jassttokyo / Communicating the Strategic Value of Quality to Executive Leadership
kyonmm
PRO
3
1.2k
Laravelで学ぶOAuthとOpenID Connectの基礎と実装
kyoshidaxx
4
1.8k
【社内勉強会】新年度からコーディングエージェントを使いこなす - 構造と制約で引き出すClaude Codeの実践知
nwiizo
22
11k
形式手法特論:SMT ソルバで解く認可ポリシの静的解析 #kernelvm / Kernel VM Study Tsukuba No3
ytaka23
1
770
AgentCoreとLINEを使った飲食店おすすめアプリを作ってみた
yakumo
2
230
「お金で解決」が全てではない!大規模WebアプリのCI高速化 #phperkaigi
stefafafan
5
2.2k
「捨てる」を設計する
kubell_hr
0
230
Featured
See All Featured
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
110
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
The Language of Interfaces
destraynor
162
26k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
How to Talk to Developers About Accessibility
jct
2
160
Information Architects: The Missing Link in Design Systems
soysaucechin
0
840
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
From π to Pie charts
rasagy
0
160
GraphQLとの向き合い方2022年版
quramy
50
14k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Transcript
TEACHING A VACCUM TEACHING A VACCUM ROBOT TO BE A
WEBRADIO ROBOT TO BE A WEBRADIO IN GO IN GO
ABOUT ME ABOUT ME Tobias Kohlbau So ware Developer @
Twitter: GitHub: myOpenFactory GmbH myOpenFactory GmbH @toktech @toktech tobiaskohlbau tobiaskohlbau
OBJECT OF INTEREST OBJECT OF INTEREST Xiaomi Mi Robot Vacuum
Cleaner
WHY XIAOMI VACUUM CLEANER? WHY XIAOMI VACUUM CLEANER? Cheap Works
like a charme Silent
None
HACKABLE HACKABLE Ubuntu OS powered by ARM v7 Processor Root
access without opening the device Cleaning Robot Hacking bit.ly/2VI5aTr bit.ly/2VI5aTr
MOTIVATION MOTIVATION 1. Seriously: Did my vacuum just talked to
me? 2. I want to hijack this
None
Cross compilation toolchain libasound for Vaccum Go based mp3 player
Running on my VACUUM
package main import ( "io" "log" "os" "github.com/hajimehoshi/go-mp3" "github.com/hajimehoshi/oto" )
func main() { res, err := http.Get("https://static.kohlbau.de/audio.mp3") if err != nil { log.Fatal(err) } decoder, err := mp3.NewDecoder(res.Body) if err != nil { log.Fatal(err) } defer decoder.Close() player, err := oto.NewPlayer(decoder.SampleRate(), 2, 2, 8192) if err != nil { log.Fatal(err) } defer player.Close() if _, err := io.Copy(player, decoder); err != nil { log.Fatal(err) } }
SECRET INGREDIENTS SECRET INGREDIENTS Webserver REST API Magic (some people
call it UI)
DEMO DEMO https://github.com/tobiaskohlbau/dustrobo https://github.com/tobiaskohlbau/dustrobo
QUESTIONS? QUESTIONS? @toktech @toktech