ADRSIRの10個あるスイッチを押すサンプルプログラムがなかったので作ってみた。動作はNode-REDのリモコンサブフローの内容を参考にした。
下記のように実行すればスイッチ1が押せる。
./sw.py 1
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # # 学習リモコン(ADRSIR)のスイッチを押す動作 # # 引数はスイッチ番号 import sys from time import sleep from RPi import GPIO # スイッチ番号をGPIOのPIN番号に変換する def getBcmFromSwitchNo(switchNo): bcm = -1 if switchNo == '1': bcm = 4 elif switchNo == '2': bcm = 17 elif switchNo == '3': bcm = 27 elif switchNo == '4': bcm = 18 elif switchNo == '5': bcm = 5 elif switchNo == '6': bcm = 6 elif switchNo == '7': bcm = 13 elif switchNo == '8': bcm = 12 elif switchNo == '9': bcm = 22 elif switchNo == '10': bcm = 23 return bcm if __name__ == '__main__': argvc = sys.argv argc = len(argvc) if argc == 2: GPIO.setwarnings(False) # warningsは無視 GPIO.setmode(GPIO.BCM) bcm = getBcmFromSwitchNo(sys.argv[1]) if bcm > 0: GPIO.setup(bcm, GPIO.OUT) GPIO.output(bcm, GPIO.LOW) sleep(0.002) GPIO.output(bcm, GPIO.HIGH) #GPIO.cleanup() #GPIOの全ての状態をもとに戻す 学習リモコンのNode-Redが実行中なのでクリーンアップはしない。
このページはこれらの動作を保証するものではありません。同様のことをトライされる場合は自己責任でお願致します。