raspberrypi pigpioでリモート制御 2020/05/31

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も湿度、気圧、温度を表示

BME280.py


リモート制御できるという事は、
親分にraspberyrpi4あたりを使って
子分をraspberypiZeroを複数台使えば、
Iot化は極めて楽、、、

ケーブルも今までのLANが使える





カテゴリー iot