Программа MKR по воздуху + полезности:голосовое управление и т. д.
Компоненты и расходные материалы
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Приложения и онлайн-сервисы
| ||||
| ||||
| ||||
| ||||
|
Об этом проекте
Обзор
Наш вклад состоит из 2 частей.
Часть 1. Набор компонентов многократного использования . Они могут служить основой для создания различных проектов Интернета вещей, использующих полезные функции:
- Беспроводное программирование (OTA) Arduino MKR1000 (т.е.загрузка скомпилированного двоичного кода). Доступно несколько методов:например, из локальной сети или из Интернета, безопасно, через Microsoft Azure IoT Hub.
- клиентское приложение универсальной платформы Windows (UWP) , с приятным пользовательским интерфейсом. Он безопасно обменивается данными с платой через Центр Интернета вещей Azure.
- Распознавание голоса (в клиентском приложении) через API распознавания речи, предоставляемый Microsoft Project Oxford. Голосовые команды можно использовать для управления платой через Azure IoT Hub.
Часть 2: Пример использования, созданный с использованием перечисленных выше компонентов:комнатный термостат, управляемый с телефона (приложение UWP). Мы создали его, чтобы служить примером использования компонентов. И пошли еще дальше:установили у себя в офисе, и пока мы пишем эти строки, система отопления офиса управляется этим же проектом.
Часть 1. Многоразовые компоненты для OTA
Принцип работы OTA
Нами разработаны следующие компоненты:
Для Arduino IDE:
- библиотека времени выполнения . Он управляет загрузкой и копированием прошивки.
- специальный пакет "доски" . В нем есть несколько настроек, связанных с компоновщиком, которые необходимы библиотеке.
- подключаемый модуль Arduino IDE . Он отправляет сигналы загрузки и скомпилированные двоичные скетчи (также известные как прошивки). Он взаимодействует с платой, Центром Интернета вещей Azure, серверным приложением диспетчера Интернета вещей (см. Ниже).
Для установки на стороннем сервере (например, на веб-сайте Microsoft Azure):
- Диспетчер Интернета вещей , приложение PHP + MySQL, которое хранит и обслуживает микропрограммы.
Принцип работы приложения UWP
Мы разработали:
- Клиентское приложение UWP, написанное на C #. Он связывается с платой через Azure IoT Hub и распознает голосовые команды через Microsoft Project Oxford. Его можно использовать как отправную точку для различных проектов.
OTA DEMO
Часть 2:Пример использования / образец:комнатный термостат
Как упоминалось ранее, мы разработали комнатный термостат, чтобы продемонстрировать, как можно комбинировать наши компоненты для создания реального проекта. В нашем случае мы даже запускаем его в производство, т.е. он контролирует отопление нашего офиса.
Логика проста:
- когда температура опускается ниже заданной => реле (т.е. нагрев) включается.
- когда температура выше заданной => реле / нагрев выключается
- пользовательский интерфейс / клиент UWP:показывает состояние и устанавливает заданную температуру (через текстовое поле или голосом).
1. Сделайте проект (оборудование)
Мы не предоставляем диаграмму Фритцинга, так как мы используем Beta MKR1000. Расположение контактов может измениться в будущем.
2. Настройте среду разработки для OTA и Azure IoT Hub
- Установите Arduino IDE версии не ниже 1.6.7.
- Установите платы Arduino SAMD. В среде Arduino IDE: Инструменты> Плата:...> Диспетчер плат ...> выберите "Платы Arduino SAMD"
- Загрузите и распакуйте некоторые библиотеки в: SKETCHBOOK_DIR (например, Documents / Arduino) / libraries :WiFi101, AzureIoT, RTCZero.
А теперь наши компоненты:
- Загрузите и разархивируйте OTA библиотеку времени выполнения . в:SKETCHBOOK_DIR (например, Документы / Arduino) / библиотеки.
- Загрузите наш пакет пользовательских "досок" . . Создайте каталог: SKETCHBOOK_DIR (например, Documents / Arduino) / hardware / flower-platform . Разархивируйте загруженный файл здесь.
- Загрузите подключаемый модуль Arduino IDE . . Создайте каталог:SKETCHBOOK_DIR (например, Documents / Arduino) / tools. Разархивируйте загруженный файл здесь.
Для безопасного OTA через Интернет / HTTPS:
- Загрузить Диспетчер Интернета вещей и установите его на сервер PHP + MySQL. Например. у нас есть инструкции по развертыванию в облаке Microsoft Azure.
3. Тест-драйв OTA
Существует 3 метода загрузки OTA.
1) Попробуйте OTA через локальную сеть: Файл> Примеры> Arduino-FlowerOTA> WiFiOTA . Измените строки с комментариями "// ИЗМЕНИТЬ МЕНЯ" соответственно, чтобы настроить IP-адрес, параметры WiFi, plain / ssl, подпись сервера. Затем Цветочная платформа> Загрузить OTA ...
Убедитесь, что вы используете:
клиент WiFiClient;
и (см. «подпись сервера» во всплывающем окне).
ota.begin (&udp, &client, "1hvtdliHzKLjMykvfW1MfPwsFthUU / YfjN8fOZJ3Qhc =");
ПРИМЕЧАНИЕ :для всех 3 методов вам необходимо выполнить начальную загрузку через USB. После этого вы можете продолжать использовать OTA любым способом.
2) Попробуйте OTA через безопасный диспетчер , используя тот же файл:
Убедитесь, что вы используете:
клиент WiFiSSLClient;
и
ota.begin (&udp, &client, "my-iot-dispatcher-upload-key"); // ср. настраивается в диспетчере Интернета вещей (PHP)
3) Попробуйте OTA через безопасный диспетчер + Центр Интернета вещей Azure . Файл> Примеры> Arduino-FlowerOTA> WiFiOTA-AzureIoTHub. Опять же:не забудьте изменить строки с комментариями « // ИЗМЕНИТЬ МЕНЯ . ".
4) Попробуйте использовать случай / образец:комнатный термостат. Его можно найти здесь.
4. Протестируйте пользовательский интерфейс (приложение UWP с центром Интернета вещей Azure и распознаванием речи)
Проект UWP доступен здесь. Требуются Visual Studio 2015 и Windows 10.
Убедитесь, что вы изменили параметры подключения, см. ваша учетная запись Azure:
SendCloudToDevice.cs
class SendCloudToDevice {// ИЗМЕНИТЕ МЕНЯ:замените константы ниже фактическими значениями (взятыми с вашего портала Azure) private const string HOST ="???. azure-devices.net"; закрытая константная строка DEVICE_ID ="???"; закрытая константная строка DEVICE_KEY ="???"; статическая строка sharedAccessKeyName ="???"; статическая строка sharedAccessKey ="???";
ReadDeviceToCloud.cs
class ReadDeviceToCloud {// Пожалуйста, замените константы ниже фактическими значениями (взятыми с вашего портала Azure) private static string ConnectionString ="???"; частная статическая строка eventHubEntity ="???";
Этот код может служить отправной точкой для клиентских приложений для различных проектов. Вам нужно только настроить пользовательский интерфейс в соответствии с вашим проектом.
Дальнейшие шаги
Такие платы, как Arduino MKR1000, которые обладают разумной вычислительной мощностью и возможностями связи SSL, представляют собой огромный шаг вперед для сообщества производителей.
Мы продолжаем работу, начатую с этого проекта, чтобы разработать Flower Platform IoT, онлайн-сервис, который значительно ускорит проекты IoT:
- разработка:использование компонентов ООП и графического языка программирования (который можно смешивать с написанным вручную кодом);
- развертывание:использование OTA.
Используя Flower Platform, мы планируем создать фонд, который будет заниматься обучением детей младшего возраста создавать и программировать проекты Интернета вещей.
Код
Библиотека времени выполнения, обеспечивающая загрузку и копирование микропрограмм (C ++)
https://github.com/flower-platform/Arduino-FlowerOTAПользовательский пакет "досок", содержащий несколько настроек, связанных с компоновщиком, необходимых для библиотеки (скрипт компоновщика)
https://github.com/flower-platform/ArduinoCore-samd-OTAПлагин Arduino IDE. Обменивается данными с платой, диспетчером и центром Интернета вещей (Java)
https://github.com/flower-platform/flower-platform-arduino-ide-pluginДиспетчер Интернета вещей. Хранит и обслуживает прошивки, необходимые во время OTA (PHP + MySQL)
https://github.com/flower-platform/flower-platform-iot-dispatcherПример использования комнатного термостата (C ++)
https://github.com/flower-platform/ThermostatIoTКлиент UWP для случая / примера использования комнатного термостата (C #, HTML, JavaScript)
https://github.com/flower-platform/thermostat-uwp-uiСхема
Мы не предоставляем диаграмму Фритцинга, так как мы используем Beta MKR1000. Расположение контактов может измениться в будущем.Производственный процесс
- Как стать сертифицированным администратором Microsoft Azure в Azure?
- НАСКОЛЬКО ЛАЗУРНЫЙ КАК ВЫБОР КАРЬЕРЫ
- Токен блокчейна Microsoft Azure и службы управления данными
- Шпаргалка по Microsoft Azure 2020
- Подключение Azure к Power BI:подробное руководство
- Противозачаточные таблетки
- Алгоритмы и повышение мощности аппаратного обеспечения голосового управления
- Контроль заполнения бассейна
- Microsoft запускает Azure Edge Zones для приложений 5G
- Стремление Emerson к устойчивому развитию с помощью платформы управления облаком