جدول المحتويات:
- اللوازم
- الخطوة 1: كيفية تثبيت سلسلة DockerPi من SensorHub باستخدام RaspberryPi
- الخطوة 2: افتح RaspberryPi's I2C (1)
- الخطوة 3: افتح RaspberryPi's I2C (2)
- الخطوة 4: افتح RaspberryPi's I2C (3)
- الخطوة 5: بيئة البرمجيات (1)
- الخطوة 6: بيئة البرمجيات (2)
- الخطوة 7: بيئة البرمجيات (3)
- الخطوة 8: الرموز (1)
- الخطوة 9: الرموز (2)
- الخطوة 10: الرموز (3)
- الخطوة 11: الرموز (4)
- الخطوة 12: الرموز (5)
- الخطوة 13: الرموز (6)
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
مرحبًا جميعًا ، في الوقت الحاضر ، كل شيء تقريبًا مرتبط بـ IOT. لا شك في ذلك ، تدعم لوحة سلسلة DockerPi أيضًا IOT. اليوم ، أريد تقديم سلسلة DockerPi من SensorHub لكيفية التقديم على IOT.
أقوم بتشغيل هذا العنصر الذي يستند إلى Azure IOT HUB. يمكن استخدام Azure IOT HUB لبناء حلول IOT مع اتصالات موثوقة وآمنة بين ملايين أجهزة IOT وخلفية حل مستضافة على السحابة.
على سبيل المثال ، يمكنك معرفة درجة حرارة غرفتك وما إذا كان شخص ما قد وصل إلى منزلك على الإنترنت باستخدام جهاز SensorHub الخاص بنا.
اللوازم
- 1 × لوحة محور الاستشعار
- 1 x RaspberryPi 3B / 3B + / 4B
- 1 × بطاقة TF سعة 8 جيجابايت / 16 جيجابايت
- مصدر طاقة 1 × 5 فولت / 2.5 أمبير أو مزود طاقة 5 فولت / 3 أمبير لـ RPi 4B
الخطوة 1: كيفية تثبيت سلسلة DockerPi من SensorHub باستخدام RaspberryPi
لنلقِ نظرة أولاً على كيفية تثبيت سلسلة DockerPi من SensorHub مع Raspberry Pi
تحتاج فقط إلى إدخال دبابيس 40pin فيه.
كن حذرا يرجى فصل الطاقة عند تركيبها
الخطوة 2: افتح RaspberryPi's I2C (1)
نفّذ الأمر الموجود على الصورة: sudo raspi-config
الخطوة 3: افتح RaspberryPi's I2C (2)
الخطوة 4: افتح RaspberryPi's I2C (3)
الخطوة 5: بيئة البرمجيات (1)
تحتاج أولاً إلى التحقق من إصدار python3 الخاص بك.
الخطوة 6: بيئة البرمجيات (2)
ثم تحتاج إلى تثبيت مكونات Azure ذات الصلة. كن حذرًا ، يجب عليك استخدام الأمر الذي يتضمن "python3":
الخطوة 7: بيئة البرمجيات (3)
بعد ذلك ، عليك التحقق مما إذا كنت قد قمت بالفعل بتثبيت أداة git ، إذا كنت قد قمت بتثبيت git ، فيرجى تنفيذ الأوامر التالية:
الخطوة 8: الرموز (1)
- انتقل إلى الدليل التالي: azure-iot-sdk-python / tree / master / azure-iot-device / sample / Advanced-hub-سيناريوهات
- افتح الملف التالي: update_twin_reported_properties.py
- سترى أكواد الملف المصدر التالية على الصورة:
- غيّر إلى الرموز التالية على الصورة: اسم المضيف … الذي يمكنك الحصول عليه من Azure webiste.
- افتح الملف: get_twin.py وافعل الشيء نفسه:
الخطوة 9: الرموز (2)
تحتاج أيضًا إلى استيراد بعض مكتبات python3 في ملف update_twin_reported_properties.py:
الخطوة 10: الرموز (3)
ثم انضم إلى الرموز التالية على الصورة ، يمكنك أيضًا نسخها ولصقها في ملفك:
bus = smbus. SMBus (1) في انتظار device_client.connect () aReceiveBuf = aReceiveBuf.append (0x00) # 占位 符 لـ i في النطاق (0x01 ، 0x0D + 1): aReceiveBuf.append (bus.read_byte_data (0X17 ، i)) إذا كانت aReceiveBuf [0X01] & 0x01: state0 = "مستشعر درجة الحرارة خارج الشريحة يزيد عن الحد!" elif aReceiveBuf [0X01] & 0x02: state0 = "لا يوجد مستشعر درجة حرارة خارجية!" else: state0 = "درجة حرارة المستشعر خارج الشريحة الحالية =٪ d مئوية"٪ aReceiveBuf [0x01]
الضوء = (bus.read_byte_data (0x17، 0x03) << 8) | (bus.read_byte_data (0x17، 0x02)) temp = bus.read_byte_data (0x17، 0x05) الرطوبة = bus.read_byte_data (0x17، 0x06) temp1 = bus.read_byte_data (0x17، 0x08) الضغط = (bus.read_byte_data (0x17، 0x17، bus.read_byte_data (0x17 ،) << 16) | ((bus.read_byte_data (0x17، 0x0A) << 8)) | ((bus.read_byte_data (0x17، 0x09))) state = bus.read_byte_data (0x17، 0x0C) if (state == 0): state = "مستشعر BMP280 على ما يرام" else: state = "مستشعر BMP280 هو سيء"
الإنسان = bus.read_byte_data (0x17، 0x0D)
if (human == 1): human = "تم اكتشاف جسم حي" else: human = "no live body"
الخطوة 11: الرموز (4)
ثم قم بتشغيل الملف update_twin_reported_properties.py وسترى النتيجة:
الخطوة 12: الرموز (5)
ثم افتح الملف: get_twin.py وأدخل الرموز التالية ، يمكنك أيضًا نسخ الرموز ولصقها في ملفاتك:
print ("{}". format (twin ["report"] ["state0"])) print ("Reported light is: {}". format (twin ["report"] ["light"])، "Lux ") print (" درجة الحرارة المُبلغ عنها للوحة هي: {} ". تنسيق (مزدوج [" تم الإبلاغ عنه "] [" درجة الحرارة "]) ،" degC ") طباعة (" الرطوبة المُبلغ عنها هي: {} ". تنسيق (توأم [" " تم الإبلاغ عن "] [" الرطوبة "]) ،"٪ ") طباعة (" درجة حرارة المستشعر المبلغ عنها: {} ". تنسيق (مزدوج [" تم الإبلاغ عنه "] [" درجة حرارة 1 "]) ،" درجة مئوية ") طباعة (" تم الإبلاغ عنها ضغط الهواء هو: {} ". format (twin [" report "] [" pressure "])،" Pa ") print (" Reported {} ". format (twin [" report "] [" state "])) print ("تم الإبلاغ عما إذا كان اكتشاف جسم حي هو: {}". تنسيق (توأم ["تم الإبلاغ عنه"] ["بشري"]))
الخطوة 13: الرموز (6)
ثم قم بتشغيل الملف get_twin.py وسترى النتيجة التي تم تحديثها من الملف update_twin_reported_properties.py: