Innholdsfortegnelse:

Så IoTea LoRa -løsning (med Azure, oppdatering 1812): 5 trinn
Så IoTea LoRa -løsning (med Azure, oppdatering 1812): 5 trinn

Video: Så IoTea LoRa -løsning (med Azure, oppdatering 1812): 5 trinn

Video: Så IoTea LoRa -løsning (med Azure, oppdatering 1812): 5 trinn
Video: Elon Musk Laughs at the Idea of Getting a PhD... and Explains How to Actually Be Useful! 2024, November
Anonim
Så IoTea LoRa -løsning (med Azure, oppdatering 1812)
Så IoTea LoRa -løsning (med Azure, oppdatering 1812)

Microsoft Azure er en skytjeneste som gir kraftigere og mer stabil datakraft. Denne gangen prøvde vi å sende IoTea -dataene våre til den.

Trinn 1: Ting som brukes i dette prosjektet

Maskinvarekomponenter

  • Grove - Karbondioksidsensor (MH -Z16)
  • Grove - Digital lyssensor
  • Grove - støvsensor (PPD42NS)
  • Grove-oksygensensor (ME2-O2-Ф20)
  • Jordfuktighet og temperatursensor
  • LoRa LoRaWAN Gateway - 868MHz sett med Raspberry Pi 3
  • Grove - Temp & Humi & Barometersensor (BME280)

Programvare -apper og online -tjenester

  • Microsoft Visual Studio 2015
  • Microsoft Azure

Trinn 2: Historie

På Mengding -fjellet nordøst for Ya’an, Sichuan, går fjellryggen vest til øst i et grønt hav. Dette er et mest kjent syn for 36 år gamle Deng, en av de få Mengding-te-skaperne i sin generasjon, med en plantasje på 50mu (= 3,3 hektar) som ligger på 1100 moh. Deng kommer fra en familie av tekokere, men det er ikke en lett oppgave å videreføre arven etter familien. “Teene våre dyrkes i stor høyde i et organisk miljø for å sikre sin utmerkede kvalitet. Men samtidig er veksttettheten lav, kostnadene høye og spirende er ujevn, noe som gjør te vanskelig å høste. Derfor er te på høyfjell normalt små avlinger, og verdiene deres gjenspeiles ikke på markedet. »De siste to årene har Deng prøvd å øke forbrukernes bevissthet om te for å fremme verdien. Og da han møtte Fan, som var på utkikk etter en plantasje for å implementere Seeeds IoTea -teknologi, ble det gjort en perfekt match for en løsning.

Trinn 3: Maskinvaretilkobling

Følg forrige opplæring for å koble til maskinvaren.

Trinn 4: Cloud Configure

Trinn 1. Opprett ressursgruppe

Klikk her for å logge på Microsoft Azure. Skriv deretter inn Ressursgrupper i listen til venstre på oversikten, klikk på Legg til for å legge til en ressursgruppe.

Bilde
Bilde

En ressursgruppe brukes til å administrere alle ressurser i prosjektet, etter å ha brukt skyressurser, sletter du ressursgruppen for å slette alle ressursene for å unngå kostnader. På åpnet side fyller du ut ressursgruppens navn (for eksempel iotea), velger Abonnement og plassering av ressursgruppe om nødvendig. Klikk på Opprett for å opprette en ressursgruppe.

Trinn 2. Lag Iot Hub

Nå kan du opprette en skyressurs, klikke på Opprett en resuse til venstre, velge Internet of Things - Iot Hub, den åpner en ny side.

I kategorien Grunnleggende velger du Ressursgruppen du nettopp opprettet, og fyller Iot Hub -navn (for eksempel iotea), velger Abonnement og region om nødvendig, og deretter går du til kategorien Størrelse og skalering.

Bilde
Bilde

I kategorien Størrelse og skala velger du F1: Gratis nivå eller B1: Grunnlag i Prising og kombinasjon av skalaer, Basic Tier tar 10,00 USD per måned. Til slutt går du til kategorien Gjennomgang + opprett, sjekker at du skriver inn og klikker på Opprett for å opprette en Iot Hub.

Bilde
Bilde

Trinn 3. Konfigurer LORIOT

Skriv inn Iot Hub du nettopp opprettet, klikk på Retningslinjer for delt tilgang - enhet, kopier primærnøkkelen på siden til høyre.

Bilde
Bilde

Åpne et nytt vindusvindu (eller en fane), logg på LORIOT -kontrollpanelet, gå til Program - SampleApp, klikk på Datautgang i kontrollgruppe - Endre. I gruppen Endre utdatatype velger du Azure Iot Hub, fyller ut Iot Hub -navnet og primærnøkkelen, og klikker Bekreft endringsknapp nederst.

Bilde
Bilde

Trinn 4. Legg til Iot -enhet

Klikk på Enheter i listen til venstre i LORIOT, kopier enheten din EUI.

Bilde
Bilde

Tilbake til Azure Iot Hub, klikk på Iot -enheter i listen til venstre for Iot Hub. Klikk på Legg til, fyll Device EUI to Device ID på åpnet side.

VIKTIG: SLETT ALLE SEPRATOR I ENHET EUI, la det se ut som 1122334455667788.

Bilde
Bilde

Klikk på Lagre, alt er gjort.

Trinn 5. Motta D2C -meldinger (Device to Cloud)

Du kan følge Microsoft Docs for å lese D2C -meldinger.

Trinn 5: Programvareprogrammering

Programvareprogrammering er delt inn i 3 deler: Node, Gateway og nettsted, følg forrige opplæring for å programmere Node Part og Gateway Part. Trinn 1 til 8 i nettsteddelen er også det samme som tidligere opplæring.

Hvis du allerede har konfigurert Microsoft Azure, åpner du en terminal, angir nettstedets rotmappe, aktiverer virtuelt miljø:

cd ~/iotea-hb

kildeboks/aktivere

installer Azure Event Hub -modulen via pip, og opprett en ny.py -fil (for eksempel iothub_recv.py):

pip installer azure-eventhub

trykk på iothub_recv.py

og skriv deretter koder nedenfor:

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

# Copyright (c) Microsoft Corporation. Alle rettigheter forbeholdt. # Lisensiert under MIT -lisensen. Se License.txt i prosjektroten for lisensinformasjon. # ------------------------------------------------- ------------------------------------------- fra azurblå import eventhub fra azurblå. eventhub import EventData, EventHubClient, Offset import logging logger = logging.getLogger ('azure.eventhub') import db, json, time, datetime def get_time (): cntime = datetime.datetime.now () + datetime.timedelta (hours = +8) date = cntime.strftime ('%Y-{}-{}'). Format (cntime.strftime ('%m'). Zfill (2), cntime.strftime ('%d'). Zfill (2)) time = cntime.strftime ('%H'). Zfill (2) minutt = cntime.strftime ('%M'). Zfill (2) second = cntime.strftime ('%S'). Zfill (2) retur [dato, time, minutt, sekund] def get_iothub_data (): list = ['0'] * 11 klient = EventHubClient.fr_iothub_connection_string ('', debug = True) receiver = client.add_receiver ("$ default", " 3 ", operation = '/messages/events', offset = Offset (datetime.datetime.utcnow ())) try: client.run () eh_info = client.get_eventhub_info () print (eh_info) received = receiver.receive (timeout = 5) Skriv ut (mottatt) for element i mottatt: meg ssage = json.loads (str (item.message)) print (melding) hvis 'data' i meldingen: data = melding ['data'] air_temp = str (int (data [0: 2], 16)) air_hum = str (int (data [2: 4], 16)) trykk = str (int ((data [4: 8]), 16)) co2 = str (int (data [8:12], 16)) støv = str (int (data [12:16], 16)) belysning = str (int (data [16:20], 16)) o2 = str (round (int (data [20:22], 16) / 10, 1)) jord_temp = str (int (data [22:24], 16)) jord_hum = str (int (data [24:26], 16)) spenning = str (rund (int (data [26:28], 16) / int ('ff', 16) * 5, 1)) error = str (int (data [28:], 16)) list = [air_temp, air_hum, trykk, co2, støv, belysning, o2, jord_temp, jord_hum, spenning, feil] endelig: client.stop () returliste mens True: list = get_time () + get_iothub_data () db.insert (list) print (list)

Før du kjører programmet, må du endre tilkoblingsstrengen din

client = EventHubClient.from_iothub_connection_string ('', debug = True)

du kan få tilkoblingsstrengen din ved å klikke Retningslinjer for delt tilgang - iotowner i Iot Hub, primærnøkkelen til tilkoblingen på den åpne siden er tilkoblingsstrengen.

Bilde
Bilde

Etter det kan du starte programmet:

gunicorn iothub_recv: app

Anbefalt: