pigpioでホスト側からリモート側のgpioの制御方法 2020/05/31現在
・共通設定
現時点の最新OSはpigpioライブラリを含んでいるのが、常駐して
いないのでライブラリを常駐させる
>sudo systemctl enable pigpiod
>sudo systemctl start pigpiod
これで再起動時も常駐する
・制御される側 (テストではraspberrypi4)
設定でリモートGPIOを有効に
他必要に応じてI2CやSPIを有効に
ipアドレス
>hostname -I
i:小文字だと127.0.0.1と表示される
テストでは192.168.0.13
本番では固定IPにしたほうが便利
接続
テストでは、
LED GPIO20−−−330Ω−−−LED−−−GND
BME280 I2C接続
単体での動作確認済み
ソースはpigpio本家
http://abyz.me.uk/rpi/pigpio/examples.html
のbme280を使用
・制御する側 (テストではraspberrypi3B+)
何も必要なし
・対応はソース
pi = pigpio.pi()
を
pi = pigpio.pi(‘192.168.0.13’,8888)
に変更
IPアドレスまたはホスト名を記載 ポートは特に指定なしでも動作するが
本家の説明では8888で待ち受けているので、記載
・実行
python3 led_on.py
python3 BME280.py
pythonのIDEからも実行可能
import pigpio
LED_PIN = 20
pi = pigpio.pi('192.168.0.13',8888)
pi.set_mode( LED_PIN, pigpio.OUTPUT )
pi.write( LED_PIN, pigpio.HIGH )
制御される側のLEDが点灯 LOWで消灯
BME280も湿度、気圧、温度を表示
![](https://itecjapan.xsrv.jp/wp-content/uploads/2020/05/2020-05-31.png)
リモート制御できるという事は、
親分にraspberyrpi4あたりを使って
子分をraspberypiZeroを複数台使えば、
Iot化は極めて楽、、、
ケーブルも今までのLANが使える