جدول المحتويات:

تم الاطلاع على حل IoTea LoRa (مع Azure ، تحديث 1812): 5 خطوات
تم الاطلاع على حل IoTea LoRa (مع Azure ، تحديث 1812): 5 خطوات

فيديو: تم الاطلاع على حل IoTea LoRa (مع Azure ، تحديث 1812): 5 خطوات

فيديو: تم الاطلاع على حل IoTea LoRa (مع Azure ، تحديث 1812): 5 خطوات
فيديو: كيفية تكوين DevOps لـ Dynamics 365 Finance and Operations والتواصل مع Visual Studio 2024, يونيو
Anonim
رؤية حل IoTea LoRa (مع Azure ، تحديث 1812)
رؤية حل IoTea LoRa (مع Azure ، تحديث 1812)

Microsoft Azure هي خدمة سحابية توفر قوة حوسبة أكثر قوة واستقرارًا. هذه المرة حاولنا إرسال بيانات إنترنت الأشياء الخاصة بنا إليها.

الخطوة 1: الأشياء المستخدمة في هذا المشروع

مكونات الأجهزة

  • جروف - مستشعر ثاني أكسيد الكربون (MH-Z16)
  • جروف - مستشعر الضوء الرقمي
  • جروف - جهاز استشعار الغبار (PPD42NS
  • جروف - مستشعر الأكسجين (ME2-O2-Ф20)
  • رطوبة التربة ومستشعر درجة الحرارة
  • بوابة LoRa LoRaWAN - مجموعة 868 ميجا هرتز مع Raspberry Pi 3
  • جروف - مستشعر درجة الحرارة وهومي والبارومتر (BME280)

تطبيقات البرمجيات والخدمات عبر الإنترنت

  • مايكروسوفت فيجوال ستوديو 2015
  • مايكروسوفت أزور

الخطوة الثانية: القصة

على جبل مينجدينج شمال شرق يان ، سيتشوان ، تمتد سلسلة التلال الجبلية من الغرب إلى الشرق في بحر أخضر. هذا مشهد مألوف للغاية بالنسبة لدنغ البالغ من العمر 36 عامًا ، وهو أحد صانعي الشاي القلائل جدًا من جيله ، بمزرعة تبلغ مساحتها 50 مترًا مكعبًا (= 3.3 هكتارًا) تقع على ارتفاع 1100 متر فوق مستوى سطح البحر. ينحدر دينغ من عائلة من صانعي الشاي ، لكن الاستمرار في إرث العائلة ليس بالمهمة السهلة. تتم زراعة أنواع الشاي لدينا على ارتفاعات عالية في بيئة عضوية لضمان جودتها الممتازة. ولكن في الوقت نفسه ، تكون كثافة النمو منخفضة ، والتكلفة مرتفعة ، والتبرعم غير متساوٍ ، مما يجعل حصاد الشاي صعبًا. هذا هو السبب في أن شاي الجبال العالية عادة ما يكون حصادًا صغيرًا ولا تنعكس قيمه في السوق. على مدار العامين الماضيين ، حاول دينغ زيادة وعي المستهلك بشاي الجبال العالية لتعزيز قيمته. وعندما التقى فان ، الذي كان يبحث عن مزرعة لتنفيذ تقنية Seeed's IoTea ، تم التوصل إلى حل مثالي.

الخطوة 3: توصيل الأجهزة

يرجى اتباع البرنامج التعليمي السابق لتوصيل أجهزتك.

الخطوة 4: تكوين السحابة

الخطوة 1. إنشاء مجموعة الموارد

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

صورة
صورة

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

الخطوة 2. إنشاء Iot Hub

يمكنك الآن إنشاء مورد سحابي ، انقر فوق إنشاء مصدر على اليسار ، واختر إنترنت الأشياء - Iot Hub ، وسيفتح صفحة جديدة.

في علامة التبويب الأساسيات ، اختر مجموعة الموارد التي أنشأتها للتو ، واملأ Iot Hub Name (مثل iotea) ، واختر Subscription and Region إذا لزم الأمر ، ثم انتقل إلى علامة التبويب Size and scle.

صورة
صورة

في علامة التبويب الحجم والمقياس ، اختر F1: المستوى المجاني أو B1: المستوى الأساسي في مجموعة الأسعار ومستوى المقياس ، وستستغرق الطبقة الأساسية 10.00 دولارات أمريكية شهريًا. أخيرًا ، انتقل إلى علامة التبويب مراجعة + إنشاء تحقق من الإدخال وانقر فوق إنشاء لإنشاء Iot Hub.

صورة
صورة

الخطوة 3. تكوين LORIOT

أدخل Iot Hub الذي أنشأته للتو ، وانقر فوق سياسات الوصول المشتركة - الجهاز ، وانسخ المفتاح الأساسي في الصفحة على اليمين.

صورة
صورة

افتح نافذة متصفح جديدة (أو علامة تبويب) ، وقم بتسجيل الدخول إلى لوحة تحكم LORIOT الخاصة بك ، وانتقل إلى Application - SampleApp ، انقر فوق إخراج البيانات في مجموعة التحكم - تغيير. في مجموعة تغيير نوع الإخراج ، اختر Azure Iot Hub ، واملأ اسم Iot Hub والمفتاح الأساسي ، وانقر فوق زر تأكيد التغيير في الأسفل.

صورة
صورة

الخطوة 4. إضافة جهاز Iot

انقر فوق الأجهزة الموجودة في القائمة الموجودة على اليسار في LORIOT ، وانسخ EUI الخاص بجهازك.

صورة
صورة

العودة إلى Azure Iot Hub ، انقر فوق أجهزة Iot في القائمة الموجودة على يسار Iot Hub. انقر فوق إضافة ، واملأ Device EUI إلى معرف الجهاز في الصفحة المفتوحة.

هام: احذف كل الفاصل في DEVICE EUI ، دعه يبدو مثل 1122334455667788.

صورة
صورة

انقر فوق حفظ ، تم كل شيء.

الخطوة 5. استلام رسائل D2C (من الجهاز إلى السحابة)

يمكنك متابعة محرر مستندات Microsoft لقراءة رسائل D2C.

الخطوة 5: برمجة البرمجيات

تنقسم برمجة البرامج إلى 3 أجزاء: العقدة والبوابة والموقع الإلكتروني ، يرجى اتباع البرنامج التعليمي السابق لبرمجة جزء العقدة وجزء البوابة. الخطوات من 1 إلى 8 من جزء موقع الويب هي نفسها أيضًا البرنامج التعليمي السابق.

إذا قمت بالفعل بتكوين Microsoft Azure ، فافتح محطة ، وأدخل المجلد الجذر لموقع الويب الخاص بك ، وقم بتنشيط البيئة الافتراضية:

القرص المضغوط ~ / iotea-hb

مصدر بن / تفعيل

قم بتثبيت الوحدة النمطية Azure Event Hub عبر نقطة ، وإنشاء ملف new.py (مثل iothub_recv.py):

نقطة تثبيت azure-eventhub

المس iothub_recv.py

ثم اكتب الأكواد التي تليها:

# --------------------------------------------------------------------------------------------

# حقوق النشر (ج) شركة مايكروسوفت. كل الحقوق محفوظة. # مرخص بموجب ترخيص MIT. راجع License.txt في جذر المشروع للحصول على معلومات الترخيص. # ------------------------------------------------- ------------------------------------------- من إيفنتشوب استيراد أزور من أزور. استيراد eventhub EventData ، EventHubClient ، Offset import logger = logging.getLogger ('azure.eventhub') استيراد db ، json ، time ، datetime def get_time (): cntime = datetime.datetime.now () + datetime.timedelta (ساعات = +8) date = cntime.strftime ('٪ Y - {} - {}'). تنسيق (cntime.strftime ('٪ m'). zfill (2)، cntime.strftime ('٪ d'). zfill (2)) hour = cntime.strftime ('٪ H'). zfill (2) minutes = cntime.strftime ('٪ M'). zfill (2) second = cntime.strftime ('٪ S'). zfill (2) إرجاع [التاريخ ، الساعة ، الدقيقة ، الثانية] def get_iothub_data (): list = ['0'] * 11 client = EventHubClient.from_iothub_connection_string ('' ، debug = True) المتلقي = client.add_receiver ("$ الافتراضي"، " 3 "، العملية = '/ messages / events' ، الإزاحة = الإزاحة (datetime.datetime.utcnow ())) جرب: client.run () eh_info = client.get_eventhub_info () print (eh_info) مستلم = Receiver.receive (timeout) = 5) طباعة (مستلمة) للعنصر الوارد: أنا ssage = json.loads (str (item.message)) طباعة (رسالة) إذا كانت "البيانات" في الرسالة: data = message ['data'] air_temp = str (int (data [0: 2]، 16)) air_hum = str (int (data [2: 4]، 16)) pressure = str (int ((data [4: 8])، 16)) co2 = str (int (data [8:12]، 16)) dust = str (int (data [12:16]، 16)) الإضاءة = str (int (البيانات [16:20] ، 16)) o2 = str (round (int (data [20:22]، 16) / 10، 1)) التربة_temp = str (int (data [22:24]، 16)) seed_hum = str (int (data [24:26]، 16)) voltage = str (round (int (data [26:28]، 16) / int ('ff'، 16) * 5، 1)) خطأ = str (int (data [28:]، 16)) list = [air_temp، air_hum، pressure، co2، dust، lightening، o2، التربة_temp ، seed_hum، voltage، error] أخيرًا: client.stop () قائمة إرجاع بينما صحيح: list = get_time () + get_iothub_data () db.insert (list) print (list)

قبل تشغيل البرنامج ، قم بتغيير سلسلة الاتصال الخاصة بك في

العميل = EventHubClient.from_iothub_connection_string ('' ، التصحيح = صحيح)

يمكنك الحصول على سلسلة الاتصال الخاصة بك عن طريق النقر فوق سياسات الوصول المشتركة - iotowner في Iot Hub ، مفتاح سلسلة الاتصال الأولي في الصفحة المفتوحة هو سلسلة الاتصال.

صورة
صورة

بعد ذلك يمكنك بدء البرنامج:

gunicorn iothub_recv: app

موصى به: