psyhon-broadlink에서 RMmini3 제어


Onion/Omega2+에서 파이톤 코드로 제어Broadlink의 RMmini3python-broadlink를 시도했습니다.
또한pycryptodomex-3.4.11은pycryptodomex-broadlink를 사용합니다.며칠 전pycryptodomex-3.4.1을 Omega2+에 설치하기 위해 교차 컴파일 환경이 시작되었지만, 아무래도 Omega2+의opkg 명령으로pycrype를 대체할 수 있다.
전제 조건
  • RMmini3 로컬 무선 환경에 구축 및 연결
  • 저는 Broadlink e-Control App으로 아이폰에서 설정했습니다.
  • python-broadlink
  • pycryptodomex-3.4.1을 pycryptomex-2.6.1
  • 대신 사용
    1. 필요한 패키지 설치
    텔넷이나 직렬 통신을 통해 Omega2+에 연결됩니다.
    다음 명령을 사용하여 필요한 패키지를 설치합니다.
    이번에pycryptodomex를 사용하여pycrypto를 대체하기 때문에pycrypto도 설치되었습니다.
    ※ pycryptodomex는opkg에 제공되지 않습니다(2018/09 현재).
    $ opkg update
    $ opkg install git git-http ca-bundle python-crypto python-pip
    $ pip install setuptools
    
    2.pythn-broadlink 설치
    github에서pythn-broadlink를 다운로드합니다.
    $ cd /root
    $ git clone https://github.com/mjg59/python-broadlink.git
    
    setup.py는pycryptodomex를 설치하는 기술입니다.
    이번에pycryptodomex를 대신하여pyhon-crypt,setup을 사용합니다.py를 편집하면pycryptodomex의 설치가 잘못됩니다.
    $ cd python-broadlink
    $ vi setup.py
    
    dynamic_다음은 Requires의 부분입니다.
    ※ try: import pyaes가 있지만 Omega2+에서 오류가 발생하므로 except: 실행측.
    setup.py
    try:
        import pyaes
        dynamic_requires = ["pyaes==1.6.0"]
    except ImportError as e:
        dynamic_requires = []
        #dynamic_requires = ['pycryptodome==3.4.11']
    
    편집이 끝난 후pythn-broadlink를 설치합니다.
    $ python setup.py install
    
    3. ptyhon-broadlink 설정
    우선 온라인에서 RMmini3을 찾아라.
    "./broadlink discovery"명령을 실행하면 네트워크에서 RMmini3을 찾습니다.
    $ cd ~/python-broadlink/cli
    $ ./broadlink_discovery
    Discovering...
    ###########################################
    RM2
    # broadlink_cli --type 0x2737 --host 192.168.1.32 --mac 25xxxxxxxxxx
    Device file data (to be used with --device @filename in broadlink_cli) :
    0x2737 192.168.1.32 25xxxxxxxxxx
    temperature = 0.0
    
    파일 룸.디바이스에 저장합니다.
    $ echo "0x2737 192.168.1.32 25xxxxxxxxxx" > ROOM.device
    
    4. 리모컨 설정 및 제어
    제어하고 싶은 적외선 리모컨을 준비하세요.
    나는 거실의 불을 컨트롤해 보았다.
    다음 명령은 FLOORLIGHT.리모컨의 제어 명령을 열린 파일에 저장합니다.「Learning...」표시되면 RMmini3을 목표로 리모컨으로 스위치를 켭니다.
    $ ./broadlink_cli --device @ROOM.device --learnfile FLOOR_LIGHT.on
    Learning...
    Saving to FLOOR_LIGHT.on
    $
    
    아래와 같이 넘어진 것으로 확인된다.
    $ cat FLOOR_LIGHT.on
    2600580000012a91160f16341610151015101510151016341634160f16351535151015351634160f160f16351510151015101634160f163416351510153515351634160f163515101500054c00012a4815000c6700012a4815000d05
    $
    
    OFF의 원격 조종 제어 명령도 저장됩니다.
    $ ./broadlink_cli --device @ROOM.device --learnfile FLOOR_LIGHT.off
    Learning...
    Saving to FLOOR_LIGHT.off
    $ cat FLOOR_LIGHT.off
    26006000000128931411143614121312131213121411143614361412133713371312143614361411141213371337143614361436141213371337131214111411160f1411163515101500054c00012b4715000c6700012a4716000c6600012b4716000d050000000000000000
    $
    
    준비됐습니다.
    다음 명령으로 차단등을 켤 수 있습니다.
    $ ./broadlink_cli --device @ROOM.device --send @FLOOR_LIGHT.on
    
    OFF 때도 마찬가지로 다음 명령을 실행합니다.
    $ ./broadlink_cli --device @ROOM.device --send @FLOOR_LIGHT.off
    
    이만 마치겠습니다.
    다음에는 이 명령을 Node-red에 연결해서 소리로 차단등을 켜 보려고 합니다.

    좋은 웹페이지 즐겨찾기