سلسلة من المقالات حول تثبيت وتشغيل خادم LoRaWAN Chirpstack

1 المقدمة



ستخصص هذه السلسلة من المقالات لنشر وتشغيل البرامج مفتوحة المصدر: خادم شبكة LoRaWAN Chirpstack. تم إنشاء هذا البرنامج من قبل أحد المتحمسين لهولندا ، Orne Brocaar ، ويمكن استخدامه لبناء شبكات LoRaWAN الخاصة بهم ، ومكونات النظام مرخصة بواسطة ترخيص MIT ويمكن استخدامها للتشغيل التجاري.



من خلال التواصل مع العملاء والمستهلكين لأجهزة LoRaWAN التي نصنعها ، سمعت مرارًا وتكرارًا طلبات للمساعدة في نشر شبكاتي الخاصة بناءً على هذا الخادم ، مما جعلني أعتقد أن هناك حاجة إلى دليل عام لنشر وتشغيل الخادم ، والذي يمكنني قراءته خطوة بخطوة. بيده ، تثبيت أي شخص. في هذا الصدد ، ولدت هذه السلسلة من المقالات. ماذا سنناقش؟ لنبدأ بالشيء الأكثر أهمية ، عن طريق تثبيت جميع مكونات الخادم. علاوة على ذلك ، ستكون هناك مقالات حول تشغيل الخادم ، حول التكامل مع الأنظمة الأساسية الخارجية ، حول استخدام هذه التقنيات الجديدة لشبكات LoRaWAN مثل Multicast و FUOTA. وهكذا ، لنبدأ ... الجزء الأول.



2. ما سوف نعمل معه



بادئ ذي بدء ، سنصف ما سنختبره وننشر خادم LoRaWAN عليه.

الأجهزة:



  • بوابة LoRaWAN: DoMINO Indoor v.1.0 (يمكنك استخدام أخرى على سبيل المثال Vega BS xx)
  • عداد النبض DoMINO PULSE v.4.3 +


البرمجيات:



  • Cloud Server مع Ubuntu 18.04


3. وصف خادم Chirpstack



ويظهر هيكل خادم الشبكة LoRaWAN في الشكل 1.





Fig.1



المكونات الرئيسية لخادم هي:



جسر البوابة - بعض جسرا بين برنامج حزم كيل المثبتة على المحطة الأساسية (العبارة) وهيكل الخادم LoRaWAN ذاته؛

خادم الشبكة - خادم الشبكة الذي يعالج الرسائل على مستوى الشبكة ؛

خادم التطبيقات - خادم تطبيق يوفر تشغيل الشبكة على مستوى المستخدم ، ويتكامل مع الأنظمة الأساسية الخارجية.



المكونات



الإضافية : MQTT Broker Mosquitto - للرسائل الداخلية بين مكونات الخادم ؛

Redis  - قاعدة بيانات وسيطة لتخزين البيانات العابرة ؛

PostgreSQL- قاعدة بيانات لتخزين البيانات بشكل دائم.

جميع البرامج هي برامج مفتوحة المصدر.



4. تركيب الخادم



تم تثبيت الخادم على نظام التشغيل Ubuntu 18.04 أو Debian OS. سنصف التثبيت باستخدام خادم سحابي على Ubuntu 18.04. يتم الاتصال بالخادم عبر SSH باستخدام عميل Putty. ملاحظة: من المفترض أن القارئ لديه فكرة عن العمل مع Ubuntu و SSH و Putty ولديه نظام تشغيل مثبت ومهيأ.



4.1 تثبيت البرامج المساعدة وتكوينها



للبدء ، نحتاج إلى تثبيت الحزم الإضافية. للقيام بذلك ، أدخل الأمر في وحدة التحكم:



sudo apt install mosquitto mosquitto-clients redis-server redis-tools postgresql


وانتظر حتى يكتمل التثبيت.



بعد ذلك ، تحتاج إلى تكوين قاعدة بيانات PostgreSQL وإضافة المستخدمين إليها.

نذهب إلى وضع إدارة قاعدة البيانات:



sudo -u postgres psql


ستظهر مطالبة إدارة قاعدة البيانات postgres = #

إنشاء مستخدمين باستخدام كلمات المرور الخاصة بك (يجب تذكر هذه البيانات ، ويمكنك إعطاء معلومات تسجيل دخول وكلمات مرور أخرى ، ولكن تأكد من تذكرها ، وسيُطلب منهم المزيد لتكوين خادم الشبكة وخادم التطبيق).



نقوم بإنشاء مستخدم لخادم الشبكة:



create role chirpstack_ns with login password 'dbpassword';


نقوم بإنشاء مستخدم لخادم التطبيق:



create role chirpstack_as with login password 'dbpassword';


لنقم بإنشاء قاعدة بيانات لخادم الشبكة:



create database chirpstack_ns with owner chirpstack_ns;


قم بإنشاء قاعدة بيانات لخادم التطبيق:



create database chirpstack_as with owner chirpstack_as;


إعدادات إضافية



الاتصال بقاعدة البيانات:



\c chirpstack_as


نقوم بإنشاء امتداد:



create extension pg_trgm;


نقوم بإنشاء امتداد:



create extension hstore;


إنهاء تحرير معلمات قاعدة البيانات:



\q


4.2 تثبيت مستودع Chirpstack



يجب تثبيت المكونات التالية: dirmngr و apt-transport-https ، إذا لم يتم تشغيل الأمر:



sudo apt install apt-transport-https dirmngr


قم بتثبيت مفتاح المستودع الجديد:



sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1CE2AFD36DBCCA00


أضف المستودع إلى القائمة:



sudo echo "deb https://artifacts.chirpstack.io/packages/3.x/deb stable main" | sudo tee /etc/apt/sources.list.d/chirpstack.list


لنقم بتحديث ذاكرة التخزين المؤقت apt:



sudo apt update


هذا يكمل التكوين الأولي.



4.3 تثبيت جسر البوابة



قم بتثبيت الحزمة:



sudo apt install chirpstack-gateway-bridge


إطلاق Gateway Bridge:



sudo systemctl start chirpstack-gateway-bridge


نضع تطبيق Gateway Bridge عند بدء التشغيل:



sudo systemctl enable chirpstack-gateway-bridge


للتحقق من صحة التشغيل والتثبيت ، يمكنك التحقق من سجل العمل باستخدام الأمر:



sudo journalctl -f -n 100 -u chirpstack-gateway-bridge


اخرج من السجل Ctrl + Z.



يجب ألا يكون هناك أخطاء في السجل.



4.4 تثبيت وتكوين خادم الشبكة



قم بتثبيت الحزمة:



sudo apt install chirpstack-network-server


لكي يعمل الخادم بشكل صحيح ، نحتاج إلى تكوينه ، ملف التكوين هو الملف:



/etc/chirpstack-network-server/chirpstack-network-server.toml


قبل استخدام خادم الشبكة ، تحتاج إلى تحريره لمهامنا ، لذلك ندخل المجلد بالملف:



/etc/chirpstack-network-server/


وفي هذا المجلد ، قم بتنفيذ الأمر لإنشاء ملف تكوين جديد



chirpstack-network-server configfile > chirpstack-network-server.toml


لنبدأ في إجراء تغييرات على ملف التكوين.



افتح الملف للتحرير في محرر مناسب (nano ، vim).



سنناقش بالتفصيل العنصر المتعمق لإعدادات خادم الشبكة في الأجزاء التالية من الدورة ، والآن سنقوم بعمل الإعدادات الأساسية فقط لتوفير أساس الوظيفة.



نقوم بتكوين اتصال خادم الشبكة بقاعدة البيانات:



dsn="postgres://chirpstack_ns:dbpassword@localhost/chirpstack_ns?sslmode=disable"


هذا هو المكان الذي نحتاج فيه إلى اسم قاعدة البيانات وتسجيل الدخول وكلمة المرور من الفقرة السابقة!



نقوم أيضًا بتحرير معلمة خطة التردد:



name="RU864"


نحفظ ملف التكوين ، ونخرج إلى وحدة التحكم الطرفية.



نبدأ خادم الشبكة:



sudo systemctl start chirpstack-network-server


نضع خادم الشبكة عند بدء التشغيل:



sudo systemctl enable chirpstack-network-server


نتحقق من سجل خادم الشبكة ، يجب ألا تكون هناك أخطاء:



sudo journalctl -f -n 100 -u chirpstack-network-server


تم تكوين الخادم وتشغيله.



4.5 تثبيت خادم التطبيق وتكوينه



قم بتثبيت الحزمة:



sudo apt install chirpstack-application-server


عن طريق القياس مع خادم الشبكة ، نقوم بتكوين ملف تكوين خادم التطبيق.



انتقل إلى مجلد الإعدادات:



/etc/chirpstack-application-server/


نقوم بتحديث ملف التكوين:



chirpstack-application-server configfile > chirpstack-application-server.toml


هنا سيتعين علينا أيضًا تحرير الاتصال بقاعدة البيانات ونقطة مهمة جدًا نحتاجها لإنشاء مفتاح jwt_secret السري ، لذلك نقوم بتشغيل الأمر:



openssl rand -base64 32


واكتب المفتاح الناتج.



افتح ملف التكوين لتحريره وتغيير سلاسل اتصال قاعدة البيانات الخاصة بنا:



dsn="postgres://chirpstack_as:dbpassword@localhost/chirpstack_as?sslmode=disable"


قم بتثبيت مفتاح السر المنسوخ:



jwt_secret=”UwX3TeStLtm/7tkW7hsqfbpcvo5k+BOEh/l8uDHCcKU=”


نقوم بحفظ ملف التكوين. نخرج إلى وحدة التحكم الطرفية.



نبدأ خادم التطبيق:



sudo systemctl start chirpstack-application-server


اضبط خادم التطبيق على بدء التشغيل:



sudo systemctl enable chirpstack-application-server


التحقق من تشغيل خادم التطبيق:



sudo journalctl -f -n 100 -u chirpstack-application-server


يجب ألا تكون هناك أخطاء.



تهانينا ، خادم LoRaWAN Chirpstack مثبت وجاهز للاستخدام!



في الجزء التالي من هذه السلسلة من المقالات ، سأتحدث بالتفصيل عن العمل مع واجهة الويب لخادم LoRaWAN Chirpstack. مع أطيب



التحيات ،

رئيس مجموعة دومينو ،

أندريه جولوفاتينكو



All Articles