Talaan ng mga Nilalaman:

Nakita ang IoTea LoRa Solution (kasama ang Azure, Update 1812): 5 Mga Hakbang
Nakita ang IoTea LoRa Solution (kasama ang Azure, Update 1812): 5 Mga Hakbang

Video: Nakita ang IoTea LoRa Solution (kasama ang Azure, Update 1812): 5 Mga Hakbang

Video: Nakita ang IoTea LoRa Solution (kasama ang Azure, Update 1812): 5 Mga Hakbang
Video: Von ordona #vonlyn #bghouse #von 2024, Nobyembre
Anonim
Nakita ang IoTea LoRa Solution (kasama si Azure, Update 1812)
Nakita ang IoTea LoRa Solution (kasama si Azure, Update 1812)

Ang Microsoft Azure ay isang serbisyo sa cloud na nagbibigay ng mas malakas at matatag na kapangyarihan sa computing. Sa oras na ito sinubukan naming ipadala ang aming data sa IoTea dito.

Hakbang 1: Mga Bagay na Ginamit sa Project na Ito

Mga bahagi ng hardware

  • Grove - Carbon Dioxide Sensor (MH-Z16)
  • Grove - Digital Light Sensor
  • Grove - Dust Sensor (PPD42NS)
  • Grove - Oxygen Sensor (ME2-O2-Ф20)
  • Soil Moisture & Temperature Sensor
  • LoRa LoRaWAN Gateway - 868MHz Kit na may Raspberry Pi 3
  • Grove - Temp & Humi & Barometer Sensor (BME280)

Mga software app at serbisyong online

  • Microsoft Visual Studio 2015
  • Microsoft Azure

Hakbang 2: Kwento

Sa Mengding Mountain hilagang-silangan ng Ya’an, Sichuan, ang bundok ng bundok ay tumatakbo sa kanluran hanggang silangan sa isang dagat na berde. Ito ay isang pamilyar na paningin para sa 36-taong-gulang na Deng, isa sa napakakaunting mga gumagawa ng tsaa ng Mengding ng kanyang henerasyon, na may isang plantasyon ng 50mu (= 3.3 hectares) na matatagpuan sa 1100m sa itaas ng antas ng dagat. Ang Deng ay nagmula sa isang pamilya ng mga gumagawa ng tsaa, ngunit ang pagdala ng pamana ng pamilya ay hindi isang madaling gawain. "Ang aming mga tsaa ay lumaki sa mataas na altitude sa isang organikong kapaligiran upang matiyak ang mahusay na kalidad nito. Ngunit sa parehong oras, ang density ng paglago ay mababa, mataas ang gastos at hindi pantay ang pamumulaklak, na ginagawang mahirap anihin ang tsaa. Iyon ang dahilan kung bakit ang mga mataas na bundok na tsaa ay maliit na pag-aani at ang kanilang mga halaga ay hindi makikita sa merkado. "Sa nakaraang dalawang taon, sinusubukan ni Deng na itaas ang kamalayan ng mga mamimili sa mataas na bundok na tsaa upang maitaguyod ang kanilang halaga. At nang makilala niya si Fan, na naghahanap ng isang plantasyon upang maipatupad ang teknolohiya ng IoTea ng Seeed, isang perpektong tugma para sa isang solusyon ang nagawa.

Hakbang 3: Koneksyon sa Hardware

Mangyaring sundin ang Nakaraang Tutorial upang ikonekta ang iyong hardware.

Hakbang 4: Pag-configure ng Cloud

Hakbang 1. Lumikha ng Pangkat ng Mapagkukunan

Mag-click dito upang mag-login sa Microsoft Azure. At pagkatapos, ipasok ang Mga pangkat ng mapagkukunan sa listahan sa kaliwa ng dashboard, i-click ang Idagdag upang magdagdag ng isang Pangkat ng Mapagkukunan.

Larawan
Larawan

Ginagamit ang isang Resource Group upang pamahalaan ang lahat ng mga mapagkukunan sa proyekto, pagkatapos magamit ang mga mapagkukunang ulap, tanggalin ang pangkat ng mapagkukunan upang tanggalin ang lahat ng mga mapagkukunan upang maiwasan ang mga pagsingil. Sa binuksan na pahina, punan ang Pangalan ng pangkat ng mapagkukunan (tulad ng iotea), piliin ang Lokasyon ng subscription at mapagkukunan kung kinakailangan, i-click ang Lumikha upang lumikha ng isang Pangkat ng Mapagkukunan.

Hakbang 2. Lumikha ng Iot Hub

Ngayon ay maaari kang lumikha ng isang mapagkukunan ng ulap, mag-click Lumikha ng isang muling paglagay sa kaliwa, pumili ng Internet ng Mga Bagay - Iot Hub, magbubukas ito ng isang bagong pahina.

Sa tab na Mga Pangunahing Kaalaman, piliin ang Pangkat ng Mapagkukunan na nilikha mo lamang, at punan ang Iot Hub Pangalan (tulad ng iotea), piliin ang Subscription at Rehiyon kung kinakailangan, at pagkatapos ay lumipat sa tab na Laki at scle.

Larawan
Larawan

Sa tab na Sukat at sukat, piliin ang F1: Libreng baitang o B1: Pangunahing baitang sa Pagpepresyo at scale tier combo, ang Basic Tier ay kukuha ng 10.00 USD bawat buwan. Panghuli, lumiko sa Suriin + lumikha ng tab suriin ang iyong pag-input at i-click ang Lumikha upang lumikha ng isang Iot Hub.

Larawan
Larawan

Hakbang 3. I-configure ang LORIOT

Ipasok ang Iot Hub na nilikha mo lang, i-click ang Mga nakabahaging patakaran sa pag-access - aparato, kopyahin ang pangunahing key sa pahina sa kanan.

Larawan
Larawan

Magbukas ng isang bagong window ng brower (o tab), mag-login sa iyong LORIOT Control Panel, buksan ang Application - SampleApp, i-click ang Data output sa Control group - Change. Sa Baguhin ang pangkat ng uri ng output, piliin ang Azure Iot Hub, punan ang iyong Iot Hub Name at Pangunahing key, at i-click ang Kumpirmahin ang pindutan ng pagbabago sa ibaba.

Larawan
Larawan

Hakbang 4. Magdagdag ng Iot aparato

I-click ang Mga aparato sa listahan sa kaliwa sa LORIOT, kopyahin ang iyong Device EUI.

Larawan
Larawan

Bumalik sa Azure Iot Hub, i-click ang Iot device sa listahan sa kaliwa ng Iot Hub. I-click ang Idagdag, punan ang Device EUI sa Device ID sa binuksan na pahina.

MAHALAGA: TANGGALIN ANG LAHAT NG SEPRATOR SA DEVICE EUI, hayaan itong magmukhang 1122334455667788.

Larawan
Larawan

I-click ang I-save, tapos na ang lahat.

Hakbang 5. Tumanggap ng Mga Mensahe ng D2C (Device to Cloud)

Maaari mong sundin ang Microsoft Docs upang mabasa ang Mga Mensahe ng D2C.

Hakbang 5: Programming ng Software

Ang Programming ng Software ay nahahati sa 3 bahagi: Node, Gateway at Website, mangyaring sundin ang Nakaraang Tutorial sa programa na Bahagi ng Node at Bahagi ng Gateway. Ang mga Hakbang 1 hanggang 8 ng Bahagi ng Website ay pareho din sa Nakaraang Tutorial.

Kung na-configure mo na ang Microsoft Azure, magbukas ng isang terminal, ipasok ang root folder ng iyong website, buhayin ang virtual na kapaligiran:

cd ~ / iotea-hb

pinagmulan bin / buhayin

i-install ang module ng Azure Event Hub sa pamamagitan ng pip, at lumikha ng isang bagong.py file (tulad ng iothub_recv.py):

pip install azure-eventhub

pindutin ang iothub_recv.py

at pagkatapos ay isulat ang mga code na sumusunod dito:

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

# Copyright (c) Microsoft Corporation. Nakalaan ang lahat ng mga karapatan. # Lisensyado sa ilalim ng Lisensya ng MIT. Tingnan ang License.txt sa root ng proyekto para sa impormasyon ng lisensya. # ----------------------------------------------- ------------------------------------------- mula sa azure import eventhub mula sa azure. eventhub import EventData, EventHubClient, Offset import logging logger = logging.getLogger ('azure.eventhub') import db, json, time, datime def get_time (): cntime = datime.datetime.now () + datime.timedelta (oras = +8) date = cntime.strftime ('% Y - {} - {}'). Format (cntime.strftime ('% m'). Zfill (2), cntime.strftime ('% d'). Zfill (2)) oras = cntime.strftime ('% H'). Zfill (2) minuto = cntime.strftime ('% M'). Zfill (2) segundo = cntime.strftime ('% S'). Zfill (2) ibalik ang [petsa, oras, minuto, segundo] def get_iothub_data (): list = ['0'] * 11 client = EventHubClient.from_iothub_connection_string ('', debug = True) receiver = client.add_receiver ("$ default", " 3 ", operasyon = '/ mga mensahe / kaganapan', offset = Offset (datime.datime.utcnow ())) subukan: client.run () eh_info = client.get_eventhub_info () print (eh_info) natanggap = receiver.receive (timeout = 5) print (natanggap) para sa item sa natanggap: ako ssage = json.loads (str (item.message)) i-print (mensahe) kung 'data' sa mensahe: data = mensahe ['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)) pag-iilaw = str (int (data [16:20], 16)) o2 = str (bilog (int (data [20:22], 16) / 10, 1)) ground_temp = str (int (data [22:24], 16)) ground_hum = str (int (data [24:26], 16)) boltahe = str (bilog (int (data [26:28], 16) / int ('ff', 16) * 5, 1)) error = str (int (data [28:], 16)) list = [air_temp, air_hum, pressure, co2, dust, pag-iilaw, o2, ground_temp, ground_hum, boltahe, error] sa wakas: client.stop () bumalik listahan habang True: list = get_time () + get_iothub_data () db.insert (list) print (list)

Bago mo patakbuhin ang programa, baguhin ang iyong koneksyon sa

client = EventHubClient.from_iothub_connection_string ( , debug = True)

maaari mong makuha ang iyong koneksyon sa pamamagitan ng pag-click sa Mga nakabahaging patakaran sa pag-access - iotowner sa Iot Hub, ang Koneksyon ng string-primnary key sa binuksan na pahina ay ang koneksyon na string.

Larawan
Larawan

Pagkatapos nito, maaari mong simulan ang programa:

gunicorn iothub_recv: app

Inirerekumendang: