Spisu treści:

Seeed IoTea LoRa Solution (z Azure, Update 1812): 5 kroków
Seeed IoTea LoRa Solution (z Azure, Update 1812): 5 kroków

Wideo: Seeed IoTea LoRa Solution (z Azure, Update 1812): 5 kroków

Wideo: Seeed IoTea LoRa Solution (z Azure, Update 1812): 5 kroków
Wideo: Sun Damage Is Terrifying 2024, Listopad
Anonim
Seeed IoTea LoRa Rozwiązanie (z Azure, Update 1812)
Seeed IoTea LoRa Rozwiązanie (z Azure, Update 1812)

Microsoft Azure to usługa w chmurze, która zapewnia większą i stabilniejszą moc obliczeniową. Tym razem próbowaliśmy przesłać do niego nasze dane IoTea.

Krok 1: Rzeczy użyte w tym projekcie

Komponenty sprzętowe

  • Grove - czujnik dwutlenku węgla (MH-Z16)
  • Grove - cyfrowy czujnik światła
  • Grove - czujnik kurzu (PPD42NS)
  • Grove - czujnik tlenu (ME2-O2-Ф20)
  • Czujnik wilgotności gleby i temperatury
  • LoRa LoRaWAN Gateway - zestaw 868MHz z Raspberry Pi 3
  • Grove - Czujnik temperatury i wilgotności oraz barometryczny (BME280)

Aplikacje i usługi online

  • Microsoft Visual Studio 2015
  • Microsoft Azure

Krok 2: Historia

Na Górze Mengding na północny wschód od Ya'an w Syczuanie grzbiet górski biegnie z zachodu na wschód w morzu zieleni. Jest to najbardziej znany widok 36-letniego Denga, jednego z niewielu producentów herbaty Mengding swojego pokolenia, z plantacją o powierzchni 50mu (=3,3 hektara) położoną na wysokości 1100 m n.p.m. Deng pochodzi z rodziny producentów herbaty, ale kontynuacja rodzinnej spuścizny nie jest łatwym zadaniem. „Nasze herbaty są uprawiane na dużych wysokościach w ekologicznym środowisku, aby zapewnić ich doskonałą jakość. Ale jednocześnie gęstość wzrostu jest niska, koszt wysoki, a pączkowanie jest nierównomierne, co sprawia, że herbata jest trudna do zebrania. Dlatego herbatki wysokogórskie mają zwykle niewielkie zbiory, a ich wartość nie znajduje odzwierciedlenia na rynku”. Przez ostatnie dwa lata Deng starał się zwiększać świadomość konsumentów na temat herbat wysokogórskich, aby promować ich wartość. A kiedy spotkał Fana, który szukał plantacji do wdrożenia technologii IoTea firmy Seeed, znalazł idealne rozwiązanie.

Krok 3: Połączenie sprzętowe

Postępuj zgodnie z poprzednim samouczkiem, aby podłączyć sprzęt.

Krok 4: Konfiguracja chmury

Krok 1. Utwórz grupę zasobów

Kliknij tutaj, aby zalogować się do Microsoft Azure. A następnie wprowadź Grupy zasobów na liście po lewej stronie pulpitu nawigacyjnego, kliknij przycisk Dodaj, aby dodać grupę zasobów.

Obraz
Obraz

Grupa zasobów służy do zarządzania wszystkimi zasobami w projekcie, po użyciu zasobów w chmurze usuń grupę zasobów, aby usunąć wszystkie zasoby, aby uniknąć opłat. Na otwartej stronie wypełnij nazwę grupy zasobów (np. iotea), w razie potrzeby wybierz lokalizację subskrypcji i grupy zasobów, kliknij przycisk Utwórz, aby utworzyć grupę zasobów.

Krok 2. Utwórz Iot Hub

Teraz możesz utworzyć zasób w chmurze, kliknij Utwórz zasób po lewej stronie, wybierz Internet rzeczy - Iot Hub, otworzy się nowa strona.

Na karcie Podstawy wybierz właśnie utworzoną grupę zasobów i wypełnij nazwę Iot Hub (na przykład iotea), w razie potrzeby wybierz subskrypcję i region, a następnie przejdź do karty Rozmiar i scle.

Obraz
Obraz

Na karcie Rozmiar i skala wybierz F1: Bezpłatna warstwa lub B1: Podstawowa w zestawie cen i skalowania, warstwa podstawowa będzie pobierać 10,00 USD miesięcznie. Na koniec przejdź do opcji Przejrzyj + utwórz kartę, sprawdź dane wejściowe i kliknij Utwórz, aby utworzyć Iot Hub.

Obraz
Obraz

Krok 3. Skonfiguruj LORIOT

Wejdź do utworzonego właśnie centrum Iot Hub, kliknij Zasady dostępu współdzielonego - urządzenie, skopiuj klucz podstawowy na stronie po prawej stronie.

Obraz
Obraz

Otwórz nowe okno przeglądarki (lub kartę), zaloguj się do Panelu sterowania LORIOT, przejdź do Application - SampleApp, kliknij Dane wyjściowe w grupie Control - Change. W grupie Zmień typ danych wyjściowych wybierz Azure Iot Hub, wypełnij nazwę Iot Hub i klucz podstawowy, a następnie kliknij przycisk Potwierdź zmianę u dołu.

Obraz
Obraz

Krok 4. Dodaj urządzenie Iot

Kliknij Urządzenia na liście po lewej stronie w LORIOT, skopiuj EUI urządzenia.

Obraz
Obraz

Wróć do Azure Iot Hub, kliknij Urządzenia Iot na liście po lewej stronie Iot Hub. Kliknij Dodaj, wypełnij EUI urządzenia do ID urządzenia na otwartej stronie.

WAŻNE: USUŃ WSZYSTKIE SEPRATORY W URZĄDZENIU EUI, niech wygląda jak 1122334455667788.

Obraz
Obraz

Kliknij Zapisz, gotowe.

Krok 5. Odbieraj wiadomości D2C (urządzenie do chmury)

Możesz śledzić Microsoft Docs, aby czytać wiadomości D2C.

Krok 5: Programowanie oprogramowania

Programowanie oprogramowania jest podzielone na 3 części: węzeł, bramę i stronę internetową. Postępuj zgodnie z poprzednim samouczkiem, aby zaprogramować część węzła i część bramy. Kroki od 1 do 8 części witryny internetowej są również takie same, jak w poprzednim samouczku.

Jeśli masz już skonfigurowane Microsoft Azure, otwórz terminal, wejdź do katalogu głównego swojej witryny, aktywuj środowisko wirtualne:

cd ~/iotea-hb

kosz źródłowy/aktywacja

zainstaluj moduł Azure Event Hub za pośrednictwem pip i utwórz nowy plik.py (na przykład iothub_recv.py):

pip zainstaluj azure-eventhub

dotknij iothub_recv.py

a następnie napisz następujące kody:

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

# Prawa autorskie (c) Microsoft Corporation. Wszelkie prawa zastrzeżone. # Licencjonowane na licencji MIT. Zobacz License.txt w katalogu głównym projektu, aby uzyskać informacje o licencji. # -------------------------------------------------- ------------------------------------------- z azure import eventhub z azure. eventhub import EventData, EventHubClient, Offset importuj rejestrowanie logger = logging.getLogger('azure.eventhub') import db, json, time, datetime def get_time(): cntime = datetime.datetime.now() + datetime.timedelta(hours = +8) data = cntime.strftime('%Y-{}-{}').format(cntime.strftime('%m').zfill(2), cntime.strftime('%d').zfill(2)) godzina = cntime.strftime('%H').zfill(2) minuta = cntime.strftime('%M').zfill(2) sekunda = cntime.strftime('%S').zfill(2) return [data, godzina, minuta, sekunda] def get_iothub_data(): list = ['0'] * 11 client = 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) drukuj (otrzymano) dla pozycji w odebranych: ja ssage = json.loads(str(item.message)) print(message) if 'data' in message: data = message['data'] air_temp = str(int(data[0:2], 16)) air_hum = str(int(dane[2:4], 16)) ciśnienie = str(int((dane[4:8]), 16)) co2 = str(int(dane[8:12], 16)) pył = str(int(dane[12:16], 16)) oświetlenie = str(int(dane[16:20], 16)) o2 = str(round(int(dane[20:22], 16) / 10, 1)) soil_temp = str(int(data[22:24], 16)) soil_hum = str(int(data[24:26], 16)) napięcie = str(round(int(data[26:28]), 16) / int('ff', 16) * 5, 1)) error = str(int(data[28:], 16)) list = [temperatura_powietrza, szum_powietrza, ciśnienie, co2, kurz, oświetlenie, o2, temperatura_gleby, soil_hum, voltage, error] w końcu: client.stop() zwraca listę, podczas gdy True: list = get_time() + get_iothub_data() db.insert(list) print(list)

Przed uruchomieniem programu zmień parametry połączenia w

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

Parametry połączenia można uzyskać, klikając Zasady dostępu współdzielonego - iotowner w usłudze Iot Hub, parametrami połączenia jest klucz podstawowy ciągu połączenia na otwartej stronie.

Obraz
Obraz

Następnie możesz uruchomić program:

gunicorn iothub_recv: aplikacja

Zalecana: