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
ラズパイで写真を撮った話_IoTLT_vol.66_2200812.pdf
Search
h-fkn
August 12, 2020
Programming
0
350
ラズパイで写真を撮った話_IoTLT_vol.66_2200812.pdf
https://iotlt.connpass.com/event/183024/
h-fkn
August 12, 2020
Tweet
Share
More Decks by h-fkn
See All by h-fkn
The advantages and disadvantages of using machine learning with enebular
fkn0839
0
230
俺のNETFLIX season2 AmazonPersonalize
fkn0839
0
380
俺のNETFLIX season1
fkn0839
0
210
ゆるふわマシーンラーニング#2_内容調整中()
fkn0839
0
260
ゆるふわマシーンラーニング「❝ Google AutoML Tablesでお手軽AI ❞と題して話すつもりだったけど、実際に使ったらお手軽()だった件について5分以内で話す」
fkn0839
1
4k
データ分析プロセス/AIアプリケーションの基本設計
fkn0839
0
170
DataScienceBOOTCAMP5th_part1
fkn0839
0
1.9k
G'SACADEMY LAB5th DataScience
fkn0839
0
180
AIアプリ開発に「目的設定」が大切な理由
fkn0839
0
110
Other Decks in Programming
See All in Programming
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
2
410
良いユニットテストを書こう
mototakatsu
8
3.1k
歴史と現在から考えるスケーラブルなソフトウェア開発のプラクティス
i10416
0
140
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
730
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
4
360
テストコード書いてみませんか?
onopon
2
210
fs2-io を試してたらバグを見つけて直した話
chencmd
0
240
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
830
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
990
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
650
17年周年のWebアプリケーションにTanStack Queryを導入する / Implementing TanStack Query in a 17th Anniversary Web Application
saitolume
0
250
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
5
950
Featured
See All Featured
Practical Orchestrator
shlominoach
186
10k
Testing 201, or: Great Expectations
jmmastey
41
7.1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Faster Mobile Websites
deanohume
305
30k
Being A Developer After 40
akosma
87
590k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
530
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Transcript
enebular を使ってIoTデビューする話 初学者がラズパイで写真撮った話をします。お盆ですし、ベテラン 勢ははじめてラズパイに触れたときの懐かしい気持ちを思い出し ていただければ本望です。初学者は「これでもLTする人いるんだ… という勇気」を受け取ってくださいm(_ _)m p.s. enebularも触って感動したけどIoT織り交ぜられなかったから、また今度にします IoT縛りの勉強会!
IoTLT vol.66 @Youtube @hidefkn
自己紹介 ふかの Twitter @hidefkn Facebook hidefkn ・データ分析 ・AIアプリ開発 ・PM, PdM
IoTは初心者です。
5分くらいで話すこと 1. わたしがIoTデビューしたかった理由 a. Internet of Things の Things がないじゃん
2. things(ラズパイ(Raspberry Pi))に触ってみた a. OSのインストール b. SSH接続(IoTのInternetの部分) c. カメラ接続 d. 写真撮影・保存 e. (本当はやりたかったけど)できなかったこと 3. まとめ
わたしがIoTデビューしたかった理由 データ周りの仕事してて思ってたこと • データサイエンスの実務を通じて、 データを使うサービスづくりはオモシ ロイと思った • でも、データがないと分析もできない し、AIも作れないっていう話が少なく なかった
• EdgeAIとか話題になってたけど、実 際に取り組んだことはなかった • 8月中旬から社会人の夏休みタイムをとる ことにした • このタイミングでデータを集める仕組みを アプリ以外でも作れるようになったらかっ こいいかもしれない → IoT界隈をのぞき込むことにした
Internet of Things の Things がない • 考えてみれば当たり前ですが、IoT は モノ(Things)がなければ始まらない
ことに気づきました • ラズパイの名前は知っているけど、何 を買えばいいかわかりまでんした • 結論: 友人に借りました
Raspberry Pi に触ってみた • Raspberry Pi 3 MODEL B とやらをお
借りました。 • 少し触ったら何か大事な部品をぶっ 壊しそうな気がして不安になりまし た。 • これを5,000〜7,000円で買えること は安いのか高いのか?まだ自分には よくわかりませんでした。
IoT × AI(というかML)でやりたかったやつ(よくある定番のやつ OpenCVのやつ) beer 0.91 red-wine 0.82 ラズパイに接続したカメラで データを取得する(撮影する)
PCからラズパイを操作する? 物体認識の モデルを組み 込んで、その 結果を表示さ せる
STEP1 ラズパイはパソコンだからOSをインストールしないといけない ラズパイ財団のサイト( https://www.raspberrypi.org/downloads/ )でRapberry Pi imager macOS(私は MBP13 macOS
Catalina v10.15.6 を使ったから)をダウンロードしました
STEP1 ラズパイはパソコンだからOSをインストールしないといけない Raspberry Pi Imager があれば、初心者でも簡単に OSをインストールできると思います。 初学者にはマジでおすすめ(これが昔から当たり前のインストール方法だったらゴメンナサイ)
STEP1 ラズパイはパソコンだからOSをインストールしないといけない • PCにラズパイに差し込む microSDを事前に差し込ん でおく • インストールしたいOSを選 択する •
インストール先のSDカードを 選択する • 「WRITE」押下でインストー ルを開始する
STEP1 ラズパイはパソコンだからOSをインストールしないといけない • 「Write Successful」って 出てきたら成功している • microSDはきちんとマウン トを解除する •
そのあとに、PCからSD カードを丁寧に取り出す
STEP1 ラズパイはパソコンだからOSをインストールしないといけない ラズパイはパソコンって言うから、すぐ使えるものだとなめてました 公式サイトから任意の OSをmicroSDに入れて、OSが入ったmicroSDをラズパイに差し込みました • OSのインストールが想像以上に長 かった • 放置してPCがスリープするとやり
直す羽目になる(なった)
STEP3 ラズパイをパソコンから操作するためにSSH接続できるようにする ラズパイには画面がないから、どうすればいいかわからなかった。 SSH接続が必要らしかった SSH接続ってことは、安全にラズパイにリモート接続するってことだと理解した(多分) PCからラズパイを操作する? ここの話 1. microSD(/Volumes/boot)にsshの 空ファイルを作った
2. wpa_supplicant.confに接続先の SSIDとPWを書いた(自宅のWifi)
STEP2 ラズパイをパソコンから操作するためにSSH接続できるようにする microSD(/Volumes/boot)にsshの空ファイルを作った
STEP2 ラズパイをパソコンから操作するためにSSH接続できるようにする ラズパイとPCをどのネットワークで繋げるか?ってのを考えるときに、ネットワークがわからなかった。 「LanScan」というアプリで事なきを得る
STEP2 ラズパイをパソコンから操作するためにSSH接続できるようにする アプリを起動して、「▶」押下すると、ラズパイの IPアドレスが出てくる ※もちろん、ラズパイの電源が入っていないと、出てこないので注意
STEP2 ラズパイをパソコンから操作するためにSSH接続できるようにする SSHサーバを有効化してから、 WiFi接続も有効化する ここまでの設定をしてから、 microSDをPCから取り出して、ラズパイ本体に挿す country=JP ctrl_interface=DIR=/var/run/wpa_su pplicant GROUP=netdev
update_config=1 network={ ssid="<接続先のSSID>" psk="<平文のパスワード>" } ▼WiFi接を有効化する /Volumes/boot/wpa_supplicant.conf内に書くコード ※ wpa_supplicant.conf は自分で新規作成する $ touch /Volumes/boot/ssh ▼SSHサーバを有効化する /Volumes/boot/配下に、空のsshファイルを作 る
STEP2 ラズパイをパソコンから操作するためにSSH接続できるようにする 参考にさせていただいた記事「 Raspberry Pi 初期設定 - Qiita」 https://qiita.com/HeRo/items/c1c30d7267faeb304538
STEP3 ラズパイの電源の入れ方がわからない ラズパイにスイッチてきな部品をくっつけたら、スイッチで電源をオンにできるのかもしれない とりあえずAndroidと同じ接続端子(micro USB Type-B)で充電する(iPhoneしかない人はケーブル用意しな いとあれだなーっておもった)
STEP4 ラズパイにカメラをつける(すっごくうすくて、すっごい) 上に引っ張ると、カメラについてるテープみたいなものを差し込みやすい 金属部分を合わせる感じ。そりゃ電気を通して使うからそうだよね。ちょっと緊張しました。
STEP5 ターミナルからssh接続してみるー(「ssh pi@任意のIPアドレス」を打つ)
STEP5 ターミナルからssh接続してみるー(「ssh pi@任意のIPアドレス」を打つ) パスワードはラズパイの初期設定のやつ
STEP6 VNCサーバとやらインストールして、使ってみる(立てる?) 1. sudo apt install tightvncserver a. tightじゃないvncserverもあったけど 今回は気にせずやってみた
2. Desktop上で「command + k」を打つと…つい に…
STEP6 VNCサーバとやらインストールして、使ってみる(立てる?) サーバに接続する画面が出てくるので、「 vnc://任意のラズパイのIPアドレス:5901」で接続 ※このあと最初はPWが求められる 任意のIPアドレス
STEP6 VNCサーバとやらインストールして、使ってみる(立てる?) PCからラズパイを操作する? ここの話がで きた!
ところどころ、いろいろ、ある。 ① 最初は自分が設定したパスワードを入力する必要がある( LT ではスライド端折ってしまったかも) ¥ ② ラズパイに接続できないときは「共 有」関連の問題であるかも ※権限設定的なやつ
STEP7 カメラだけはやりたかった ラズパイに接続したカメラで データを取得する(撮影する) PCからラズパイを操作する?
STEP7 カメラだけはやりたかった $ sudo raspi-config • 下記のコマンドを打つと、左図の 画面が出てくるので、「 5 Interfacing
Options」を選択
STEP7 カメラだけはやりたかった • 次に「P1 Camera ~」を選択する
STEP7 カメラだけはやりたかった • 使えるようにしちゃうよ?って聞いてくるので いいよ(YES)って答える
STEP7 カメラだけはやりたかった 「$ vcgencmd get_camera」で設定状況を確認する supported=1 detected=1であればおk
STEP7 カメラだけはやりたかった ラズパイに接続したカメラで データを取得する(撮影する) PCからラズパイを操作する? 「$ raspistill -o 任意の文字列.jpg」で撮影(1秒ちょっと)
STEP7 カメラだけはやりたかった PCからラズパイを操作する? • 撮影してラズパイに保存でき た!!!!!それだけだけ ど意外と嬉しかったぁあああ あああああああ
できなかったこと・ハマったところ • メインディッシュの推論モデルの組み込みができな かった… • 具体的には、TensorFlowLite のインポート周りでハ マってしまった ◦ TensorFlow
Liteを公式ドキュメントと同 人誌読みつつやってみた • でも、なんか実行できなくて詰んだ ◦ 正直ちょっと悔しいー これをラズパ イに組み込む こと
まとめ・IoTデビューの感想 結論 IoT×AIをやれたか? → ✕, IoTデビューできたと言えるか?→ △ 1. ラズパイPCがどんな部品が集まって動くのか?といった仕組みがわかるよなーって感じた。 a. 教育に良いんじゃね?って思ったら、そうだった。 (下記、wiki) 2.
正直、難しそうでハードウェアに抵抗があったけど、意外と自分でもポチポチってやれたことだけでも嬉し かった a. ラズパイに、センサーを取得できるパーツとか、カメラ以外のパーツをくっつけると色々できるってこ とは体感できた b. ↑触ってみてはじめて、 「…ということは、◦◦から✕✕するプロダクトをラズパイで作れるんじゃ ね?」って思えるようになった。 (これが一番の収穫かもしれない)