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
FirebaseとArduinoで忘れ物をなくす
Search
Masaki Kuge
October 07, 2018
0
450
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
67
2019/6/18 LT at TUAT
astpy_ms
0
120
進路指導
astpy_ms
0
140
Featured
See All Featured
Side Projects
sachag
455
43k
The Language of Interfaces
destraynor
161
25k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Being A Developer After 40
akosma
90
590k
Building Adaptive Systems
keathley
43
2.7k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Scaling GitHub
holman
463
140k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Into the Great Unknown - MozCon
thekraken
40
2k
Site-Speed That Sticks
csswizardry
10
820
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