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
82
1
Share
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
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
270
12 Factor CLI Apps with Cobra - Markus Zimmermann - cosee
godays
0
430
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
140
Amazon SNS/SQS with Go - Paul Borlin - Compassion International
godays
1
340
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
130
Serverless Ops – Bye-bye Bash, Hello Go! - Rob Sutter - Amazon
godays
0
110
Other Decks in Technology
See All in Technology
データ分析基盤の信頼を支える視点と設計
yuki_saito
2
730
個人AIからチームAIへ:開発における品質と生産性の再設計
moongift
PRO
0
250
Spring AI × MCP 入門〜AIエージェントへのツール公開、境界設計から始める最小構成 〜
yuyamiyamoto
0
150
OpenID Connectによるサービス間連携
takesection
0
130
AI時代の私の技術インプットとアウトプット術
tonkotsuboy_com
15
7.4k
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
4
990
Java正規表現エンジン(NFA)の仕組みと パフォーマンスを維持するための最適化手法
takeuchi_132917
0
130
なぜハノーバーメッセに行くべきなのか 〜初参加だから語れること〜
tanakaseiya
0
150
long-running-tasks
cipepser
2
420
AIが変えた"品質の守り方"
kkakizaki
13
5k
情シスがMCP環境導入時に打ちのめされる認可の崖
oidfj
0
720
Cloud Run のアップデート 触ってみる&紹介
gre212
0
190
Featured
See All Featured
Balancing Empowerment & Direction
lara
6
1.1k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
800
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Side Projects
sachag
455
43k
Skip the Path - Find Your Career Trail
mkilby
1
130
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
340
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
200
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
150
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