Mündəricat:

Görülmüş IoTea LoRa Həll (Azure ilə, Yeniləmə 1812): 5 addım
Görülmüş IoTea LoRa Həll (Azure ilə, Yeniləmə 1812): 5 addım

Video: Görülmüş IoTea LoRa Həll (Azure ilə, Yeniləmə 1812): 5 addım

Video: Görülmüş IoTea LoRa Həll (Azure ilə, Yeniləmə 1812): 5 addım
Video: CS50 2015 - Week 4 2024, Noyabr
Anonim
Görülmüş IoTea LoRa Həll (Azure ilə, Yeniləmə 1812)
Görülmüş IoTea LoRa Həll (Azure ilə, Yeniləmə 1812)

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.

Şəkil
Şəkil

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.

Şəkil
Şəkil

Ö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.

Şəkil
Şəkil

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.

Şəkil
Şəkil

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.

Şəkil
Şəkil

Addım 4. Iot cihazı əlavə edin

LORIOT -da soldakı siyahıdakı Cihazları vurun, Cihazınızın EUI -ni kopyalayın.

Şəkil
Şəkil

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.

Şəkil
Şəkil

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.

Şəkil
Şəkil

Bundan sonra proqramı işə sala bilərsiniz:

gunicorn iothub_recv: tətbiq

Tövsiyə: