Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Microsoft Azure, daha güclü və sabit hesablama gücü təmin edən bir bulud xidmətidir. Bu dəfə IoTea məlumatlarımızı ona göndərməyə çalışdıq.
Addım 1: Bu Layihədə İstifadə Edilən Şeylər
Avadanlıq komponentləri
- Grove - Karbon Dioksid Sensoru (MH -Z16)
- Grove - Rəqəmsal İşıq Sensoru
- Grove - Toz Sensoru (PPD42NS)
- Grove-Oksigen Sensoru (ME2-O2-Ф20)
- Torpaq Nəmliyi və Temperatur Sensoru
- LoRa LoRaWAN Gateway - Raspberry Pi 3 ilə 868MHz dəsti
- Grove - Temp & Humi və Barometr Sensoru (BME280)
Proqram proqramları və onlayn xidmətlər
- Microsoft Visual Studio 2015
- Microsoft Azure
Addım 2: Hekayə
Sichuan, Yaan'ın şimal -şərqindəki Mengding dağında, dağ silsiləsi yaşıl dənizdə qərbdən şərqə doğru axır. Dəniz səviyyəsindən 1100 m yüksəklikdə yerləşən 50mu (= 3.3 hektar) əkin sahəsinə malik olan, çox az sayda Mengding çay istehsalçılarından biri olan 36 yaşlı Denq üçün ən tanış mənzərədir. Deng çayçı ailəsindən gəlir, lakin ailə mirasını davam etdirmək asan məsələ deyil. Çaylarımız əla keyfiyyətini təmin etmək üçün üzvi bir mühitdə yüksək yüksəkliklərdə yetişdirilir. Ancaq eyni zamanda, böyümə sıxlığı aşağıdır, dəyəri yüksəkdir və qönçələnmə qeyri -bərabərdir, bu da çayın yığılmasını çətinləşdirir. Bu səbəbdən yüksək dağ çayları adətən kiçik məhsullardır və dəyərləri bazara əks olunmur.”Son iki ildə Deng, dəyərini tanıtmaq üçün istehlakçıların yüksək dağ çayı haqqında məlumatlılığını artırmağa çalışır. Və Seeed -in IoTea texnologiyasını tətbiq etmək üçün bir plantasiya axtaran Fanla tanış olanda bir həll üçün mükəmməl bir uyğunluq tapıldı.
Addım 3: Avadanlıq Bağlantısı
Zəhmət olmasa, avadanlıqlarınızı birləşdirmək üçün əvvəlki təlimatı izləyin.
Addım 4: Bulud Konfiqurasiyası
Addım 1. Resurs Qrupu yaradın
Microsoft Azure -a daxil olmaq üçün bura daxil olun. Və sonra, tablosunun solundakı siyahıya Resurs qruplarını daxil edin, Resurs Qrupu əlavə etmək üçün Əlavə et düyməsini basın.
Resurs Qrupu, layihədəki bütün qaynaqları idarə etmək üçün istifadə olunur, bulud mənbələrindən istifadə etdikdən sonra, ödənişlərin qarşısını almaq üçün bütün mənbələri silmək üçün resurs qrupunu silin. Açılan səhifədə Resurs qrupu adını (iotea kimi) doldurun, Lazım gələrsə Abunəlik və Resurs qrupu yerini seçin, Resurs Qrupu yaratmaq üçün Yarat düyməsini basın.
Addım 2. Iot Hub yaradın
İndi bir bulud qaynağı yarada bilərsiniz, solda bir qaynaq yarat düyməsini vurun, Əşyaların İnterneti - Iot Hub seçin, yeni bir səhifə açacaq.
Əsaslar sekmesinde, yeni yaratdığınız Resurs Qrupunu seçin və Iot Hub Adını (məsələn, iotea) doldurun, Lazım gələrsə Abunəlik və Bölgəni seçin və sonra Ölçü və ölçmə sekmesine keçin.
Ölçü və miqyas sekmesinde, F1: Pulsuz səviyyəsi və ya B1: Qiymətləndirmədə əsas səviyyəsi və miqyaslı səviyyəli kombini seçin, Əsas Tier ayda 10.00 USD alacaq. Nəhayət, Giriş + Yarat sekmesine daxil olun, yoxlayın və Iot Hub yaratmaq üçün Yarat düyməsini basın.
Addım 3. LORIOT -u konfiqurasiya edin
Yaratdığınız Iot Hub -a daxil olun, Paylaşılan giriş siyasətləri - cihazı vurun, Sağdakı səhifədəki Əsas düyməni kopyalayın.
Yeni bir broker pəncərəsi (və ya nişanı) açın, LORIOT İdarəetmə Panelinizə daxil olun, Tətbiq - SampleApp -a keçin, Nəzarət qrupunda Məlumat çıxışı - Dəyişdir düyməsini basın. Çıxış növü dəyişdirmə qrupunda Azure Iot Hub seçin, Iot Hub Adınızı və Birincil açarınızı doldurun və altdakı Dəyişikliyi təsdiq et düyməsini basın.
Addım 4. Iot cihazı əlavə edin
LORIOT -da soldakı siyahıdakı Cihazları vurun, Cihazınızın EUI -ni kopyalayın.
Azure Iot Hub -a qayıdın, Iot Hub -un solundakı siyahıda Iot cihazlarını basın. Əlavə et vurun, açılan səhifədə Cihaz EUI -ni Cihaz Kimliyinə doldurun.
ƏHƏMİYYƏTLİ: EUI CİHAZINDA BÜTÜN SEPRATORU SİLİN, 1122334455667788 kimi görünsün.
Saxla vurun, hamısı hazırdır.
Addım 5. D2C (Cihazdan Buluda) Mesajlarını alın
D2C Mesajlarını oxumaq üçün Microsoft Sənədlərini izləyə bilərsiniz.
Addım 5: Proqram təminatı
Proqramlaşdırma proqramı 3 hissəyə bölünür: Node, Gateway və Website, Node Part və Gateway Part proqramlaşdırmaq üçün əvvəlki Təlimatı izləyin. Veb sayt hissəsinin 1 -dən 8 -ə qədər addımları əvvəlki təlimatla eynidır.
Microsoft Azure -ı əvvəlcədən qurmusunuzsa, bir terminal açın, veb saytınızın kök qovluğuna daxil olun, virtual mühiti aktivləşdirin:
cd ~/iotea-hb
mənbə bin/aktivləşdir
pip vasitəsilə Azure Event Hub modulunu quraşdırın və new.py faylı yaradın (məsələn, iothub_recv.py):
pip azure-eventhub quraşdırın
iothub_recv.py -ə toxunun
və sonra aşağıdakı kodları yazın:
# --------------------------------------------------------------------------------------------
# Müəlliflik hüququ (c) Microsoft Corporation. Bütün hüquqlar qorunur. # MIT Lisenziyası altında lisenziyalaşdırılmışdır. Lisenziya məlumatları üçün layihə kökündəki License.txt -ə baxın. # ------------------------------------------------- ------------------------------------------- Azure-dən azure idxal eventhub-dan. eventhub idxalı EventData, EventHubClient, Ofset idxal qeydiyyat logger = logging.getLogger ('azure.eventhub') idxal db, json, vaxt, datetime def get_time (): cntime = datetime.datetime.now () + datetime.timedelta (saat = +8) tarix = cntime.strftime ('%Y-{}-{}'). Format (cntime.strftime ('%m'). Zfill (2), cntime.strftime ('%d'). Zfill (2)) saat = cntime.strftime ('%H'). Zfill (2) dəqiqə = cntime.strftime ('%M'). Zfill (2) saniyə = cntime.strftime ('%S'). Zfill (2)) qaytar [tarix, saat, dəqiqə, saniyə] def get_iothub_data (): list = ['0'] * 11 müştəri = EventHubClient.from_iothub_connection_string ('', debug = True) alıcı = client.add_receiver ("$ default", " 3 ", əməliyyat = '/mesajlar/hadisələr', ofset = Ofset (datetime.datetime.utcnow ())) cəhd edin: client.run () eh_info = client.get_eventhub_info () çap (eh_info) alındı = alıcı.qəbul (zaman aşımı) = 5) alınmış maddə üçün çap et (alındı): mən ssage = json.loads (str (item.message)) yazdır (mesaj) əgər mesajdakı 'data': data = mesaj ['data'] air_temp = str (int (data [0: 2], 16)) air_hum = str (int (data [2: 4], 16)) təzyiq = str (int ((data [4: 8]), 16)) co2 = str (int (data [8:12], 16)) toz = str (int (data [12:16], 16)) işıqlandırma = str (int (data [16:20], 16)) o2 = str (yuvarlaq (int (data [20:22], 16) / 10, 1)) torpaq_temp = str (int (məlumatlar [22:24], 16)) torpaq_hum = str (int (məlumatlar [24:26], 16)) gərginlik = str (yuvarlaq (int (məlumatlar [26:28], 16) / int ('ff', 16) * 5, 1)) error = str (int (data [28:], 16)) list = [air_temp, air_hum, təzyiq, co2, toz, işıqlandırma, o2, torpaq_temp, torpaq_xum, gərginlik, səhv] nəhayət: client.stop () geri qaytarma siyahısı isə True: list = get_time () + get_iothub_data () db.insert (siyahı) çap (siyahı)
Proqramı işə salmadan əvvəl, əlaqə telinizi dəyişdirin
müştəri = EventHubClient.from_iothub_connection_string ('', debug = True)
Iot Hub -da iotowner - Paylaşılan giriş qaydalarını tıklayaraq əlaqə siminizi əldə edə bilərsiniz, açılan səhifədəki Bağlantı simli əsas açarı əlaqə simidir.
Bundan sonra proqramı işə sala bilərsiniz:
gunicorn iothub_recv: tətbiq