おまけ3. TerminalからGPIOの操作ができるWiring Piを Ubuntuでセットアップ
この記事はiOSDC2022で発表したセッション、Swiftで我が家を より便利に、安全に!の発表のおまけ記事第3弾です。
もしまだ本編を読んでいない方は読んでいただけると!
この記事では、Ubuntuが入ったラズパイでWiringPiというTerminalからGPIOを操作できるツールの設定方法を紹介します!
Ubuntu入ったラズパイでWiringPiをセットアップする
WiringPiとは、コマンドラインから、ラズパイのGPIOの状態確認や操作をすることができるツールです
今回の発表では、SwiftyGPIOを使ってGPIOを操作していましたが、それがうまく操作できているかどうかの確認方法が知りたかったので、色々探していたら、今回見つけたWiringPiを発見しました!
セットアップして、以下のコマンドを実行すると、GPIOの現在のステータスがTerminalに表示されます!
$ gpio readall
WiringPiのインストールは、以下のコマンドでインストールできます
$ sudo apt install wiringpi
コマンドを実行して、もし以下のようなエラーが出た場合、
wiringPiSetup: Unable to open /dev/mem or /dev/gpiomem: Permission denied.
Aborting your program because if it can not access the GPIO
hardware then it most certianly won't work
以下の記事でも記載したように、/dev/gpiomemへ
の権限がないとエラーが出ているので、
以下のコマンドを実行してみましょう!(参考)
$ sudo apt install rpi.gpio-common
$ sudo adduser "${USER}" dialout
$ sudo reboot
WiringPiをRaspberry Pi 4 Model Bにインストールする
今回の発表ではいわゆるラズパイ4を使っていました。
執筆時点で上記の方法でインストールできるバージョンを、gpio -v
コマンドを実行して確認すると、v2.50だったのですが、ラズパイ4ではv2.50は使用できず、上記のgpio readall
コマンドを実行しても、エラーが出ます。
ラズパイ4で使用するには、v2.52にアップデートする必要があるので、その追加対応を行いましょう!
以下のコマンドを実行することで、基本的にはアップデートできるようになると思います!
$ wget https://project-downloads.drogon.net/wiringpi-latest.deb
$ sudo dpkg -i wiringpi-latest.deb
$ sudo dpkg --add-architecture armhf
$ sudo dpkg --print-foreign-architectures
$ sudo apt update
$ sudo apt --fix-broken install
$ sudo apt-get install libc6:armhf
各コマンドの詳細は↓の参考サイトを確認いただけると!(おまけ記事だから、雑になってしまった。。。笑)