Innholdsfortegnelse:
- Trinn 1: Ting som brukes i dette prosjektet
- Trinn 2: Historie
- Trinn 3: Maskinvaretilkobling
- Trinn 4: Cloud Configure
- Trinn 5: Programvareprogrammering
Video: Så IoTea LoRa -løsning (med Azure, oppdatering 1812): 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
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.
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.
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.
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.
Å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.
Trinn 4. Legg til Iot -enhet
Klikk på Enheter i listen til venstre i LORIOT, kopier enheten din EUI.
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.
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.
Etter det kan du starte programmet:
gunicorn iothub_recv: app
Anbefalt:
(OPPDATERING - DET ER EN LETT UTGAVE) USB SPILLKONTROLLER FOR PC: 10 trinn (med bilder)
(OPPDATERING - DET ER EN LETT UTGAVE) USB SPILLKONTROLLER FOR PC: EN SPILLKONTROLL FOR ALLE SPILL (Nesten)
Kortsortering for en handelskortmaskin (oppdatering 2019-01-10): 12 trinn (med bilder)
Kortsortering for en handelskortmaskin (oppdatering 2019-01-10): Kortsortering for en handelskortmaskin Endringsloggen finner du i det siste trinnet. Bakgrunnen Jeg forklarte allerede motivasjonen til prosjektet mitt i kortmater-artikkelen. Men kort sagt, barna mine og jeg har samlet meg et stort mengde handelskort
Nærbilde Dyrelivsfotografering Uten Hi-Tech-utstyr. Oppdatering.: 7 trinn (med bilder)
Nærbilde Dyrelivsfotografering Uten Hi-Tech-utstyr. Oppdatering .: Tilbake på 60 -tallet & På 70 -tallet da jeg var en liten gutt, ledet vi en annen livsstil for de fleste barna i disse dager, da jeg var fire flyttet vi fra maisonetten vår ovenfor Broadway, en travel hovedgate i Loughton Essex til Stevenage, en ny by i Hertfordshire
Tamaguino -oppdatering med stor OLED: 4 trinn
Tamaguino Update With Huge OLED: Hilsen! I dag skal vi oppdatere Tamaguino med et skinnende nytt stort 2.7 " OLED -skjerm, vennligst levert av DFRobot! Som du kanskje allerede vet, var Tamaguino et av mine første Arduino -prosjekter og mitt første spill utviklet for å kjøre på en mikrokontroller
(1) Neonindikator: Med oppdatering 3/1/13: 5 trinn
(1) Neonindikator: Med oppdatering 3/1/13: Neonpæren ble brukt til å erstatte glødelampen i elektrisk utstyr. Først i en serie Neon Bulb-prosjekter for å gjeninnføre NE2-komponenten. 110 til 125 VAC KUN ! Her starter vi med den enkleste kretsen. Neonindikatoren. Oppdater