rf_gpio
プレゼンテーション
rf_gpio 送信機と受信機を raspberry pi_の _GPIO のポートに直接接続された RFLink をシミュレートします。
インストール:
cd /home/pi
git clone https://github.com/jmichault/rf_gpio.git
cd rf_gpio
sudo cp -p rf_gpio.sh /etc/init.d
sudo update-rc.d rf_gpio.sh defaults
sudo service rf_gpio.sh start
受信機を gpio2 bcm27 ( ピン13 )
を接続する送信機を gpio0 bcm17 ( ピン11 )
domoticz で使用します。
型 «RFLink Gateway with LAN interface»
リモートアドレスの素材を追加:127.0.0.1
ポート:10000
ハードウェアが認識されている場合は、 domoticz との統合が簡単です。 “スイッチ”タブで “自動検出”を使用するのに十分です。オプション “は5分” を可能にします。
トランシーバがテストされました。
-
原子炉反応器 ( ASIN = B00Z9SZNP0、MX-05V + MX-FS-03V )の中国の歯車。€1でAmazonで表示されます。
トランスミッタは大丈夫ですが、受信機は学習コードにのみ使用するために、約4m)の非常に低い (範囲です。
-
WL101-341 + WL102-341、SuperEROTEDYN 433 MHzは、AliExpressで€1で見られました。
受信機は前のものよりも優れた感度を持ちます。
注意:良い結果については、受信機は _raspberry-pi_によって発行された害虫から保護されなければなりません。テストのためには、半分に折りたたまれた紙のシートの中にアルミコートを使用することができます。
認識された材料:
正常にテストされました:
-
KYG (_ ASIN:B07DPVWW1 _ 、マークされた Intertek、 amazon)( のビューは «Impuls») として認められます。
-
温度計 - Higometer Aneng ( 中国の低コストで、LCDスクリーンは _aliexpress_で見た。 )
-
温度計 - Higometer Digoo RG-8B ( 中国の低コスト、画面なしで、 _aliexpress_で見た。 )
他のセンサーはSensors.iniで事前定義されていますが、テストされていませんでした。
新しいセンサーを追加するには
データ転送プロトコルとデータフォーマットを特定する必要があります。
オプション1:
RF_gpio, soit en le lançant dans une fenêtre shell, soit en s’y connectant avec la commande «telnet 127.0.0.1 10000».
の出口に従ってください
センサーがデータを送信し、転送プロトコルが認識されると、次のようなものが表示されます。
20; 00; P0102、ビット= 36、D0 = 529、D1 = 949、D2 = 1926、DS = 3865。 Binary = 01110011000000000、Hex = 7300D8F20。
20。 =任意のRFlink排出量フレームはこのように始まります。
00。 =最初のフレームワークが公開されました。
P0102、ビット= 36、D0 = 529、D1 = 949、D2 = 1926、DS = 3865 = RF _gpio a identifié un protocole du type :
ビット0 = D0 D1
ビット1 = D0 D2
36データビット
持続時間D0 =520μs
持続時間D1 =957μs
持続時間D2 =1936μs
同期期間DS = 3881μs Duuma = 01110011000000000000000、Hex = 7300D8F20; :バイナリとhexaで受信されたデータ。
オプション2:
樹皮:
./analyzi
そして、リモコンのボタンを押すか、センサーがデータを送信するのを待ちます。プロトコルが認識されている場合は、そのようなものが表示されます。
73実用的なプロトコル: “ xxx。 P0001、ビット= 36、D0 = 689、D1 = 1923、DS = 3890。 ID:B1~B36 “
BINARYデータ:7300D8F20
あなたは今各作品の意味を識別するためにバイナリデータを分析する必要があります。
その後、dentilos.iniファイルに1行を追加できます。各行は、セミコロンで区切られた3つの要素で構成されています。
-
最初の要素:機器の名前。注意、スイッチの場合は、 _domoticz_で認識された要素のリストの一部でなければなりません。
-
2番目の要素:プロトコル。 RF_gpio ou analizo.
で示すものをコピーする例:P0102、BITS = 36、D0 = 561、D1 = 1899、D2 = 3845、DS = 9158
を意味します:プロトコルP0102 (ビット0 = D0 D1、ビット1 = D0 D2)、フレームごとの36ビット、期間D0 = 561 μS、持続時間D1 = 1899μs、持続時間D2 =3845μs、期間シンクロDS =9158μs
プロトコル、ビット、D0、D1部品はデバイスを区別するために使用されます。 -
3番目の要素:データの説明、各フィールドはComaによって他のフィールドから分離します
マルチチャンネルリモコン、ID:ID:B1-20、CMD:B21-21、幅:B22-24
ID:B1-20は、リモコンのIDがビット1~20 (ビット1 = Firstビット CMD:B21-21を意味する。送信されたコマンド ( ON / OFF ) はILO 21にあります。
の変更:B22-24は、操作されたジャックの数がビット22から24に位置することを意味します。
は domoticz_で確認され、フィールド名は認識されているリスト ( を参照してください.sensulos.txt )を参照してください。ただし、必要なものを入れることができます。単にフィールドは _domoticz_で無視されます。
は、例えば、いくつかのビットスイートがあります.CMD:B17-17:B15-15:B16-16ビット17と16をその順に連結します。
特定のビットの値をテストできます。例えば、CST2:B43-48 = 1は、ビット43 48が受信時に1 (を含むことを確認し、これらのピースに分布していることを確認します。 、CST2:B43-48! 1ビット438に受信時に1 (16進数) が含まれていないことを確認してください。
BCDコード化フィールドを宣言することができます ( 10進符号化バイナリ ) :bの代わりにb。例:TEMP:B12-15:B16-19:B20-23は、ビット12~15、2番目のビット16~20、ビット21~23の3番目の数字がある温度フィールドを宣言する。
“ -INV “を用いたフィールド仕上げは、ショー内のそのホモニーストフィールドの1つの) に逆 (を補完する特別な分野です。
“=”のデータに含まれていないフィールドに値を割り当てることができます。例:cmd = on
簡単な計算を行うことができます:加算、乗算および減算が可能です ( この正しい順序 )では、定数は16進数です。
°C + 900の10分の10分のデータを変換する例:
TEMP:B17-28 + -4C4 * 5/9 ( SO:データ _finale = (donnée 動物-1220 ) * 5/9 )
条件を満たすすべての行は行を生成しますが、誤検知を回避する場合は、機器と一致しない行を開始または削除できます。
質問については、正しい機器名の最初の行だけが使用されます。
プロトコルが認識されない場合は、オプション-v、-vvまたは-vvを使って動詞を増やすことによってそれを検討するために使用することができます。しかしRF_gpio ne pourra pas le reconnaitre sans développement supplémentaire.
サポートされているプロトコル:
少なくとも以下の機能を持つプロトコルのみが認識される機会があります。
-
パルス常時 > 100μsの時間
-
データを表すために3つ以下の期間以下。
-
各部分は、常に同じ方法で2つのパルスで符号化されています。
-
各フレームは、時間 >2500μsの2つの同期信号によって囲まれています。
-
フレームには200個以上のパルスが含まれていません。
ショーでは、回転符号と確認量は投与されません。