Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ラズパイで写真を撮った話_IoTLT_vol.66_2200812.pdf

h-fkn
August 12, 2020

 ラズパイで写真を撮った話_IoTLT_vol.66_2200812.pdf

h-fkn

August 12, 2020
Tweet

More Decks by h-fkn

Other Decks in Programming

Transcript

  1. enebular を使ってIoTデビューする話
    初学者がラズパイで写真撮った話をします。お盆ですし、ベテラン
    勢ははじめてラズパイに触れたときの懐かしい気持ちを思い出し
    ていただければ本望です。初学者は「これでもLTする人いるんだ…
    という勇気」を受け取ってくださいm(_ _)m
    p.s. enebularも触って感動したけどIoT織り交ぜられなかったから、また今度にします
    IoT縛りの勉強会! IoTLT vol.66 @Youtube
    @hidefkn

    View Slide

  2. 自己紹介
    ふかの
    Twitter @hidefkn
    Facebook hidefkn
    ・データ分析
    ・AIアプリ開発
    ・PM, PdM
    IoTは初心者です。

    View Slide

  3. 5分くらいで話すこと
    1. わたしがIoTデビューしたかった理由
    a. Internet of Things の Things がないじゃん
    2. things(ラズパイ(Raspberry Pi))に触ってみた
    a. OSのインストール
    b. SSH接続(IoTのInternetの部分)
    c. カメラ接続
    d. 写真撮影・保存
    e. (本当はやりたかったけど)できなかったこと
    3. まとめ

    View Slide

  4. わたしがIoTデビューしたかった理由
    データ周りの仕事してて思ってたこと
    ● データサイエンスの実務を通じて、
    データを使うサービスづくりはオモシ
    ロイと思った
    ● でも、データがないと分析もできない
    し、AIも作れないっていう話が少なく
    なかった
    ● EdgeAIとか話題になってたけど、実
    際に取り組んだことはなかった
    ● 8月中旬から社会人の夏休みタイムをとる
    ことにした
    ● このタイミングでデータを集める仕組みを
    アプリ以外でも作れるようになったらかっ
    こいいかもしれない
    → IoT界隈をのぞき込むことにした

    View Slide

  5. Internet of Things の Things がない
    ● 考えてみれば当たり前ですが、IoT は
    モノ(Things)がなければ始まらない
    ことに気づきました
    ● ラズパイの名前は知っているけど、何
    を買えばいいかわかりまでんした
    ● 結論: 友人に借りました

    View Slide

  6. Raspberry Pi に触ってみた
    ● Raspberry Pi 3 MODEL B とやらをお
    借りました。
    ● 少し触ったら何か大事な部品をぶっ
    壊しそうな気がして不安になりまし
    た。
    ● これを5,000〜7,000円で買えること
    は安いのか高いのか?まだ自分には
    よくわかりませんでした。

    View Slide

  7. IoT × AI(というかML)でやりたかったやつ(よくある定番のやつ OpenCVのやつ)
    beer 0.91
    red-wine 0.82
    ラズパイに接続したカメラで
    データを取得する(撮影する)
    PCからラズパイを操作する?
    物体認識の
    モデルを組み
    込んで、その
    結果を表示さ
    せる

    View Slide

  8. STEP1 ラズパイはパソコンだからOSをインストールしないといけない
    ラズパイ財団のサイト( https://www.raspberrypi.org/downloads/ )でRapberry Pi imager macOS(私は
    MBP13 macOS Catalina v10.15.6 を使ったから)をダウンロードしました

    View Slide

  9. STEP1 ラズパイはパソコンだからOSをインストールしないといけない
    Raspberry Pi Imager があれば、初心者でも簡単に OSをインストールできると思います。
    初学者にはマジでおすすめ(これが昔から当たり前のインストール方法だったらゴメンナサイ)

    View Slide

  10. STEP1 ラズパイはパソコンだからOSをインストールしないといけない
    ● PCにラズパイに差し込む
    microSDを事前に差し込ん
    でおく
    ● インストールしたいOSを選
    択する
    ● インストール先のSDカードを
    選択する
    ● 「WRITE」押下でインストー
    ルを開始する

    View Slide

  11. STEP1 ラズパイはパソコンだからOSをインストールしないといけない
    ● 「Write Successful」って
    出てきたら成功している
    ● microSDはきちんとマウン
    トを解除する
    ● そのあとに、PCからSD
    カードを丁寧に取り出す

    View Slide

  12. STEP1 ラズパイはパソコンだからOSをインストールしないといけない
    ラズパイはパソコンって言うから、すぐ使えるものだとなめてました
    公式サイトから任意の OSをmicroSDに入れて、OSが入ったmicroSDをラズパイに差し込みました
    ● OSのインストールが想像以上に長
    かった
    ● 放置してPCがスリープするとやり
    直す羽目になる(なった)

    View Slide

  13. STEP3 ラズパイをパソコンから操作するためにSSH接続できるようにする
    ラズパイには画面がないから、どうすればいいかわからなかった。 SSH接続が必要らしかった
    SSH接続ってことは、安全にラズパイにリモート接続するってことだと理解した(多分)
    PCからラズパイを操作する?
    ここの話
    1. microSD(/Volumes/boot)にsshの
    空ファイルを作った
    2. wpa_supplicant.confに接続先の
    SSIDとPWを書いた(自宅のWifi)

    View Slide

  14. STEP2 ラズパイをパソコンから操作するためにSSH接続できるようにする
    microSD(/Volumes/boot)にsshの空ファイルを作った

    View Slide

  15. STEP2 ラズパイをパソコンから操作するためにSSH接続できるようにする
    ラズパイとPCをどのネットワークで繋げるか?ってのを考えるときに、ネットワークがわからなかった。
    「LanScan」というアプリで事なきを得る

    View Slide

  16. STEP2 ラズパイをパソコンから操作するためにSSH接続できるようにする
    アプリを起動して、「▶」押下すると、ラズパイの IPアドレスが出てくる
    ※もちろん、ラズパイの電源が入っていないと、出てこないので注意

    View Slide

  17. 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ファイルを作

    View Slide

  18. STEP2 ラズパイをパソコンから操作するためにSSH接続できるようにする
    参考にさせていただいた記事「 Raspberry Pi 初期設定 - Qiita」
    https://qiita.com/HeRo/items/c1c30d7267faeb304538

    View Slide

  19. STEP3 ラズパイの電源の入れ方がわからない
    ラズパイにスイッチてきな部品をくっつけたら、スイッチで電源をオンにできるのかもしれない
    とりあえずAndroidと同じ接続端子(micro USB Type-B)で充電する(iPhoneしかない人はケーブル用意しな
    いとあれだなーっておもった)

    View Slide

  20. STEP4 ラズパイにカメラをつける(すっごくうすくて、すっごい)
    上に引っ張ると、カメラについてるテープみたいなものを差し込みやすい
    金属部分を合わせる感じ。そりゃ電気を通して使うからそうだよね。ちょっと緊張しました。

    View Slide

  21. STEP5 ターミナルからssh接続してみるー(「ssh [email protected]任意のIPアドレス」を打つ)

    View Slide

  22. STEP5 ターミナルからssh接続してみるー(「ssh [email protected]任意のIPアドレス」を打つ)
    パスワードはラズパイの初期設定のやつ

    View Slide

  23. STEP6 VNCサーバとやらインストールして、使ってみる(立てる?)
    1. sudo apt install tightvncserver
    a. tightじゃないvncserverもあったけど
    今回は気にせずやってみた
    2. Desktop上で「command + k」を打つと…つい
    に…

    View Slide

  24. STEP6 VNCサーバとやらインストールして、使ってみる(立てる?)
    サーバに接続する画面が出てくるので、「 vnc://任意のラズパイのIPアドレス:5901」で接続
    ※このあと最初はPWが求められる
    任意のIPアドレス

    View Slide

  25. STEP6 VNCサーバとやらインストールして、使ってみる(立てる?)
    PCからラズパイを操作する?
    ここの話がで
    きた!

    View Slide

  26. ところどころ、いろいろ、ある。
    ① 最初は自分が設定したパスワードを入力する必要がある( LT
    ではスライド端折ってしまったかも)

    ② ラズパイに接続できないときは「共
    有」関連の問題であるかも
    ※権限設定的なやつ

    View Slide

  27. STEP7 カメラだけはやりたかった
    ラズパイに接続したカメラで
    データを取得する(撮影する)
    PCからラズパイを操作する?

    View Slide

  28. STEP7 カメラだけはやりたかった
    $ sudo raspi-config
    ● 下記のコマンドを打つと、左図の
    画面が出てくるので、「 5
    Interfacing Options」を選択

    View Slide

  29. STEP7 カメラだけはやりたかった
    ● 次に「P1 Camera
    ~」を選択する

    View Slide

  30. STEP7 カメラだけはやりたかった
    ● 使えるようにしちゃうよ?って聞いてくるので
    いいよ(YES)って答える

    View Slide

  31. STEP7 カメラだけはやりたかった
    「$ vcgencmd get_camera」で設定状況を確認する supported=1 detected=1であればおk

    View Slide

  32. STEP7 カメラだけはやりたかった
    ラズパイに接続したカメラで
    データを取得する(撮影する)
    PCからラズパイを操作する?
    「$ raspistill -o 任意の文字列.jpg」で撮影(1秒ちょっと)

    View Slide

  33. STEP7 カメラだけはやりたかった
    PCからラズパイを操作する?
    ● 撮影してラズパイに保存でき
    た!!!!!それだけだけ
    ど意外と嬉しかったぁあああ
    あああああああ

    View Slide

  34. できなかったこと・ハマったところ
    ● メインディッシュの推論モデルの組み込みができな
    かった…
    ● 具体的には、TensorFlowLite のインポート周りでハ
    マってしまった
    ○ TensorFlow Liteを公式ドキュメントと同
    人誌読みつつやってみた
    ● でも、なんか実行できなくて詰んだ
    ○ 正直ちょっと悔しいー
    これをラズパ
    イに組み込む
    こと

    View Slide

  35. まとめ・IoTデビューの感想
    結論 IoT×AIをやれたか? → ✕, IoTデビューできたと言えるか?→ △
    1. ラズパイPCがどんな部品が集まって動くのか?といった仕組みがわかるよなーって感じた。
    a. 教育に良いんじゃね?って思ったら、そうだった。 (下記、wiki)
    2. 正直、難しそうでハードウェアに抵抗があったけど、意外と自分でもポチポチってやれたことだけでも嬉し
    かった
    a. ラズパイに、センサーを取得できるパーツとか、カメラ以外のパーツをくっつけると色々できるってこ
    とは体感できた
    b. ↑触ってみてはじめて、 「…ということは、○○から✕✕するプロダクトをラズパイで作れるんじゃ
    ね?」って思えるようになった。  (これが一番の収穫かもしれない)

    View Slide