Memo/Raspberry_Pi/ANAVI_Infrared_pHAT

http://dexlab.net/pukiwiki/index.php?Memo%2FRaspberry_Pi%2FANAVI_Infrared_pHAT
 

ANAVI Infrared pHAT

  • 感想
    • リモコンとして本体と1m以上離れてもOK。対象機器に向けずに壁(白色)に反射させてもOKだった。部屋が広かったり、壁が黒かったりすると失敗しそう。
    • 温度/湿度センサーに風が直接あたると、市販の温度計より低く表示される。風よけが必要かも。
    • GitHub?にサンプルコードがあるので分かりやすい
    • 再入手が難しい。ハードウェア情報もGitHub?にあるので基板発注等、自分で部品を揃えれば可能
    • スマホ連携はblynkが楽だった。
    • HTU21のi2cdetectアドレスは 0x40

rpi-ANAVI-Infrared-pHAT.jpg blynk-rpi-ANAVI-Infrared-pHAT.jpg


irrecordが失敗する場合にRAW_CODESで記録/送信する

結果:三菱エアコン用リモコンでも電源のON/OFFが出来た。温度設定等も含まれているので、夏用(on/off), 冬用(on/off) くらいは必要かも。

  • 三菱エアコン用リモコン RH081で失敗した場合のエラーメッセージ
    1. irrecord: could not find gap.
    2. irrecord: gap not found, can't continue
    • TVリモコンでは登録時のキー押下したままで「.」が複数出る(連打扱い)が、このリモコンは1回押す毎に1つしか表示されない。
  • 整形スクリプト: filemode2tolirc.zip
    1. sudo systemctl stop lirc
    2.  
    3. # power onの時を記録
    4. mode2 -d /dev/lirc0 | tee KEY_POWER.dat
    5. # リモコンのpowerボタン押す。OFF => ON
    6. # CTRL+C
    7.  
    8. # power-offの時を記録
    9. mode2 -d /dev/lirc0 | tee KEY_POWER2.dat
    10. # リモコンのpowerボタン押す。ON => OFF
    11. # CTRL+C
    12.  
    13. # lircd.conf形式へ変換
    14. ./mode2tolirc.py KEY_POWER.dat KEY_POWER2.dat > aircon.conf
    15.  
    16. # aircon.conf をエディタで開き、「name AIRCON」等を埋める
    17.  
    18. # /etc/lirc/lircd.conf に追加
    19. sudo bash -c "cat aircon.conf >> /etc/lirc/lircd.conf"
    20.  
    21. sudo systemctl start lirc
    22.  
    23. # エラーの有無確認
    24. sudo journalctl -u lirc.service -f
    25. # CTRL+C
    26.  
    27. # 正常に登録されていれば一覧が出る
    28. irsend LIST "" ""
    29.  
    30. # ONにしてみる
    31. irsend SEND_ONCE AIRCON KEY_POWER
    32.  
    33. # OFFにしてみる
    34. irsend SEND_ONCE AIRCON KEY_POWER2

赤外線リモコン 対応/非対応

複数の信号をまとめて送るタイプ(エアコン等)は、irrecordでは登録できない時がある。
その場合は RAW_CODES形式で記録/送信する事で対応できた。

  • OK: 東芝REGZA用リモコン CT-90338
  • NG: 三菱エアコン用リモコン RH081 (irrecordはNG / RAW_CODESだとOK)
  • 課題
    • トグル式のボタン(電源等)は現在の状態がわからない。音(マイク)で判断できないか?

Blynk IoTサービスでスマホアプリとの連携


トラブル

  • 環境
    • Raspberry Pi Zero W
    • NOOBS_v2_4_2: Raspbian 8 jessie / kernel 4.9.44+

ANAVI Infrared pHAT取り付け後、i2cを有効にして再起動するとkernel panic

  • UART端子にUSB<>UART変換器を繋ぐと正常に起動する。シリアル接続からログインできる。
  • serialを無効にすると正常に起動する。シリアル接続との併用方法が分からない。
    1. sudo raspi-config nonint do_serial 1
    2. sudo raspi-config nonint get_serial
    3. 1 # 0:有効 / 1:無効
    4. sudo reboot

lircのkernelモジュールがロードできない

  • lircのkernelモジュールがロードできない。kernel 4.4から仕様が変わった。
  • エラー内容: Failed to start Load Kernel Modules.
    1. # 失敗した部分だけ表示
    2. sudo systemctl --failed
    3.   UNIT                         LOAD   ACTIVE SUB    DESCRIPTION
    4. ● systemd-modules-load.service loaded failed failed Load Kernel Modules
    5.  
    6. # ログを見る
    7. sudo journalctl
    8. raspberrypi systemd-modules-load[102]: Failed to find module 'lirc_rpi gpio_in_pin=18 gpio_out_pin=17'
  • kernel 4.4以上での設定。最後に追加
    • /boot/config.txt
      1. cat /boot/config.txt
      2. ...
      3. dtoverlay=lirc-rpi
      4. dtparam=gpio_in_pin=18
      5. dtparam=gpio_out_pin=17
      6.  
      7. sudo reboot
    • /etc/lirc/hardware.confはドキュメントの通り

似たような機能の製品

スマホで自宅監視/遠隔操作なら、大量生産されている品の方が簡単で、開発等の手間を考えたら安いので検討の価値あり。


添付ファイル: filemode2tolirc.zip 31件 [詳細] fileblynk-rpi-ANAVI-Infrared-pHAT.jpg 29件 [詳細] filerpi-ANAVI-Infrared-pHAT.jpg 28件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-11-03 (金) 18:07:23 (20d)