Съдържание:

Вижте IoTea LoRa решение (с Azure, актуализация 1812): 5 стъпки
Вижте IoTea LoRa решение (с Azure, актуализация 1812): 5 стъпки

Видео: Вижте IoTea LoRa решение (с Azure, актуализация 1812): 5 стъпки

Видео: Вижте IoTea LoRa решение (с Azure, актуализация 1812): 5 стъпки
Видео: Мощные решения LoRaWAN с Azure IoT — Оливье Блох (Microsoft) — The Things Conference 2019 2024, Юни
Anonim
Вижте IoTea LoRa решение (с Azure, актуализация 1812)
Вижте IoTea LoRa решение (с Azure, актуализация 1812)

Microsoft Azure е облачна услуга, която осигурява по -мощна и стабилна изчислителна мощ. Този път се опитахме да изпратим нашите IoTea данни към него.

Стъпка 1: Нещата, използвани в този проект

Хардуерни компоненти

  • Grove - Сензор за въглероден диоксид (MH -Z16)
  • Grove - цифров сензор за светлина
  • Grove - сензор за прах (PPD42NS)
  • Grove-Кислороден сензор (ME2-O2-Ф20)
  • Сензор за влага и температура на почвата
  • LoRa LoRaWAN Gateway - 868MHz комплект с Raspberry Pi 3
  • Grove - Сензор за Температура и Хуми и Барометър (BME280)

Софтуерни приложения и онлайн услуги

  • Microsoft Visual Studio 2015
  • Microsoft Azure

Стъпка 2: История

На планината Mengding североизточно от Ya’an, Съчуан, планинският хребет минава от запад на изток в море от зеленина. Това е най-познатата гледка за 36-годишния Денг, един от малкото производители на чай от своето поколение Mengding, с плантация от 50mu (= 3,3 хектара), разположена на 1100 м надморска височина. Ден произхожда от семейство чайници, но продължаването на семейното наследство не е лесна задача. „Нашите чайове се отглеждат на голяма надморска височина в органична среда, за да се гарантира отличното им качество. Но в същото време плътността на растежа е ниска, цената е висока и пъпките са неравномерни, което затруднява прибирането на чая. Ето защо високопланинските чайове обикновено са малки реколти и техните стойности не се отразяват на пазара.”През последните две години Ден се опитва да повиши информираността на потребителите за високопланинския чай, за да популяризира тяхната стойност. И когато срещна Фан, който търсеше плантация за внедряване на технологията IoTea на Seeed, беше направено перфектно съвпадение за решение.

Стъпка 3: Хардуерна връзка

Моля, следвайте Предишен урок, за да свържете вашия хардуер.

Стъпка 4: Конфигуриране в облак

Стъпка 1. Създайте група ресурси

Щракнете тук, за да влезете в Microsoft Azure. След това въведете групи ресурси в списъка вляво на таблото за управление, щракнете върху Добавяне, за да добавите група ресурси.

Образ
Образ

Група ресурси се използва за управление на всички ресурси в проекта, след като използвате облачни ресурси, изтрийте групата ресурси, за да изтриете всички ресурси, за да избегнете такси. В отворената страница попълнете името на групата ресурси (като iotea), изберете абонамент и местоположение на групата ресурси, ако е необходимо, щракнете върху Създаване, за да създадете група ресурси.

Стъпка 2. Създайте Iot Hub

Сега можете да създадете облачен ресурс, щракнете върху Създаване на ресурс вляво, изберете Интернет на нещата - Iot Hub, той ще отвори нова страница.

В раздела „Основи“изберете току -що създадената група ресурси и попълнете името на Iot Hub (като iotea), изберете абонамент и регион, ако е необходимо, след което се обърнете към раздела Размер и размер.

Образ
Образ

В раздела Размер и мащаб изберете F1: Безплатно ниво или B1: Основно ниво в комбинацията Ценообразуване и ниво на мащаб, Основното ниво ще отнеме 10,00 USD на месец. Накрая се обърнете към Преглед + създаване на раздел, проверете дали въвеждате и щракнете върху Създаване, за да създадете Iot Hub.

Образ
Образ

Стъпка 3. Конфигурирайте LORIOT

Въведете току -що създадения от вас Iot Hub, щракнете върху Политики за споделен достъп - устройство, копирайте първичния ключ в страницата вдясно.

Образ
Образ

Отворете нов прозорец на браузъра (или раздел), влезте в контролния панел на LORIOT, отворете Приложение - SampleApp, щракнете върху Извеждане на данни в Контролна група - Промяна. В групата Промяна на типа изход изберете Azure Iot Hub, попълнете името на Iot Hub и основния ключ и щракнете върху бутона Потвърди промяната в долната част.

Образ
Образ

Стъпка 4. Добавете Iot устройство

Щракнете върху Устройства в списъка вляво в LORIOT, копирайте потребителския интерфейс на вашето устройство.

Образ
Образ

Назад към Azure Iot Hub, щракнете върху Iot устройства в списъка вляво от Iot Hub. Щракнете върху Добавяне, попълнете EUI на устройството към ID на устройството в отворената страница.

ВАЖНО: ИЗТРИЙТЕ ВСИЧКИЯ СЕПРАТОР В УСТРОЙСТВО EUI, нека изглежда като 1122334455667788.

Образ
Образ

Щракнете върху Запазване, всичко е готово.

Стъпка 5. Получавайте D2C (Device to Cloud) съобщения

Можете да следвате Microsoft Docs, за да четете D2C съобщения.

Стъпка 5: Софтуерно програмиране

Софтуерното програмиране е разделено на 3 части: възел, шлюз и уебсайт, моля, следвайте предишния урок, за да програмирате част от възел и част от шлюза. Стъпки 1 до 8 от частта на уебсайта също са същите като предишния урок.

Ако вече сте конфигурирали Microsoft Azure, отворете терминал, въведете основната папка на уебсайта си, активирайте виртуалната среда:

cd ~/iotea-hb

източник кош/активиране

инсталирайте модула Azure Event Hub чрез pip и създайте new.py файл (например iothub_recv.py):

pip install azure-eventhub

докоснете iothub_recv.py

и след това напишете кодовете след това:

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

# Авторско право (в) Microsoft Corporation. Всички права запазени. # Лицензиран под лиценза на MIT. Вижте License.txt в корена на проекта за информация за лиценза. # ------------------------------------------------- ------------------------------------------- от лазурен импорт eventhub от лазур. eventhub import EventData, EventHubClient, Offset 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)) час = cntime.strftime ('%H'). Zfill (2) минута = cntime.strftime ('%M'). Zfill (2) секунда = cntime.strftime ('%S'). Zfill (2) връщане [дата, час, минута, секунда] def get_iothub_data (): list = ['0'] * 11 client = EventHubClient.from_iothub_connection_string ('', debug = True) приемник = client.add_receiver ("$ default", " 3 ", operation = '/messages/events', offset = Offset = = 5) печат (получен) за артикул в получено: аз ssage = json.loads (str (item.message)) print (message) if 'data' в съобщението: data = message ['data'] air_temp = str (int (data [0: 2], 16)) air_hum = str (int (данни [2: 4], 16)) налягане = str (int ((данни [4: 8]), 16)) co2 = str (int (данни [8:12], 16)) прах = str (int (данни [12:16], 16)) осветяване = str (int (данни [16:20], 16)) o2 = str (кръг (int (данни [20:22], 16) / 10, 1)) грунт_темп = str (int (данни [22:24], 16)) 16) / int ('ff', 16) * 5, 1)) грешка = str (int (данни [28:], 16)) списък = [air_temp, air_hum, налягане, co2, прах, осветление, o2, ground_temp, ground_hum, напрежение, грешка] накрая: client.stop () връща списък, докато True: list = get_time () + get_iothub_data () db.insert (list) print (list)

Преди да стартирате програмата, променете низа за връзка

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

можете да получите низ за връзка, като щракнете върху Политики за споделен достъп - iotowner в Iot Hub, първичният ключ за низ за връзка в отворената страница е низът за връзка.

Образ
Образ

След това можете да стартирате програмата:

gunicorn iothub_recv: приложение

Препоръчано: