Innehållsförteckning:

Såg IoTea LoRa -lösning (med Azure, uppdatering 1812): 5 steg
Såg IoTea LoRa -lösning (med Azure, uppdatering 1812): 5 steg

Video: Såg IoTea LoRa -lösning (med Azure, uppdatering 1812): 5 steg

Video: Såg IoTea LoRa -lösning (med Azure, uppdatering 1812): 5 steg
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, Juni
Anonim
Såg IoTea LoRa -lösning (med Azure, uppdatering 1812)
Såg IoTea LoRa -lösning (med Azure, uppdatering 1812)

Microsoft Azure är en molntjänst som ger mer kraftfull och stabil datorkraft. Den här gången försökte vi skicka vår IoTea -data till den.

Steg 1: Saker som används i detta projekt

Hårdvarukomponenter

  • Grove - koldioxidgivare (MH -Z16)
  • Grove - Digital ljussensor
  • Grove - Dammsensor (PPD42NS)
  • Grove-Oxygen Sensor (ME2-O2-Ф20)
  • Jordfuktighet och temperatursensor
  • LoRa LoRaWAN Gateway - 868MHz -kit med Raspberry Pi 3
  • Grove - Temp & Humi & Barometersensor (BME280)

Programvaruappar och onlinetjänster

  • Microsoft Visual Studio 2015
  • Microsoft Azure

Steg 2: Berättelse

På Mengdingberget nordost om Ya’an, Sichuan, löper bergskammen väst mot öst i ett grönt hav. Detta är en mycket bekant syn för 36-åriga Deng, en av de få Mengding-tebryggarna i sin generation, med en plantage på 50mu (= 3,3 hektar) som ligger 1100 m över havet. Deng kommer från en familj av tebryggare, men det är ingen lätt uppgift att fortsätta med arvet från familjen.”Våra teer odlas på hög höjd i en organisk miljö för att säkerställa dess utmärkta kvalitet. Men samtidigt är tillväxttätheten låg, kostnaden hög och spirande är ojämn, vilket gör te svårt att skörda. Det är därför högfjällste är normalt små skördar och deras värderingar återspeglas inte på marknaden.”Under de senaste två åren har Deng försökt öka konsumenternas medvetenhet om högbergste för att främja deras värde. Och när han träffade Fan, som letade efter en plantage för att implementera Seeeds IoTea -teknik, gjordes en perfekt matchning för en lösning.

Steg 3: Maskinvaruanslutning

Följ föregående handledning för att ansluta din maskinvara.

Steg 4: Molnkonfiguration

Steg 1. Skapa resursgrupp

Klicka här för att logga in på Microsoft Azure. Ange sedan resursgrupper i listan till vänster på instrumentpanelen, klicka på Lägg till för att lägga till en resursgrupp.

Bild
Bild

En resursgrupp används för att hantera alla resurser i projektet, efter att ha använt molnresurser, ta bort resursgrupp för att radera alla resurser för att undvika avgifter. På den öppnade sidan fyller du i resursgruppens namn (t.ex. iotea), väljer prenumeration och plats för resursgrupp, klicka på Skapa för att skapa en resursgrupp.

Steg 2. Skapa Iot Hub

Nu kan du skapa en molnresurs, klicka på Skapa en resurs till vänster, välj Internet of Things - Iot Hub, det öppnar en ny sida.

På fliken Grunder väljer du den resursgrupp du just skapade och fyller i Iot Hub -namn (t.ex. iotea), väljer prenumeration och region om det behövs och vänder sedan till fliken Storlek och skal.

Bild
Bild

På fliken Storlek och skala, välj F1: Gratis nivå eller B1: Grundnivå i Prissättning och kombinationsnivå, Basic Tier tar 10,00 USD per månad. Slutligen, gå till fliken Granska + skapa, kontrollera din inmatning och klicka på Skapa för att skapa en Iot Hub.

Bild
Bild

Steg 3. Konfigurera LORIOT

Ange Iot Hub som du just skapat, klicka på Policyer för delad åtkomst - enhet, kopiera primärnyckeln på sidan till höger.

Bild
Bild

Öppna ett nytt webbläsarfönster (eller flik), logga in på din LORIOT -kontrollpanel, gå till Program - SampleApp, klicka på Datautmatning i kontrollgrupp - Ändra. I gruppen Ändra utdatatyp väljer du Azure Iot Hub, fyller i ditt Iot Hub -namn och din primära nyckel och klickar på knappen Bekräfta ändring längst ned.

Bild
Bild

Steg 4. Lägg till Iot -enhet

Klicka på Enheter i listan till vänster i LORIOT, kopiera din enhet EUI.

Bild
Bild

Tillbaka till Azure Iot Hub, klicka på Iot -enheter i listan till vänster om Iot Hub. Klicka på Lägg till, fyll enhetens EUI till enhets -ID på den öppnade sidan.

VIKTIGT: RADERA ALL SEPRATOR I ENHET EUI, låt det se ut som 1122334455667788.

Bild
Bild

Klicka på Spara, allt klart.

Steg 5. Ta emot D2C (Device to Cloud) -meddelanden

Du kan följa Microsoft Docs för att läsa D2C -meddelanden.

Steg 5: Programvaruprogrammering

Programvaruprogrammering är uppdelad i tre delar: Nod, Gateway och Webbplats, följ föregående handledning för att programmera Noddel och Gateway -del. Steg 1 till 8 i webbplatsdelen är också samma som föregående självstudie.

Om du redan har konfigurerat Microsoft Azure, öppna en terminal, ange webbplatsens rotmapp, aktivera virtuellt miljö:

cd ~/iotea-hb

källfack/aktivera

installera Azure Event Hub -modulen via pip och skapa en new.py -fil (t.ex. iothub_recv.py):

pip installera azure-eventhub

tryck på iothub_recv.py

och skriv sedan koder efter det:

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

# Copyright (c) Microsoft Corporation. Alla rättigheter förbehållna. # Licensierad enligt MIT -licensen. Se License.txt i projektroten för licensinformation. # ------------------------------------------------- ------------------------------------------- från azurblå import eventhub från 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)) timme = cntime.strftime ('%H'). Zfill (2) minut = cntime.strftime ('%M'). Zfill (2) andra = cntime.strftime ('%S'). Zfill (2) retur [datum, timme, minut, sekund] def get_iothub_data (): list = ['0'] * 11 klient = EventHubClient.from_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 (mottaget) för objekt i mottaget: jag ssage = json.loads (str (item.message)) print (meddelande) om 'data' i meddelandet: data = meddelande ['data'] air_temp = str (int (data [0: 2], 16)) air_hum = str (int (data [2: 4], 16)) tryck = str (int ((data [4: 8]), 16)) co2 = str (int (data [8:12], 16)) damm = str (int (data [12:16], 16)) belysning = str (int (data [16:20], 16)) o2 = str (rund (int (data [20:22], 16) / 10, 1)) jord_temp = str (int (data [22:24], 16)) jord_hum = str (int (data [24:26], 16)) spänning = str (rund (int (data [26:28], 16) / int ('ff', 16) * 5, 1)) error = str (int (data [28:], 16)) list = [air_temp, air_hum, tryck, co2, damm, belysning, o2, jordtemp, jord_hum, spänning, fel] äntligen: client.stop () returlista medan True: list = get_time () + get_iothub_data () db.insert (list) print (list)

Innan du kör programmet ändrar du din anslutningssträng

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

du kan få din anslutningssträng genom att klicka på Delade åtkomstpolicyer - iotowner i Iot Hub, anslutningssträngens primärnyckel på den öppna sidan är anslutningssträngen.

Bild
Bild

Därefter kan du starta programmet:

gunicorn iothub_recv: app

Rekommenderad: