Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
FirebaseとArduinoで忘れ物をなくす
Search
Masaki Kuge
October 07, 2018
0
480
FirebaseとArduinoで忘れ物をなくす
Masaki Kuge
October 07, 2018
Tweet
Share
More Decks by Masaki Kuge
See All by Masaki Kuge
2019/7/11 LT at TUAT
astpy_ms
0
72
2019/6/18 LT at TUAT
astpy_ms
0
130
進路指導
astpy_ms
0
140
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Bash Introduction
62gerente
615
210k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
The Invisible Side of Design
smashingmag
302
51k
Git: the NoSQL Database
bkeepers
PRO
432
66k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
Facilitating Awesome Meetings
lara
57
6.7k
We Have a Design System, Now What?
morganepeng
54
7.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Visualization
eitanlees
150
16k
Transcript
Firebase と Arduino で 忘れ物をなくす 1
リラックスして 聴いていただければ 2
メンバー紹介 3
久下 柾 (Kuge Masaki) グループ統制 / Arduino プログラム 担当 ⼯業枠特別推薦で⾸都⼤学東京に合格
1 ⽇1 ⾷ オールジャンルマジキチ⾳ゲーマー 4
寺⽥洋⼈ (Terada Hiroto) Android アプリ担当 通称 ⿂ この課題研究の全ての元凶 とにかく写真写りが悪い 5
⼭⼝ 航輝 (Yamaguchi Kouki) ハードウェア全般担当 通称 ぐっちー この課題研究の救世主 遅寝早起き 6
コンセプト 7
忘れ物をなくす 8
進学⽤にやっておきたいこと 授業で培った知識を実践で活かしたい ⾯接のネタとして活⽤したい 興味のある分野について勉強したい ハード、ソフトの向き不向きをわかりたい プログラミングの地⼒をつけたい スライドショーづくりに慣れておきたい 9
制約 経費は9,000 円以内 → ただし私物は0 円として計算する 著作権、電波法などの法律に引っかからない 命及び環境に危険を及ぼす開発はしない ( 例)
原⼦⼒発電など 10
概要 忘れ物を家に出るときに通知してくれる何か 11
性能要件 家を出るときに、登録しておいたクリップが近く にあるかを確認し、なかったら通知する。 クリップ( 忘れ物) が⾒つからない場合、アプリの⽅ から⾳をクリップに⾳を出させる クリップを常につけておくことで、外出先ですぐ に通知を予約することができる 各クリップにはアプリ側で名前をつけられる
12
わかりづらすぎる 13
噛み砕いてみる 親機→ ⽞関に置いておく ⼦機→ 忘れ物につけておく スマホアプリ→ ⼦機を予約しておく 1. ⽞関に置いてある親機のスイッチを押す 2.
親機が予約してある⼦機が近くにあるか探す 3. 近くにない⼦機をスマホに通知する 14
初期案 15
忘れ物の予約をスマホから⾏う Android Studio でアプリを制作 → ⾔語はKotlin →iOS 向けアプリは経費の関係で断念 16
親機 Arduino とESP8266 →LAN を使ってスマホに通知を送れるのでは? Bluetooth モジュール → 親機と⼦機の通信を仲介 GPS
モジュール → ⼦機の場所を検索 その他電⼦部品 接続はブレッドボード 17
⼦機 Bluetooth モジュール → 通信 プリント基板を使う → 回路図はEAGLE を使⽤ その他電⼦部品
はんだ付けで電気的接続 18
スマホへの通知 アプリとLAN を使って、Arduino とスマホを接続 19
実装してみよう! 20
あれ? 21
問題点 パーツ代が⾼すぎる →Bluetooth モジュール 2 万円 / 個 GPS は誤差が多い
→ ⼀軒家だとしても正確な位置情報が得られない LAN だとスマホに通知が送れない → ローカルIP で⾏けなくもないが... 全体的にパーツが⼤きい → 妥協しました 22
解決法 Bluetooth ⾼すぎ問題 →TWILITE tip 採⽤(¥1,620) → 少し⾼いが、Bluetooth よりは安価 GPS
誤差⼤きすぎ問題 → 発振器を作る →LC 発振回路をつくり発振させる → それを受信器で増幅させ、Arduino が受け取る 通知が送れない問題 →Firebase Realtime Database を利⽤ →ESP とJava にFirebase ⽤のライブラリがある 23
Re: 実装してみよう! 24
親機 Arduino UNO ESPr developer (ESP8266) TWILITE tip 受信器 その他電⼦パーツ
25
親機 26
⼦機 TWILITE tip LC 発振回路 その他電⼦パーツ 27
⼦機 28
⼦機 29
⼦機 30
⼦機 31
⼦機 32
アプリレイアウト 33
実演 34
⼦機が近い場合 35
⼦機が近い場合 36
⼦機が近い場合 37
⼦機が遠い場合 38
⼦機が遠い場合 39
⼦機が遠い場合 40
まとめ 1 年間頑張った甲斐があった それぞれのメンバーの特⻑が⽣きた研究だった 都⽴⾼校⽣なりに限界があった スケジュールはしっかり守ったほうが良い Kotlin は神⾔語 Firebase は神サービス
41
使ったソフトウェア Ubuntu 18.04 LTS Arduino IDE 1.8.5 Marp 0.0.13 →
https://yhatt.github.io/marp scrapbox → scrapbox.io 42