حدث لي هذا البديل لحماية الوصول إلى ميدان المرآب المجتمعي دون الحاجة إلى تثبيت الانفصال المادي. إنه يتعلق بجعل الحاجز الظاهري الذي يكتشف ويبلغ التدخلات.
في هذا التكرار الأول ، لا يحتوي الجهاز إلا على مستشعر الضوء للكشف عن انقطاع شعاع الليزر من أجل تحذير مرور الشخص. في وقت لاحق ، يمكننا تضمين حركات أخرى مثل PIR (مستشعر الأشعة تحت الحمراء السلبية). أو الاتصال هو نظام تسجيل الصور ، على سبيل المثال.

يعتمد المستشعر على LED ليزر ومقاومة للصور يقرأ منفذ تحويل تمثيلي/رقمي. يقوم البرنامج بضبط مستويات ضوء العتبة عند بدء تشغيل اللوحة. لذلك إذا تم حظر الضوء ، يتم تشغيل عملية التحذير الصوتي ورسالة التنبيه بواسطة Lora.
يتم دعم جزء Backffice بواسطة Thing Networs (AKA TTN) و IFTTT. تتم معالجة المعلومات أخيرًا في تدفقات البرنامج في RRED العقدة التي تعمل في حاوية Docker على Raspberry PI 3B+ مع نظام التشغيل Raspbian. ستكون صورة هذه الهندسة المعمارية: 
إظهار العملية الكاملة: الكشف والإخطار:



سنستخدم خدمات TTN التي ستقوم بإلغاء الرسالة من البوابة بأن حزمة البيانات إلى نقطة النهاية التي ستستهلك التطبيق الذي يتخذ الإجراء مع المعلومات الواردة في المؤامرة تعطي البيانات.
هذا الجهاز من نوع ABP (التنشيط الشخصية) مما يعني أنه سيتم تحديده على الشبكة مع عائد وجلسة مفتاح تم تكوينه مسبقًا. لهذا علينا إكمال تسجيل التطبيق وجهاز. هذه هي الخطوات التي يجب اتباعها:
تتواصل أجهزة مثل هذا المستشعر مع التطبيق الذي تم تسجيله فيه. لتسجيل جهاز ، يجب عليك أولاً إضافة تطبيق.

في وحدة التحكم ، حدد التطبيق وانقر فوق إضافة تطبيق على الشاشة التالية.
الآن سيتم إعادة توجيهنا إلى الصفحة مع التطبيق الإضافي الجديد حيث يمكنك العثور على تطبيق EUI ومفاتيح الوصول التي تم إنشاؤها. 

في TTN ، يمثل الجهاز (Devide) تكوين ما يستدعي أيضًا Node (العقدة) التي هي في النهاية دائرتنا. عند الوصول إلى نموذج التسجيل ، يتعين علينا فقط ملء معرف الجهاز الذي سيكون الاسم الفريد لهذه العقدة. من الأفضل الضغط على الأيقونة المحددة في الصورة بحيث يتم إنشاء جهاز EUI تلقائيًا.

أخيرًا ، سنضغط على السجل والضغط على الأيقونة باسم جهازنا الجديد لرؤية بيانات التكوين الخاصة بك. سنجد هنا المعلمات التي نحتاجها لتكون جهاز نوع ABP. وسيتعين علينا الانتقال إلى ملف التكوين . لكن تنسيق المفاتيح مختلف. ستجد ورقة excel (encode_eui.xlsx) التي ستسهل هذه المهمة.
// TTN Configuration
// LoRaWAN NwkSKey, network session key provided by TTN Console (https://console.thethingsnetwork.org) in Device settings form:
static const PROGMEM u1_t NWKSKEY[16] = {0x8F,0xDA,......};
// LoRaWAN AppSKey, application session key provided by TTN Console (https://console.thethingsnetwork.org) in Device settings form:
static const u1_t PROGMEM APPSKEY[16] = {0xE5,0x0A,......};
// LoRaWAN end-device address (DevAddr)
static const u4_t DEVADDR = 0x12345678 ; // <-- Change this address for every node!
// Other params
const int update_time_alive = 150000;
const int PhotoCell = 2;
const int Buzzer = 15;

سيتعين علينا العودة إلى شاشة Application Overbiew لإجراء تكوين أخير. الضغط على علامة التبويب تنسيقات الحمولة النافعة ، نصل إلى النموذج الذي يُسمح فيه للنص بفك تشفير مؤامرة بيانات رسالة LORA الخاصة بنا. في حالتنا هذا هو التنسيق:

تم تصميم الهندسة المعمارية التي تم اختيارها للظهر والأمام للحصول على الحد الأدنى من تكاليف التشغيل وقابلة للتطوير. سيسمح لنا استخدام الحاويات بإضافة أجهزة جديدة (عقد TTN) بسرعة مع عقدة لوحة القيادة الخاصة بها -تم تنفيذها على نفس الخادم.
كان الخادم المستخدم عبارة عن Raspberry PI 3B+. إنه حاليًا ليس النموذج الأقوى ولكنه كافٍ لتنفيذ العديد من الحاويات. مهام التكوين الأولية لتثبيت نظام التشغيل Raspbian ، ويمكن العثور على MySQL بسهولة. حاويات Docker و Node -Red مع جميع ملحقاتها اللازمة بحيث يمكن تنفيذ التدفق الكامل. أصفهم أدناه.
بالنسبة لهذه التكوينات التي قمت بها بناءً على المستند: الطريقة السهلة لإعداد Docker على Raspberry Pi. هنا ألخص الخطوات المراد متابعتها:
sudo groupadd docker
sudo gpasswd -a $USER docker newgrp docker
docker run hello-world
docker run -d -it -p 1881:1880 --name domohome-garage nodered/node-red
لا يتضمن تطبيق العقدة -العقد افتراضيًا العقد التي سنحتاج إلى دمجها مع TTN ، مع MySQL أو لإظهار واجهة المستخدم ، لوحة القيادة . من حيث المبدأ ، يمكن تثبيت كل شيء من خيار Manage Palette لتطبيق الإدارة الذي يجب أن نصل إليه في عنوان النوع: http: //192.168.1. ؟؟؟؟: 1881
العقد لوحة القيادة
التثبيت القياسي. البحث عن الوحدة النمطية ¨node-Red-Dashboard¨ في التثبيت من خيار Manage Plate Menu للتطبيق.
التكامل مع عقد TTN
سنحتاج إلى الوصول إلى الحاوية مع جلسة مزيد من المعلومات SSH هنا
docker exec -it domohome-garage /bin/bash
سنقوم الآن بتثبيت العقد مع مدير حزمة NPM:
npm install node-red-contrib-ttn
العقد MySQL
من جلسة SSH السابقة نقوم بتنفيذها:
npm install node-red-node-mysql
لتوسيع معلومات حول الاستخدام والأمثلة ، يحتوي موقع TTN على هذه الصفحة: https://www.thethingsnetwork.org/docs/applications/nodered/

في تدفق العقدة ، يتم التعامل مع الرسائل التي يتم تسليمها بواسطة خدمة TTN وإظهارها بيانياً. تحتوي حمولة الرسالة على قيمتين مختلفتين: ¨alert¨ عندما يتم مقاطعة شعاع الليزر و ¨alive¨ كل 10 دقائق. بالإضافة إلى ذلك ، يتم تضمين المنطق لإظهار حالة غير متوفرة عندما لم تصل أي رسالة في 11 دقيقة.
لاستيراد التدفق ، يجب أن نصل إلى تطبيق Node-Red الذي تمزقنا في Docker في اتجاه من النوع http: //192.168.1. ؟؟؟؟: 1881. سنجد خيار الاستيراد عن طريق الضغط على زر قائمة الهامبرغر. أسهل شيء هو النسخ إلى حافظة الفريق على محتوى ملف المرآب- cerberus_flows.json ولصقه على الشاشة: 
بعد الضغط على زر "الاستيراد" ، سيكون لديك عرض العقد والتدفقات. ولكن هناك ثلاثة منهم لم يتم تكوينه بشكل صحيح.
افتح خصائص عقدة الوصلة الصاعدة ttn domehome_sensor_garage وابحث عن الأسماء والمفتاح على وحدة تحكم TTN وفقًا للمراسلات التالية: 


يتم تثبيت التكامل مع IFTTT (إذا كان هذا) مع مكالمة بسيطة لراحة نقطة النهاية الخاصة به باستخدام عقدة نوع طلب HTTP مع التنسيق التالي.
https://maker.ifttt.com/trigger/domohome_garage_intruder/with/key/???????????

يجب علينا جمع جميع المعلومات الموجودة على سلسلة الاتصال إلى BBDD MySQL الخارجية إلى خادم RPI. المستخدم ، كلمة المرور ، المنفذ ، المضيف ... وأكمل تكوين قاعدة بيانات عقدة MySQL.

النتيجة النهائية هي شاشة سريعة الاستجابة حيث يتم عرض الحدث الأخير ، والتاريخ وإمكانية إلغاء تنشيط الإشعارات. سوف نصل إلى عنوان URL نفسه بالنسبة للإدارة ولكن مع اللاحقة/واجهة المستخدم: http://192.168.1.؟؟؟:1881/UI
https://blog.squix.org/2021/07/ttgo-lora32-v1-0-with-ttn-v3-otaa.html