Оглавление:

Решение Seeed IoTea LoRa (с Azure, обновление 1812): 5 шагов
Решение Seeed IoTea LoRa (с Azure, обновление 1812): 5 шагов

Видео: Решение Seeed IoTea LoRa (с Azure, обновление 1812): 5 шагов

Видео: Решение Seeed IoTea LoRa (с Azure, обновление 1812): 5 шагов
Видео: Lesser known features of PostgreSQL | Citus Con: An Event for Postgres 2022 2024, Ноябрь
Anonim
Решение Seeed IoTea LoRa (с Azure, обновление 1812)
Решение Seeed IoTea LoRa (с Azure, обновление 1812)

Microsoft Azure - это облачный сервис, который обеспечивает более мощную и стабильную вычислительную мощность. На этот раз мы попытались отправить ему наши данные IoTea.

Шаг 1. Вещи, использованные в этом проекте

Компоненты оборудования

  • Grove - Датчик углекислого газа (MH-Z16)
  • Grove - Цифровой датчик освещенности
  • Grove - Датчик пыли (PPD42NS)
  • Grove - Датчик кислорода (ME2-O2-Ф20)
  • Датчик влажности и температуры почвы
  • LoRa LoRaWAN Gateway - комплект 868 МГц с Raspberry Pi 3
  • Grove - Датчик температуры, влажности и барометра (BME280)

Программные приложения и онлайн-сервисы

  • Microsoft Visual Studio 2015
  • Microsoft Azure

Шаг 2: история

На горе Мэндин к северо-востоку от Яань в провинции Сычуань горный хребет тянется с запада на восток в зеленом море. Это наиболее знакомое зрелище для 36-летнего Дэна, одного из очень немногих производителей чая Mengding своего поколения, с плантацией площадью 50 му (= 3,3 гектара), расположенной на высоте 1100 м над уровнем моря. Дэн происходит из семьи мастеров чая, но сохранить семейное наследие - непростая задача. «Наши чаи выращиваются на большой высоте в экологически чистой среде, что гарантирует его превосходное качество. Но в то же время плотность роста низкая, стоимость высокая, а бутонизация неравномерная, что затрудняет сбор чая. Вот почему высокогорные чаи обычно собираются небольшими порциями, и их ценность не отражается на рынке ». В течение последних двух лет Дэн пытался повысить осведомленность потребителей о высокогорном чае, чтобы повысить их ценность. И когда он встретил Фэна, который искал плантацию для внедрения технологии Seeed IoTea, было найдено идеальное решение.

Шаг 3: Подключение оборудования

Пожалуйста, следуйте предыдущему руководству, чтобы подключить ваше оборудование.

Шаг 4: настройка облака

Шаг 1. Создайте группу ресурсов

Щелкните здесь, чтобы войти в Microsoft Azure. Затем введите группы ресурсов в список слева на панели инструментов, нажмите «Добавить», чтобы добавить группу ресурсов.

Изображение
Изображение

Группа ресурсов используется для управления всеми ресурсами в проекте. После использования облачных ресурсов удалите группу ресурсов, чтобы удалить все ресурсы, чтобы избежать расходов. На открывшейся странице введите имя группы ресурсов (например, iotea), выберите «Подписка и расположение группы ресурсов», если необходимо, нажмите «Создать», чтобы создать группу ресурсов.

Шаг 2. Создайте Iot Hub

Теперь вы можете создать облачный ресурс, нажмите «Создать ресурс» слева, выберите «Интернет вещей - Iot Hub», откроется новая страница.

На вкладке «Основные» выберите только что созданную группу ресурсов и введите имя концентратора Интернета (например, iotea), при необходимости выберите «Подписка» и «Регион», а затем перейдите на вкладку «Размер и размер».

Изображение
Изображение

На вкладке «Размер и масштаб» выберите «F1: бесплатный уровень» или «B1: базовый уровень» в разделе «Цены и масштабирование». Базовый уровень будет стоить 10,00 долларов США в месяц. Наконец, перейдите на вкладку «Обзор + создание», проверьте введенные данные и нажмите «Создать», чтобы создать Iot Hub.

Изображение
Изображение

Шаг 3. Настройте LORIOT

Войдите в только что созданный Iot Hub, щелкните Политики общего доступа - устройство, скопируйте первичный ключ на страницу справа.

Изображение
Изображение

Откройте новое окно (или вкладку) браузера, войдите в свою панель управления LORIOT, перейдите в Application - SampleApp, щелкните Вывод данных в группе Control - Change. В группе «Изменить тип вывода» выберите Azure Iot Hub, введите имя и первичный ключ Iot Hub и нажмите кнопку «Подтвердить изменение» внизу.

Изображение
Изображение

Шаг 4. Добавьте IOT-устройство

Щелкните Устройства в списке слева в LORIOT, скопируйте EUI устройства.

Изображение
Изображение

Вернувшись в Azure Iot Hub, щелкните Iot-устройства в списке слева от Iot Hub. Нажмите «Добавить», на открывшейся странице заполните EUI устройства до идентификатора устройства.

ВАЖНО: УДАЛИТЕ ВСЕ СЕПРАТОРЫ В EUI УСТРОЙСТВА, пусть он будет выглядеть как 1122334455667788.

Изображение
Изображение

Нажмите "Сохранить", все готово.

Шаг 5. Получение сообщений D2C (от устройства к облаку)

Вы можете следить за документами Microsoft, чтобы читать сообщения 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

а затем напишите следующие коды:

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

# Авторские права (c) Microsoft Corporation. Все права защищены. # Под лицензией MIT. Информацию о лицензии см. В файле License.txt в корне проекта. # ------------------------------------------------- ------------------------------------------- from azure import eventhub from azure. 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)) час = cntime.strftime ('% H'). Zfill (2) minute = cntime.strftime ('% M'). Zfill (2) second = cntime.strftime ('% S'). Zfill (2) return [дата, час, минута, секунда] 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 ())) попробуйте: client.run () eh_info = client.get_eventhub_info () print (eh_info) Received = Receiver.receive (тайм-аут = 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 (data [2: 4], 16)) pressure = str (int ((data [4: 8]), 16)) co2 = str (int (data [8:12], 16)) dust = str (int (data [12:16], 16)) illumination = str (int (data [16:20], 16)) o2 = str (round (int (data [20:22], 16) / 10, 1)) почва_темп = str (int (данные [22:24], 16)) почва_хум = str (int (данные [24:26], 16)) Voltage = str (round (int (data [26:28], 16) / int ('ff', 16) * 5, 1)) error = str (int (data [28:], 16)) list = [air_temp, air_hum, давление, co2, пыль, освещение, o2, почвенная температура, почва_hum, напряжение, ошибка] наконец: client.stop () возвращает список, в то время как True: list = get_time () + get_iothub_data () db.insert (list) print (list)

Перед запуском программы измените строку подключения в

client = EventHubClient.from_iothub_connection_string ('', отладка = Истина)

вы можете получить строку подключения, щелкнув Политики общего доступа - iotowner в Iot Hub, первичный ключ строки подключения на открытой странице - это строка подключения.

Изображение
Изображение

После этого можно запускать программу:

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

Рекомендуемые: