Indholdsfortegnelse:

Set IoTea LoRa -løsning (med Azure, opdatering 1812): 5 trin
Set IoTea LoRa -løsning (med Azure, opdatering 1812): 5 trin

Video: Set IoTea LoRa -løsning (med Azure, opdatering 1812): 5 trin

Video: Set IoTea LoRa -løsning (med Azure, opdatering 1812): 5 trin
Video: Setup Loraserver [2] - Config Lora-App-Server 2024, Juni
Anonim
Set IoTea LoRa -løsning (med Azure, opdatering 1812)
Set IoTea LoRa -løsning (med Azure, opdatering 1812)

Microsoft Azure er en cloud -tjeneste, der giver mere kraftfuld og stabil computerkraft. Denne gang forsøgte vi at sende vores IoTea -data til den.

Trin 1: Ting, der bruges i dette projekt

Hardware komponenter

  • Grove - Kuldioxidføler (MH -Z16)
  • Grove - Digital lyssensor
  • Grove - støvføler (PPD42NS)
  • Grove-Oxygen Sensor (ME2-O2-Ф20)
  • Jordfugtigheds- og temperatursensor
  • LoRa LoRaWAN Gateway - 868MHz kit med Raspberry Pi 3
  • Grove - Temp & Humi & Barometersensor (BME280)

Software -apps og onlinetjenester

  • Microsoft Visual Studio 2015
  • Microsoft Azure

Trin 2: Historie

På Mengding -bjerget nordøst for Ya’an, Sichuan, løber bjergryggen vest til øst i et hav af grønt. Dette er et mest kendt syn for 36-årige Deng, en af de meget få Mengding-te-producenter i sin generation, med en plantage på 50mu (= 3,3 hektar) beliggende på 1100 m over havets overflade. Deng kommer fra en familie af tefabrikanter, men det er ikke en let opgave at videreføre arven fra familien. “Vores te dyrkes i stor højde i et organisk miljø for at sikre dets fremragende kvalitet. Men på samme tid er væksttætheden lav, omkostningerne høje og spirende er ujævn, hvilket gør te svært at høste. Derfor er te på højt bjerg normalt små høst, og deres værdier afspejles ikke på markedet.”I de sidste to år har Deng forsøgt at øge forbrugernes bevidsthed om højbjergte for at fremme deres værdi. Og da han mødte Fan, der ledte efter en plantage til at implementere Seeeds IoTea -teknologi, blev det perfekte match til en løsning.

Trin 3: Hardwareforbindelse

Følg venligst Forrige vejledning for at forbinde din hardware.

Trin 4: Cloud -konfiguration

Trin 1. Opret ressource gruppe

Klik her for at logge på Microsoft Azure. Og indtast derefter Ressourcegrupper på listen til venstre for instrumentbrættet, klik på Tilføj for at tilføje en ressourcegruppe.

Billede
Billede

En ressourcegruppe bruges til at administrere alle ressourcer i projektet, efter at have brugt skyressourcer, slet ressourcegruppe for at slette alle ressourcer for at undgå gebyrer. På den åbnede side skal du udfylde ressourcegruppens navn (f.eks. Iotea), vælge Abonnement og ressourcegruppeplacering, hvis det er nødvendigt, klik på Opret for at oprette en ressourcegruppe.

Trin 2. Opret Iot Hub

Nu kan du oprette en skyressource, klikke på Opret en resouce til venstre, vælge Internet of Things - Iot Hub, det åbner en ny side.

I fanen Grundlæggende skal du vælge den ressourcegruppe, du lige har oprettet, og udfylde Iot Hub -navn (f.eks. Iotea), vælge Abonnement og område, hvis det er nødvendigt, og derefter vende til fanen Størrelse og scle.

Billede
Billede

I fanen Størrelse og skala skal du vælge F1: Gratis tier eller B1: Grundlæggende tier i Prissætning og skala tierkombination, Basic Tier tager 10,00 USD pr. Måned. Til sidst skal du gå til fanen Gennemse + opret, tjek dit input og klik på Opret for at oprette et Iot Hub.

Billede
Billede

Trin 3. Konfigurer LORIOT

Indtast den Iot Hub, du lige har oprettet, klik på Delte adgangspolitikker - enhed, kopier den primære nøgle på siden til højre.

Billede
Billede

Åbn et nyt vindue (eller fane), log ind på dit LORIOT Kontrolpanel, vend til Applikation - SampleApp, klik på Data output i Kontrolgruppe - Skift. I gruppen Skift outputtype skal du vælge Azure Iot Hub, udfylde dit Iot Hub -navn og din primære nøgle og klikke på Bekræft ændringsknap i bunden.

Billede
Billede

Trin 4. Tilføj Iot -enhed

Klik på Enheder i listen til venstre i LORIOT, kopier din Device EUI.

Billede
Billede

Tilbage til Azure Iot Hub, klik på Iot -enheder på listen til venstre for Iot Hub. Klik på Tilføj, udfyld enheds -EUI til enheds -id på den åbnede side.

VIGTIGT: SLET ALLE SEPRATOR I ENHED EUI, lad det ligne 1122334455667788.

Billede
Billede

Klik på Gem, alt er udført.

Trin 5. Modtag D2C (Device to Cloud) -meddelelser

Du kan følge Microsoft Docs for at læse D2C -meddelelser.

Trin 5: Software programmering

Softwareprogrammering er opdelt i 3 dele: Node, Gateway og Website, følg venligst Forrige vejledning for at programmere Node Part og Gateway Part. Trin 1 til 8 i webstedsdelen er også den samme som tidligere vejledning.

Hvis du allerede har konfigureret Microsoft Azure, skal du åbne en terminal, indtaste dit websteds rodmappe, aktivere virtuelt miljø:

cd ~/iotea-hb

kildebakke/aktiver

installer Azure Event Hub -modulet via pip, og opret en new.py -fil (f.eks. iothub_recv.py):

pip installer azure-eventhub

tryk på iothub_recv.py

og skriv derefter koder efter det:

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

# Copyright (c) Microsoft Corporation. Alle rettigheder forbeholdes. # Licenseret under MIT -licensen. Se License.txt i projektroden for licensoplysninger. # ------------------------------------------------- ------------------------------------------- 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) dato = cntime.strftime ('%Y-{}-{}'). Format (cntime.strftime ('%m'). Zfill (2), cntime.strftime ('%d'). Zfill (2)) time = cntime.strftime ('%H'). Zfill (2) minut = cntime.strftime ('%M'). Zfill (2) sekund = cntime.strftime ('%S'). Zfill (2) return [dato, time, minut, sekund] def get_iothub_data (): list = ['0'] * 11 klient = EventHubClient.from_iothub_connection_string ('', debug = True) modtager = 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) udskriv (modtaget) for varen i modtaget: mig ssage = json.loads (str (item.message)) print (meddelelse) hvis 'data' i meddelelsen: data = meddelelse ['data'] air_temp = str (int (data [0: 2], 16)) air_hum = str (int (data [2: 4], 16)) tryk = 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)) spænding = str (rund (int (data [26:28], 16) / int ('ff', 16) * 5, 1)) fejl = str (int (data [28:], 16)) liste = [air_temp, air_hum, tryk, co2, støv, belysning, o2, jord_temp, jord_hum, spænding, fejl] endelig: client.stop () returliste, mens True: list = get_time () + get_iothub_data () db.insert (liste) print (liste)

Inden du kører programmet, skal du ændre din forbindelsesstreng i

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

du kan få din forbindelsesstreng ved at klikke på Delte adgangspolitikker - iotowner i Iot Hub, forbindelsen streng -primær nøgle på åbnet side er forbindelsesstrengen.

Billede
Billede

Derefter kan du starte programmet:

gunicorn iothub_recv: app

Anbefalede: