Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Датчик температуры и влажности MKR1000

Компоненты и расходные материалы

Arduino MKR1000
× 1
Датчик температуры DHT22
× 1

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

Microsoft Azure
IDE Arduino
Microsoft Visual Studio 2015

Об этом проекте

У Пола ДеКарло есть отличная статья об отправке данных о погоде из Фотона частиц в Microsoft Azure. Я хотел продублировать это с новым Arduino MKR1000.

Photon использует веб-перехватчик для отправки данных из облака частиц в Azure. Поскольку MKR1000 поддерживает HTTPS, данные можно отправлять прямо в Azure. Это руководство позволит подключить ваш MKR1000 к Azure и повторно использовать код на стороне сервера из проекта Microsoft Connect the Dots.

Аппаратное обеспечение

Датчик DHT22 используется для измерения температуры и влажности. Вы также можете изменить код для поддержки датчика DHT11. Подключите датчик DHT к макету. Подайте 3,3 вольта с MKR1000 на первый вывод. Подключите подтягивающий резистор 10 000 Ом с 3,3 В к контакту 2. Подключите контакт 3 к земле. Проложите провод от контакта 2 на DHT22 к контакту 6 на MKR1000.

Дополнительную информацию о DHT22 см. В руководстве Adafruit DHT.

IDE Arduino

Откройте IDE Arduino. Используйте Boards Manager для установки платы MKR1000. Используйте Диспетчер библиотек, чтобы установить библиотеку WiFi101.

HTTPS

Arduino MKR1000 поддерживает HTTPS, но нам нужно вручную установить сертификаты для сайтов, которые мы посетим. Это необходимо, поскольку объем памяти устройства ограничен. Это двухэтапный процесс. Сначала мы загружаем эскиз на плату, а затем запускаем программу на нашем компьютере для загрузки сертификатов.

Используйте Arduino IDE, чтобы загрузить эскиз средства обновления микропрограммы на вашу плату.

Загрузите средство обновления прошивки WiFi101. Распакуйте архив и запустите winc1500-uploader-gui.exe.

Сертификат HTTPS для концентраторов событий Azure выдается на servicebus.windows.net, поэтому любой URL-адрес служебной шины должен работать. Введите ctd-ns.servicebus.windows.net в текстовое поле. Выберите свой COM-порт и загрузите сертификаты.

Эскиз Arduino

Клонируйте или загрузите скетч Arudino с https://github.com/don/MKR1000-Azure. Отредактируйте вкладку ssid и измените ssid [] и пароль [] в соответствии с настройками вашей сети. Загрузите эскиз на свою плату MKR1000.

Если вы получаете ошибки, вам может потребоваться использовать Arduino Library Manger (Sketch -> Include Library -> Manage Libraries ...), чтобы установить «библиотеку датчиков DHT», ArduinoJson или библиотеку RTCZero.

Откройте Serial Monitor Arduino (Инструменты -> Serial Monitor) и убедитесь, что данные начали отправляться в Azure.

В скетче повторно используется концентратор событий из проекта «Соединить точки». Это означает, что мы можем использовать существующее веб-приложение Azure для просмотра наших данных. Откройте в браузере http://connectthedotsdx.azurewebsites.net/. Вы должны увидеть данные из MKR1000. Поскольку это «общедоступный» концентратор событий, данные вашего датчика будут смешиваться с данными других датчиков. Если этот код MKR1000 используют несколько человек, вы можете изменить displayname или guid в createJSON функция.

Создание собственного Event Hub

Работать с существующим концентратором событий можно, но вы также можете создать свой собственный концентратор событий для своих данных. Для этого требуется Visual Studio и подписка Azure. Бесплатная версия Visual Studio 2015 Community Edition работает нормально. Вы также можете подписаться на бесплатную пробную подписку Azure.

Мы будем использовать код из проекта Connect the Dots. Клонируйте проект с помощью git или используйте кнопку "Загрузить ZIP" на странице Github.

git clone https://github.com/Azure/connectthedots.git

Вы можете следовать инструкциям Microsoft по созданию ресурсов Azure, что требует времени, но дает вам глубокое понимание того, как составляются части. Я предлагаю использовать проект AzurePrep из клонированного репозитория для автоматического создания этих ресурсов.

Используйте Visual Studio и откройте решение AzurePrep из файла connectthedots \ Azure \ AzurePrep. Запустите проект AzurePrep в режиме выпуска . .

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

Вам нужно выбрать название для ресурсов. В документации по соединению точек рекомендуется использовать имя ctd (соедините точки) + ваши инициалы. Например, я выбрал ctddc.

Вернувшись в Visual Studio, запустите цель CreateWebConfig из AzurePrep, чтобы создать файл конфигурации для веб-сайта. Войдите, следуйте подсказкам. На рабочий стол будет записан файл web.config.

Скопируйте файл web.config со своего рабочего стола в проект веб-сайта connectthedots, connectthedots \ Azure \ WebSite \ ConnectTheDotsWebSite.

Откройте решение ConnectTheDotsWebsite из файла connectthedots \ Azure \ WebSite в Visual Studio.

Вам необходимо добавить в проект новый файл web.config. Щелкните решение правой кнопкой мыши в обозревателе решений. Выберите в меню «Добавить -> Существующий элемент ...». Перейдите в ConnectTheDotsWebSite и добавьте web.config.

Запустите проект в Microsoft Edge. Вы не увидите никаких данных, пока мы не обновим скетч на MKR1000.

Эскизу Arduino нужен ключ SAS для доступа к ресурсам Azure. Используйте инструмент Sandrino Di Mattia's Signature Hubs Signature Generator, чтобы сгенерировать ключ в правильном формате. Загрузите с https://github.com/sandrinodimattia/RedDog/releases. Разархивируйте инструмент и запустите RedDog.ServiceBus.EventHubs.SignatureGenerator.

Заполните пользовательский интерфейс, используя пространство имен, которое вы создали ранее. Поскольку при создании ресурсов Azure я использовал ctddc, мое пространство имен - ctddc-ns. Имя хаба - ehdevices. Имена издателя и отправителя должны быть D1. Я установил TTL токена на 1 год (525 600 минут). Подпись должна быть действительна в течение всего срока службы устройства.

Вам необходимо войти на портал Azure, чтобы получить ключ отправителя. В меню слева выберите «Обзор» и используйте фильтр, чтобы найти концентраторы событий.

Концентраторы событий открывают новое окно на старом портале Azure.

  • Щелкните созданное пространство имен.
  • Выберите концентраторы событий
  • Выберите ehdevices
  • Выберите "Настроить".
  • Прокрутите вниз и скопируйте первичный ключ для D1

Вернитесь к инструменту «Генератор подписи» и вставьте ключ в поле «Ключ отправителя». Нажмите кнопку "Создать", чтобы создать подпись.

Скопируйте сгенерированную подпись.

Снова откройте эскиз MKR1000-Azure в среде Arduino IDE. Нам нужно заменить hostname [] и authSAS [] переменные с нашими новыми настройками концентратора событий. Вставьте сгенерированную подпись в char authSAS [] поле. Отредактируйте поле имени хоста, чтобы оно соответствовало вашему имени хоста. например char hostname [] ="ctddc-ns.servicebus.windows.net";

Сохраните эскиз и загрузите его на свой MKR1000. При желании откройте Serial Monitor и убедитесь, что данные начали отправляться в Azure.

ALT + TAB для подключения веб-сайта точек, работающего в Microsoft Edge, и вы должны начать видеть данные со своего устройства.

Центр Интернета вещей

Центр Интернета вещей Azure новее, чем Центр событий, и может быть более подходящим для вашего проекта. Центр Интернета вещей поддерживает обмен сообщениями от устройства к облаку (как в этом проекте) и обмен сообщениями от облака к устройству.

Используйте портал Azure для создания нового центра Интернета вещей.

Обозреватель устройств используется для создания подписей для доступа к Центру Интернета вещей. Загрузите SetupDeviceExplorer.msi со страницы https://github.com/Azure/azure-iot-sdks/releases.

Вернитесь на портал Azure и откройте новый центр Интернета вещей. Щелкните значок ключа, выберите строку iothubowner, скопируйте строку подключения для первичного ключа.

Откройте обозреватель устройств, вставьте строку подключения и нажмите «Обновить».

Щелкните вкладку "Управление". Нажмите кнопку «Создать» под «Действиями». Введите D1 в качестве идентификатора устройства и нажмите "Создать".

Выделите строку D1, нажмите кнопку SAS Token и сгенерируйте новый токен.

Откройте эскиз MKR1000-Azure в среде Arduino IDE.

Замените hostname [] с именем вашего центра Интернета вещей + ".azure-devices.net". Обновите authSAS [] со значением, созданным с помощью обозревателя устройств. Обязательно копируйте только часть токена SAS после «SharedAcessSignature =». Настройте URI так, чтобы он указывал на Центр Интернета вещей.

  char hostname [] ="hacksterdemo.azure-devices.net"; char authSAS [] ="SharedAccessSignature sr =hacksterdemo.azure-devices.net% 2fdevices% 2fD1 &sig =jnyTV8j2% 2bY9BJ9fyEdb7zu3 1490944761 "; String deviceName =" D1 "; String uri =" / devices / "+ deviceName +" / messages / events? Api-version =2016-02-03 ";  


Отредактируйте код в функции sendEvent, которая проверяет действительный ответ. Концентратор событий отправляет HTTP 201, чтобы указать на успех. Центр Интернета вещей отправляет HTTP 204.

Изменить

if (response.startsWith ("HTTP / 1.1 201")) {

К

if (response.startsWith ("HTTP / 1.1 204")) {

Используйте IDE Arduino для загрузки скетча в Arduino MKR1000.

Переключите вкладку «Данные» в обозревателе устройств. Нажмите кнопку монитора, чтобы просмотреть данные, отправляемые в концентратор событий.

Поскольку этот проект отправляет данные с устройства в облако, я использую HTTP POST для отправки данных. Также существуют библиотеки для отправки и получения данных с помощью Azure IoT Hub. К сожалению, IMO они еще не очень похожи на Arduino и не удобны для пользователя. Если вы хотите, чтобы ваше устройство получало данные из Azure, библиотеки могут быть более полезными. Вы также можете прочитать сообщение в блоге Мохана Паланисами об отправке данных из концентратора Интернета вещей в MKR1000.

В этом посте показано, как отправлять данные датчиков с MRK1000 в концентраторы событий Azure и концентратор Интернета вещей. Мы использовали существующее представление кода и построили график данных. Ознакомьтесь с проектом подключения точек, чтобы узнать о других способах написания кода для хранения, управления и просмотра ваших данных с помощью Azure.

Теперь, когда вы закончили, вы можете выключить или удалить ресурсы, которые вы не используете, чтобы ограничить сумму денег, которую вы платите. В решении AzurePrep есть проект ClearResources, который поможет вам удалить службы Azure.

Код

Обозреватель устройств
Инструмент для IoT Hub. Загрузите SetupDeviceExplorer.msi https://github.com/Azure/azure-iot-sdks/releases
Соединить точки
Пример кода Azure https://github.com/Azure/connectthedots
MKR1000-Arduino
Исходный код Arduino https://github.com/don/MKR1000-Azure
Средство обновления прошивки WiFi101
Инструмент для добавления сертификатов TLS в MKR1000 https://github.com/arduino-libraries/WiFi101-FirmwareUpdater/releases/latest
Генератор подписи концентраторов событий
Инструмент для создания учетных данных Azure для MKR1000 https://github.com/sandrinodimattia/RedDog/releases

Схема

Выкладываю фото, так как детали MKR1000 Fritzing нет. См. Текст статьи для получения подробной информации о подключении.

Производственный процесс

  1. Датчик Arduino - типы и приложения
  2. Работа датчика влажности и его применение
  3. Датчик DHT11 и его работа
  4. Аэропоника с Raspberry Pi и датчиком влажности
  5. Как проверить и откалибровать датчик влажности
  6. Датчик DHT11 со светодиодами и пьезо-динамиком
  7. Регистратор данных температуры и влажности
  8. Arduino Temp. Монитор и часы реального времени с дисплеем 3.2
  9. Башня датчика облаков Arduino
  10. BME280 Температура, влажность и давление на дисплее Nextion