rf_gpio
عرض
rf_gpio محاكاة RFLink مع المرسل والمستقبل متصل مباشرة إلى منافذ GPIO من raspberry pi.
التركيب:
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 ( PIN 13 )
قم بتوصيل جهاز الإرسال إلى gpio0 bcm17 ( PIN 11 )
استخدام مع domoticz :
إضافة مادة من النوع «RFLink Gateway with LAN interface»
العنوان عن بعد: 127.0.0.1
المنفذ: 10000
إذا تم التعرف على الأجهزة، فإن التكامل مع domoticz بسيط: يكفي استخدام الكشف التلقائي “ “ على “ تبديل “ علامة التبويب “، أو تنشيط الخيار “ السماح ب 5 دقائق “
اختبار الإرسال والاستقبال:
-
العتاد الصيني مع مفاعل المفاعل ( ASIN = B00Z9SZNP0، MX-05V + MX-FS-03V )، ينظر إليه في الأمازون عند 1 يورو.
على ما يرام الارسال، ولكن المتلقي منخفض جدا (من حوالي 4M)، لاستخدام رموز التعلم فقط.
-
WL101-341 + WL102-341، Superherotedyne 433 ميغاهيرتز، شوهد على Aliexpress في 1 يورو.
جهاز الاستقبال لديه حساسية أفضل من السابق.
ملاحظة: للحصول على نتائج جيدة، يجب حماية المتلقي من الآفات الصادرة عن raspberry-pi. لاختبار، يمكنك استخدام معطف من الألمنيوم في ورقة مطوية في النصف.
المواد المعترف بها:
تم اختباره بنجاح:
-
تأخذ KYG (_ asin: b07dpvww1 _ ، ملحوظ Intertek، وجهات النظر amazon)( المعترف بها ك «Impuls»)
-
ميزان الحرارة - Higometer Aneng ( التكلفة الصينية المنخفضة، مع شاشة LCD، ينظر إليها على aliexpress. )
-
ميزان الحرارة - Higometer Digoo RG-8B ( الصينية منخفضة التكلفة، دون شاشة، ينظر إليها على aliexpress. )
محلات المستشعرات الأخرى محددة مسبقا في أجهزة الاستشعار.يني، لكن لم يتم اختبارها.
لإضافة مستشعر جديد:
يجب تحديد بروتوكول نقل البيانات وتنسيق البيانات.
الخيار 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؛ ثنائي = 011100110000100000، عرافة = 7300D8F20؛
20؛ = يبدأ أي إطار انبعاثات rflink مثل هذا.
00؛ = الإطار الأول المنشور.
p0102، bits = 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 = 0111001100000000100000، Hex = 7300D8F20؛ : البيانات الواردة في ثنائي و HEXA.
الخيار 2:
تشغيل في اللحاء:
./analyzi
واضغط على الزر الموجود على جهاز التحكم عن بعد، أو انتظر المستشعر لإرسال البيانات. إذا تم التعرف على البروتوكول، نرى شيئا مشابها لذلك:
73 بروتوكول عملي: “ xxx؛ P00001، بت = 36، D0 = 689، D1 = 1923، DS = 3890؛ الرقم: B1-B36 “
البيانات الثنائية: 01110011000000110110001100100000
بيانات HEXA: 7300D8F20
تحتاج الآن إلى تحليل البيانات الثنائية لتحديد معنى كل قطعة.
يمكنك بعد ذلك إضافة خط في ملف Dentilos.ini، يتكون كل سطر من ثلاثة عناصر مفصولة بفاصلة منقوطة:
-
العنصر الأول: اسم المعدات. الاهتمام، إذا كان مفتاح التبديل، يجب أن يكون جزءا من قائمة العناصر المعترف بها بواسطة domoticz.
-
العنصر الثاني: البروتوكول. نسخ ما يظهر من قبل RF_gpio ou analizo.
مثال: P0102، بت = 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 لتمييز الأجهزة. -
العنصر الثالث: وصف البيانات، ينفصل كل حقل عن الآخرين عن طريق غيبوبة
مثال للتحكم عن بعد متعدد القنوات ومعرف: ID: B1-20، CMD: B21-21، SILES: B22-24
معرف: B1-20 يعني أن معرف جهاز التحكم عن بعد في BITS 1 إلى 20 ( بت 1 = أول بت تسليم cmd: b21-21 يعني يقود الأمر Constrated ( ON / OFF ) في منظمة العمل الدولية 21.
change: b22-24 يعني أن عدد المقبس المدنوع يقع في البتات 22 إلى 24.
يتم الاعتراف بها بواسطة domoticz، يجب أن يكون اسم الحقل في القائمة المعترف بها ( انظر sensulos.txt ). ومع ذلك، يمكننا وضع ما نريده، ببساطة سيتم تجاهل الحقل بواسطة domoticz.
هناك العديد من أجنحة BIT، على سبيل المثال: CMD: B17-17: B15-15: B16-16 تسلسل البتات 17 و 16 في هذا النظام.
يمكن اختبار قيمة بعض البتات، على سبيل المثال: CST2: B43-48 = 1 سيؤكد أن البتات 43 48 تحتوي على القيمة 1 (في مكتب الاستقبال، والتأثير على هذه القطع في التوزيع ، CST2: B43-48! 1 تأكد من أن BITS 438 لا تحتوي على القيمة 1 (سداسي عشري) في مكتب الاستقبال.
يمكننا إعلان الحقول المشفرة BCD ( الترميز العشري ثنائي ) : ضع B بدلا من B. مثال: TEMP: B12-15: B16-19: B20-23 يعلن حقل درجة الحرارة هو الرقم الأول له البتات 12-15، والثاني إلى البتات من 16 إلى 20 والثالث في البتات 21 إلى 23.
الانتهاء من الحقل مع “ -inv “ هو مجال خاص سوف يستغرق معك حقل ( إلى واحد ) من حقله الهاهن في العرض.
يمكنك تعيين قيمة إلى حقل غير موجود في البيانات لكل “=”. مثال: CMD = ON
يمكن إجراء الحسابات البسيطة: إضافة، الضرب والطرح ممكنة ( في هذا الترتيب الصحيح )، الثوابت في السداسي عشري.
مثال لتحويله في أعشار البيانات درجة مئوية في أعشار من ° F + 900:
temp: b17-28 + -4c4 * 5/9 ( so: البيانات finale = (donnée الحيوان -1220 ) * 5/9 )
في إيصال جميع الخطوط التي تلبي الحالة ستولد خطا، إذا كنت ترغب في تجنب الإيجابيات الخاطئة، فيمكنك البدء أو إزالة الأسطر التي لا تتطابق مع معداتك.
حول السؤال، سيتم استخدام السطر الأول فقط مع الاسم الصحيح للمعدات.
إذا لم يتم التعرف على البروتوكول، فيمكنك استخدامه لتحليله لدراسة ذلك عن طريق زيادة فعله مع الخيار، -VV أو -VV. لكن RF_gpio ne pourra pas le reconnaitre sans développement supplémentaire.
البروتوكولات المدعومة:
فقط البروتوكولات ذات الميزات التالية على الأقل لديها فرصة للتعرف عليها:
-
وقت النبض دائما > 100 μs
-
لا يزيد عن ثلاث فترات مختلفة لتمثيل البيانات.
-
يتم ترميز كل قطعة بنبضتين دائما بنفس الطريقة.
-
يحيط كل إطار إشارات متزامنة من الوقت >2500 μs.
-
لا يحتوي الإطار على أكثر من 200 نبضات.
في العرض، لا يتم إدارة الرموز الدوارة ومبالغ التأكيد.