SSブログ

IRKit Cloneのまねごと Part2 [Arduino]

IRKit CloneのPart2。

今回は,ユニバーサル基盤に乗っけて,実際,動作するまでです。
SSRをつけて,SW操作も出来るように作ってましたが,まずは,よりCloneっぽくする為に,SSRは無しとしました。

製作過程は,いつも通り一筋縄では,いかない訳で…
今回は,使用したライブラリ”IRremoteESP8266”にやられます orz

2017/02/27 15:46 追記
誤動作対応を修正しました。

2017/03/09 追記
誤動作対応が甘く,リモコン情報の取得ができない orz
とりあえず,loop()の所,”decode_type != UNKNOWN”をコメントアウトしました。
まずは,早速,「今回のどハマり」ポイントです(笑
IRremoteESP8266(20170221現在)でコンパイルエラー
IRremoteESP8266.cppに #include "IRKelvinator.h" を追加
GitHubのIssuesに報告が上がってた(#74 missing include)
20170227現在,修正されている。
POST /messages後,以後のIRデータの取得(GET /messages)が出来なくなる。
POSTするJSONネタが不正な場合,disableIRIn()したままになってしまう。
再enableIRIn()のタイミングを変更。
disableIRIn()が動かないらしい…(20172227現在)
GitHubのIssuesに報告が上がってた。(#57 Receiving is not working after irrecv.disableIRIn() and irrecv.enableIRIn())。
disableIRIn()すると,再enableIRIn()が出来ない。
Issuesの通り,disableIRIn()の中身を,detachInterrupt(irparams.recvpin);に変更すればOKっぽい。
irrecv()する際,他の赤外線を拾って誤動作する。
decode_type = UNKNOWNの時,無視するのように修正。...外からは,誤動作中なのか判りづらいので,シリアルモニターに接続を推奨。
まさか,石油ファンヒータの対人センサーから出ている赤外線で,irrecv()が誤動作するとは orz

ライブラリ側の問題で,disableIRIn() → 再enableIRIn() がおかしかったので,再enableIRIn()のタイミング変更は,不要かも…
irrecv()誤動作は,もっと良い方法が有りそうですが,やっつけ(UNKNOWは無視)で対応です。

回路は,元ネタ”まるまんま”ですが,赤外線LEDを1つ追加,ステータス表示用の為,IO0にLEDを追加しました。
POSTしたりGETしたりすると,LEDが点滅します。
当然,使用するIOは,他でもOKです。 IOが余っているので3色LEDに変更すれば,より華やかになると思います。

実物は,IRKitと比べると,こんな感じ…
タカチのプラケース”TW5-3-5B”に入れるのを想定してます。
IMG_0169.jpg

単品では,こんな感じ…
IMG_0171.jpg
なんか,前側がギュウギュウ詰め。
実際は,ESP8266に付き物な,PullUp/Down抵抗は全部,ブレークアウトボード(裏)に付いてますので,基盤上はすっきりしています。 赤外線LEDは,前方に2つ,上向きに1つ。 青色LEDはステータス用。 後ろ側に,ResetスイッチとMicroUSB(電源のみ)があります。
当方,CEREVO製ブレークアウトボードのJ1にスイッチを実装,実装前に3V3とGNDのパターンカットし,抵抗器(10k)を挟みPullUp/Down化することで,IO0もI/Oとして使えるようにしています。


コードの方は,WifiManagerを入れてあるので,初回起動時,APモードとなりSSID/Passwordの設定をすることができます。
これで,アクセスポイントが変わっても,簡単に対処できます。
# 当方,1つの部屋にAPが3つある…

実際のコードはこんな感じ… いつも通り”フランケンシュタイン”状態。
行数は,元ネタの約5割増し(笑
書き込み前に,必要なライブラリをIDEにセットアップしておいてください。(GitHubにあります)
# ブラウザーのjavascriptを有効にして頂かないと,コードの一部が表示されません。
IRKitClone with WifiManager


今後,最終的には,ケースに入れて,他の部屋に設置しようと思ってます。
あと,赤外線LEDの指向性(?)が,びっくりするほとピーキー(?)なので,”拡散キャップ”を付けないと,部屋全体をカーバーするには厳しいかも。
リモコンの情報を取得してしまえば,curlで操作できるので,homebridgeなどで使うことも出来たりで,夢は広がります(笑
リモコン情報の取得作業が,地味なくせに一番大変かも…ですが。

最後にいつものお約束。
試すなら自己責任で,おねがします。
# こんなの誰も試さないか…

タグ:IoT IRKit Clone
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:趣味・カルチャー

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。