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
460
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
68
2019/6/18 LT at TUAT
astpy_ms
0
130
進路指導
astpy_ms
0
140
Featured
See All Featured
Bash Introduction
62gerente
615
210k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
BBQ
matthewcrist
89
9.8k
A Tale of Four Properties
chriscoyier
161
23k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
How STYLIGHT went responsive
nonsquared
100
5.8k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
A designer walks into a library…
pauljervisheath
209
24k
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