TP Link MR3020からのXBMCのユニバーサルリモートコントロール

Openwrtを使用したホームワイヤレスルーターTP Link MR3020については、すでにHabrについて書いています 。 この記事では、TV、XBMCプレーヤー、およびコントロールパネルからのIR信号を理解するその他の家電製品を制御するための、この安価で便利なボックスを教える方法を説明します。 さらに、MR3020自体は、リモートコントロールから信号を受信することも学習します。



以下で説明する手順を繰り返すことを引き受ける人は、具体的に何をどのように管理するかはあなた次第です。 私は今、そのような箱を使って、リビングルームとキッチンのTV-XBMCの束を制御しています。 同時に、1つのリモートコントロールのみが制御に使用されます。 近い将来-近隣の地下通路ですべての世帯にアピールするリモコンを選択し、そのような部品を購入する3.もちろん、同じ経済性をAndroidタブレット(Wi-Fi経由)またはコンピューター(イーサネット経由)から制御できますが、私の家族の誰も私にインスピレーションを与えていないようです。



はんだ付けされたボックスとその付属品は、私にとって次のように見えます。



TP Link MR3020からのXBMCのユニバーサルリモートコントロール



中央には変換されたデバイスがあります。 ミニUSBコネクタのピンは、光検出器LEDのペアを接続するために使用されます。 これらのコンポーネントは、安価なDialogマイクで作られたハウジングに収容されています(ネイティブマイクのスライドは、ネイティブのIRテレビ受信機の近くで、ベルクロでテレビに取り付けられます)。 電源用の新しいコネクタ(通常、2ピン)が表示されます。



このストラップ全体がテレビでどのように見えるかを次に示します。



テレビで変換されたデバイス



接続されたレシーバー-エミッターは、赤い丸で表示されます。



そして、これは近くにあります(円の中-IR光検出器):



テレビで変換されたデバイス



デバイスの背面部分は、テレビのIRレシーバーで光ります(IR LEDは丸で囲まれています)。



IR光検出器に近いテレビの変換されたデバイス



ルータは、テレビの背面に粘着テープで取り付けられていますテレビで熱くない場所を選択してください)。 少し見た目は良くありませんが、誰がそこを見ていますか?



ルーターの近くのテレビで変換されたデバイス



おそらくあなたの場合、すべてがよりきれいできれいに見えるでしょう。 しかし、アセンブリの手順のおおよその順序は同じだと思います。



それでは始めましょう...



最初のステップは、Openwrtのルーターに関するページに慣れることです。 ページには、デバイスを分解するため指示があります 。 箱を開けて、はんだ付けする場所を探します。



実際、別の便利なリンクがはんだ付けする場所を教えてくれます-i2cバスの下でのGPIO 7および29の使用に関するフランス語のページ 実際には、同じGPIOを使用してIRレシーバー(GPIO 7)とLED(GPIO 29)を接続します。 私たちの目標は、記事と同じ場所(R15、R17、5 V、グランド)に正確に接続することです。 1つの重要な詳細: この記事とは異なり、抵抗R15とR17をはんだ付けする必要はありません 。 そのため、労力ははるかに少なく、コンタクトトラックの損傷のリスクは最小限です。



したがって、 2番目のステップははんだ付けです。 はんだ付けワイヤの選択は非常に重要な問題です。 私は壊れたヘッドフォンのシングルコアの毛を使いました。 そのような配線の先端は簡単に混み合います(加熱すると先端の絶縁が破壊されます)。はんだ付け錫メッキ配線は非常に簡単です。 1つのヒント:はんだ付けする前に、ボード上のワイヤをテープで固定し、ワイヤを慎重に目的の長さに引っ張り、つまようじでワイヤの先端を接触パッドに正確に置きます。 したがって、配線は所定の位置に正確に固定され、はんだ付けは、はんだごてが針で接点に接触するまで減少します。



TSOP31238をレシーバーとして、TSAL5100フォトダイオードをラジエーターとして使用することをお勧めします(サンクトペテルブルクの「Chip and Dip」でコネクタと一緒に取りました)。



接続図は次のようになります。



配線図



内蔵抵抗R15をはんだ付けしないために、抵抗R2(5 K)が必要です。



デバッグ中、必要な配線(5 V、グランド、GPIO 7、GPIO 29)を4ピンマザーブロックに出力し、適切なT1チップ(イーサネット用のアンプステージ)にスーパーグルーでマザー自体を接着するのが最も簡単です。 次のようになります。



配線図



そして、接続された光検出器で-このように:



配線図



ご覧のように、接点ブロックはボードに非常に確実に固定され、接点近くの配線ヘアはテ​​ープで固定されているため、システムのすべての要素が垂れ下がることはなく、必要に応じて内部要素と外部要素(IRセンサー、IRレシーバー)の信頼できる接続を提供します。 したがって、すべての配線がはんだ付けされており、図に従って光検出器付きLEDが接続されているとしましょう。



最後のステップ-ソフトウェア。



lircを詳細にペイントすることはせず、このプロジェクトの修正について掘り下げません(誰でもgithabでソースコードを取得できます)。 要するに、プロジェクトはlirc 0.9.0に基づいていますが、そのシリアルドライバーはGPIOを制御するためにわずかに再設計されています。



最終的なOpenwrt Attitude Adjustmentファームウェアでデバイスをフラッシュします。 ファームウェアは非常にシンプルで、全体のプロセスは、たとえばここで説明されています 。 ネットワークへの接続を提供するような方法でルーターを構成する必要があります。 設定の最も簡単な方法は、統合されたWebインターフェイスを使用することです。



以下に、Windowsコンピューターから必要なプログラムをインストールする手順を説明します。 まず、作業コンピューターにパテをインストールする必要があります。



puttyがインストールされているディレクトリに次のファイルをダウンロードします: lirc_0.9.0-1_ar71xx.ipkおよびlirctools_0.9.0-1_ar71xx.ipk



次のコマンドを使用して、これらのファイルをMR3020にコピーします(192.168.1.1をルーターのアドレスに置き換えます)。



pscp.exe -scp lirc_0.9.0-1_ar71xx.ipk root@192.168.1.1:.





pscp.exe -scp lirctools_0.9.0-1_ar71xx.ipk root@192.168.1.1:.







putty(ssh)を使用してデバイスにアクセスします。 次のコマンドを入力します。



opkg install lirc_0.9.0-1_ar71xx.ipk





opkg install lirctools_0.9.0-1_ar71xx.ipk







次に、lircを手動で実行してみてください。



insmod lirc_dev





mkdir -p /var/run/lirc





lircd





insmod lirc_serial gpio_in_pin=7 gpio_out_pin=29 debug=1





mode2 -d /dev/lirc0







IRリモートコントロールをIR光検出器の窓に当ててみてください。 デバイスが応答した場合、lircは光検出器として動作する準備ができています。 Ctrl-Cを押して、次のパートに進みます。



次の内容で/etc/init.d/lircファイルを作成します。



#!/bin/sh /etc/rc.common





# Copyright (C) 2006-2011 OpenWrt.org







START=50







start() {





insmod lirc_dev





mkdir -p /var/run/lirc





service_start /usr/sbin/lircd --release=_END --listen=0.0.0.0:8765 --device=/dev/lirc0





insmod lirc_serial gpio_in_pin=7 gpio_out_pin=0 debug=1





service_start /usr/sbin/irexec -d /root/.lircrc





}







stop() {





killall irexec





killall lircd





rmmod lirc_serial





rmmod lirc_dev





}







lircの実行を許可:



chmod +x /etc/init.d/lirc







ルーターを再起動します。



次に、送信機の操作性を確認します。



まず、lircd.confファイル自体をダウンロードまたは生成する必要があります。 このファイルには、特定のデバイス(TV、DVDなど)のリモートコントロールコードが含まれています。 リモートコントロールが既に誰かによってデジタル化されている可能性があり、必要なファイルはlirc Webサイトで見つけることができます。 目的のLGリモートコントロールはAKB33871420と呼ばれるとします。 そのファイルをホームディレクトリにアップロードします。



wget lirc.sourceforge.net/remotes/lg/AKB33871420







リモコンがサイトにない場合は、今すぐ録画します。 リモコンのすべてのボタンを押してパテで実行する準備ができています(MYREMOTEをリモコンの名前(AKB33871420など)に変更することを忘れないでください)。



/etc/init.d/lirc start





Killall lircd





irrecord -d /dev/lirc0 -n MYREMOTE







次に、慎重に指示に従い、リモートコントロールのコードを含むMYREMOTEファイルを作成します。



そのため、リモートコントロール用のファイルがホームディレクトリに表示されました。 それをlircフォルダーにコピーします。



cp MYREMOTE /etc/lircd.conf





/etc/init.d/lirc stop





/etc/init.d/lirc start





irw







もう一度、受信機でリモコンを照らします。 irwの回答を注意深く監視します。 すべてが順調であれば、コードが認識され始めました。 十分プレイしましたか? Ctrl-Cを押して終了し、先に進みます。 私たちのデバイスでテレビを輝かせてみましょう。 フォトダイオードをテレビに向けて、次のコマンドを実行します。



irsend send_once MYREMOTE mute







ここで、MYREMOTEはリモートコントロールの名前、muteはミュートキーコードです。 両方のパラメーターの名前は、lircd.confファイルで指定できます。



すべてがうまくいけば、テレビはミュートコマンドに応答します。 この場合、おめでとうございます-すべてうまくいきました。 開始時に必要なコンポーネントを自動的にダウンロードするようにデバイスを構成するだけです(悪名高い「ファイナルタッチ」)。



openwrt管理インターフェイスで、lircステータスを「無効」から「 有効 」に変更します。 これで、ルーターの起動時にlircが自動的に起動します。



Openwrt管理インターフェイス



ボックスは準備完了です! これで、TP-Link MR3020がIR信号を送受信できるようになりました。



irexecを調べて、対応する/root/.lircrcファイルを作成するだけです。これで、お使いのテレビは既に非ネイティブのリモートコントロールを理解できます。



お気づきのように、lircdはすでに標準ポート8765でリモート対流を受け入れています。これにより、Linuxメディアプレーヤーでのxbmc + lircバンドルの構成が簡単になります。 xbmcがWindowsで動作する場合、 eventghost + xbmcに向かって掘ります



おわりに



その結果、特定の家庭のニーズに合わせてリモートコントロールの動作を再プログラムできるようになり、Web経由で家電を制御できるようになります(受信した「ボックス」はIRだけでなく、通常のWiFi / Enternetインターフェイスでもコマンドを受信できるためです。



一般的に、それは怠ではなく、手にはんだごてと-前方に!



All Articles