GrovePi+ Starter Kit for Raspberry Pi A+,B,B+&2,3,4 (CE certified) 〜Nervesならできるもん!〜


Seeed UG Advent Calendar 2020 18日目 です。
前日は @tseigo さんのGrove Speech Recognizer を obniz とつなげたメモでした。


はじめに

  • 今回は付属のUser Manualに従ってプログラミングを楽しみたいとおもいます(Python)
  • また、私はRaspberry Pi用Grove Base Hatも持っておりまして、すでに装着済ですし、外したりつけたりはピンを曲げたりしてしまいそうでこわいのでRaspberry Pi用Grove Base Hatを使います

まずはRaspberry Pi OS を焼きます

  • こんがり焼き上がった

microSDカードをRaspberry Pi 4に挿して電源ON、LANケーブルでネットワークに接続

  • 1分ほど瞑想をして
$ ping raspberrypi.local
  • が通ったら
  • できない。。。
  • raspberry pi 3のsshが繋がらない対策(Connection refused)
  • sshが無効になっていると推測
  • 面倒くさいけど、とりあえずディスプレイとキーボードをRaspberry Pi 4に接続してsshを有効化しようとおもった
  • あれ、これどこにHDMIあるの?
    • 私の知識は令和2年なのにいまだにRaspberry Pi 2の知識のままなのです
    • マイクロHDMI へ〜 へ〜 へ〜
    • そんなものもっていませんですよ
  • じゃあ、Raspberry Pi 2でやればいいじゃん!
    • 一瞬そうおもった
    • けれどRaspberry Pi 2のところに行って茫然自失
    • はずしたくない
    • 恥ずかしいが、はずしてしまったらふたたびつなげる自信がない

あ、そうだ それなら、Nervesでやればいいじゃん!

ディスプレイなしでsshを有効にする方法はないの?

  • イケた
  • パスワードはアレです

Example Project: Button And Buzzer

  • User Manual p.20にはthe Rotary to Port A0と書いてあるけど、これは間違いじゃないかな
  • ButtonをD4に指すが正しいとおもう
pi@raspberrypi:~ $ git clone https://github.com/DexterInd/GrovePi.git
pi@raspberrypi:~ $ cd GrovePi/Script/
pi@raspberrypi:~/GrovePi/Script $ sudo chmod +x install.sh 
pi@raspberrypi:~/GrovePi/Script $ sudo ./install.sh
pi@raspberrypi:~/GrovePi/Script $ sudo reboot
  • (追記) この時点で、sudo ./install.shがうまくイッていなかったのかも(ここからグダグダ)
  • 再起動するのでもう一回ssh接続して
pi@raspberrypi:~ $ cd GrovePi/Projects/Button_And_Buzzer/
pi@raspberrypi:~ $ nano Button_And_Buzzer.py 
  • 冒頭申した通り、私はRaspberry Pi用Grove Base Hatを使っているのでピンの番号が違うのでそこだけ変更しています
pi@raspberrypi:~/GrovePi/Projects/Button_And_Buzzer $ sudo python Button_And_Buzzer.py 
Traceback (most recent call last):
  File "Button_And_Buzzer.py", line 33, in <module>
    from grovepi import *
ImportError: No module named grovepi
pi@raspberrypi:~/GrovePi/Projects/Button_And_Buzzer $ sudo apt-get update
pi@raspberrypi:~/GrovePi/Projects/Button_And_Buzzer $ sudo apt-get install libffi-dev
pi@raspberrypi:~/GrovePi/Projects/Button_And_Buzzer $ apt-get install python-pybind11
pi@raspberrypi:~/GrovePi/Software/Python $ pip3 install pybind11
pi@raspberrypi:~/GrovePi/Projects/Button_And_Buzzer $ apt-get install python3-pybind11
pi@raspberrypi:~/GrovePi/Projects/Button_And_Buzzer $ cd ~/GrovePi/Software/Python
pi@raspberrypi:~/GrovePi/Software/Python $ sudo python3 setup.py install
  • いらんもんもインストールしていそう
  • エラーがでる都度、ググって適当にカンでインストールしました
  • 結局のところ、↓これが効いていそうな気がします
pi@raspberrypi:~/GrovePi/Projects/Button_And_Buzzer $ curl -kL dexterindustries.com/update_grovepi | bash
pi@raspberrypi:~/GrovePi/Projects/Button_And_Buzzer $ sudo python Button_And_Buzzer.py 
  • ボタン押しても鳴らない
  • 意を決してRaspberry Pi用Grove Base Hatを外して、User Manualに書いてある通り、GrovePi+を取り付けてためしてみよう
  • それでもダメなら
  • $\huge{Nervesならできるもん!}$
  • と負け惜しみを用意しつつ
  • 眠いし時間切れで、アドベントカレンダーだからという甘えのグダグダ感で
    • マイクロHDMI、そんなもの持っていませんよという方にsshの方法を示せたし
    • おそらくUser Manual P.20の誤植を指摘できたし
    • まあそんなところがこの記事の醍醐味 (この記事が大ゴミ )です

User Manualの通りに組み立て直し

  • GrovePi+をとりつけて、Button_And_Buzzer.py を元に戻して sudo python Button_And_Buzzer.py
  • ボタン押したら鳴った
  • なんか感動 !!!
    • 眠い目をこすりながら最後まで粘った自分をほめてあげたい

  • けれどCtl+Cしてもう一度、sudo python Button_And_Buzzer.pyするとボタン押しても鳴らない
  • 再起動とかしたら鳴るような気がしないでもありませんが
  • まあ、もういいや静かな田舎町であの「フ、ピ〜〜〜〜〜〜〜〜〜〜」の大音量を鳴らすのは悪かろうし、そうそう$\huge{Nervesならできるもん!}$ともう一回言ってみたところで筆をおきます
  • ちなみに↑の図は色鉛筆でかきました

Wrapping Up

次回は、@airpocketさんで「Maix Bit と 6 + 1 マイクロフォンアレイで音源可視化」です。
引き続きお楽しみください。