ラズパイのライブラリによる書き方の違いを比べてみた。比べるのはRPi,GPIOとpigpioである。
LEDの点滅を繰り返すプログラムの場合を書き方の順に並べてみた。
RPi.GPIOについては https://kurafuto.homeip.net/2021/01/27/raspi/
pigpiod をインストールするには
$ sudo apt install pigpiod
モジュールもインストールする必要があります。
$ sudo apt install python3-pip
$ sudo pip3 install pigpio
RPi.GPIO | pigpio | |
---|---|---|
特色 | OS標準搭載。だから特別の準備がいならない。 | ・pigpiodの常駐が必要 (sudo systemctl start[enable] pigpiod) |
ライブラリーのインポート | import RPi.GPIO | import pigpio |
物理ピン番号を使うかGPIOピン番号を使うか | 物理ピン番号を使う場合 RPi.GPIO.setmode(GPIO.BOARD) GPIO番号を使う場合 RPi.GPIO.setmode(GPIO.BCM) その上で LED_PIN=11(物理ピン番号で指定した場合) | GPIO番号にしか対応できない LED_PIN = 17(GPIO番号で指定) |
省略形の設定 | GPIO= RPi.GPIO | pi=pigpio.pi() |
出力か入力か?の指定 | GPIO.setup(LED_pin.GPIO.OUT) | pi.set_mode(LED_pin.OUTPUT) |
導通 (HIGHまたは 1) | GPIO.output(LED_pin,GPIO.HIGH) | pi.write(LED_pin.pigpio.HIGH) |
消灯(LOWまたは0) | GPIO.output(LED_pin,GPIO.LOW) | pi.write(LED_pin,pigpio.LOW) |
キーボードからの入力を無視する | except keyboardInterrupt: pass | 同左 |
ポートの開放 | GPIO.cleanup() | pi.stop() |
コメント