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

Безопасное подключение Arduino NB 1500 к Azure IoT Hub

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

Arduino MKR NB 1500
× 1
Кабель Micro-USB - USB (общий)
× 1
3,7 В Lipo аккумулятор
× 1
Micro SIM-карта
× 1

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

IDE Arduino
Microsoft Azure

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

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

Введение

Центр Интернета вещей Azure позволяет «безопасно подключать, отслеживать и управлять миллиардами устройств для разработки приложений Интернета вещей (IoT)».

Устройства могут подключаться к Центру Интернета вещей Azure с помощью следующих протоколов:HTTPS, AMPQ и MQTT - Azure также предоставляет SDK для многих языков программирования, чтобы абстрагировать эти протоколы. Кроме того, вы можете подключиться к Центру Интернета вещей через клиент MQTT. На этой странице представлена ​​дополнительная информация о поддержке MQTT в Центре Интернета вещей.

В этом руководстве вы узнаете, как безопасно подключить плату Arduino MKR NB 1500 к Azure IoT Hub с помощью клиента MQTT. MQTT (передача телеметрии очереди сообщений) - это протокол связи M2M (машина-машина), который обеспечивает подписку на обмен сообщениями и транспорт публикации.

Устройства могут использовать токены SAS или сертификаты X.509 для аутентификации с помощью Azure IoT Hub, дополнительную информацию можно найти здесь. В этом руководстве мы будем использовать сертификат X.509 для аутентификации платы.

Каждая плата Arduino MKR со встроенным подключением, включая MKR NB 1500, оснащена криптоэлементом Microchip ATECC508A или ATECC608A. Этот криптографический элемент можно использовать для безопасного создания и хранения 256-битного ключа ECC (криптография с эллиптической кривой).

Настройка программного и аппаратного обеспечения

Если на вашем компьютере не установлена ​​IDE Arduino, загрузите и установите ее.

После его установки убедитесь, что у вас установлена ​​последняя версия пакета «Arduino SAMD Boards». Вы можете проверить это, открыв Arduino IDE и открыв Tools -> Board:"..." -> Board Manager ... войдите в меню и выполните поиск "Arduno SAMD". На момент написания последней версии была 1.6.20.

Затем вам нужно установить библиотеки Arduino, которые будут использоваться, с помощью диспетчера библиотек Arduino IDE. Откройте Скетч -> Включить библиотеку -> Управление библиотеками ... выполните поиск и индивидуально установите каждую из следующих библиотек:

  • МКРНБ
  • ArduinoBearSSL
  • ArduinoECCX08
  • ArduinoMqttClient
  • Примеры облачных провайдеров Arduino

Теперь вставьте карту micro-SIM в слот в нижней части платы MKR NB 1500 и подсоедините батарею Lipo 3,7 В к разъему JST. Затем подключите MKR NB 1500 с помощью кабеля micro USB к компьютеру, выберите последовательный порт в Arduino IDE, используя Инструменты -> Порт "..." меню и также выберите Arduino MKR NB 1500 в Tools -> Board "..." меню.

Настройка и добавление платы в Azure IoT Hub

Как упоминалось выше, Центр Интернета вещей Azure позволяет устройствам, которые подключаются по протоколу MQTT и используют сертификаты X.509 для проверки подлинности. Мы воспользуемся эскизом для создания самоподписанного сертификата X.509 на плате, а затем добавим SHA1 этого сертификата на портал Azure IoT Hub.

Самоподписанный сертификат можно сгенерировать, используя пример скетча из библиотеки ArduinoECCX08. Откройте скетч в среде Arduino IDE, используя Файл -> Примеры -> ArduinoECCX08 -> Инструменты -> ECCX08SelfSignedCert . Нажмите кнопку «Загрузить», чтобы построить и загрузить эскиз на плату, затем откройте Serial Monitor. Убедитесь, что для конфигурации окончания строки установлено значение «И NL, и CR».

Этот эскиз предложит вам окончательно настроить криптоэлемент ATECC508A на ECC608A, если он не настроен и не заблокирован. ПРИМЕЧАНИЕ. Этот процесс блокировки является постоянным и необратимым, но он необходим для использования криптографического элемента - конфигурация, которую устанавливает эскиз, позволяет использовать 5 слотов закрытого ключа с любым облачным провайдером (или сервером), а закрытый ключ может быть восстановлен в любое время. для любого из the 5 частный ключевые слоты (0–4) . Когда плата поставляется с завода, криптоэлемент находится в ненастроенном и разблокированном состоянии.

После этого вам будет предложено ввести информацию для включения в самоподписанный сертификат, включая год выпуска, месяц, день и час сертификата, а также срок действия в годах. В этом руководстве мы будем использовать слот 0 для генерации и хранения закрытого ключа, используемого для подписи самозаверяющего сертификата (слоты с 1 по 4 можно использовать для создания и хранения дополнительных закрытых ключей, если это необходимо) - затем слот 8 будет использоваться для сохранить дату выпуска и истечения срока действия сертификата вместе с его подписью. Примечание. Поскольку закрытый ключ генерируется внутри криптографического элемента, он никогда не покидает устройство, хранится надежно и не может быть прочитан.

Скопируйте сгенерированное значение SHA1 (на этом снимке экрана « 99d6d96fa55bdf08b4040a142a8d0d934bc9d12b "). Мы будем использовать его на более позднем этапе в качестве отпечатка пальца для самозаверяющего сертификата для устройства в Центре Интернета вещей Azure.

Теперь, когда у нас есть самоподписанный сертификат и отпечаток SHA1 для идентификации платы, нам нужно войти на портал Azure IoT Hub и создать для него новое устройство.

1) Откройте веб-браузер и перейдите на сайт portal.azure.com.

2) Если у вас еще нет учетной записи Azure, нажмите «Создать!» ссылку на странице для создания учетной записи. В противном случае введите свой адрес электронной почты, нажмите «Далее» и следуйте процессу входа в систему.

3) На панели навигации слева нажмите «Создать ресурс».

4) Затем нажмите «Интернет вещей» и «Центр Интернета вещей».

5) Вам будет предложено выбрать подписку, группу ресурсов, регион и имя центра Интернета вещей. На скриншоте ниже в качестве входных данных использовались «Бесплатная пробная версия», «MKR», «Восточная часть США» и «ArduinoProjectHubTutorial». Чтобы продолжить, нажмите «Обзор + Создать».

6) Появится экран подтверждения, нажмите «Создать».

7) Вам придется подождать несколько минут, пока IoT Hub будет создан и развернут.

8) После завершения развертывания появится кнопка «Перейти к ресурсу», нажмите ее.

9) Теперь мы можем создать новое устройство IoT. Нажмите «Устройства IoT» под заголовком «Обзор».

10) Нажмите кнопку «Добавить», чтобы добавить новое устройство.

11) Введите имя устройства, ниже было введено «MyMKRNB1500», затем щелкните вкладку «X.509 Self-Signed». Вставьте SHA1 из последовательного монитора Arduino IDE как для первичного, так и для вторичного отпечатка. Затем нажмите кнопку «Сохранить», чтобы создать устройство.

12) Теперь вы увидите новую запись на странице «Устройства Интернета вещей».

Подключение платы к Azure IoT Hub

1) Откройте эскиз NB Azure IoT Hub в Arduino IDE, используя Файл -> Примеры -> Примеры облачного провайдера Arduino -> AzureIoTHub-> Azure_IoT_Hub_NB.

2) Во вкладке arduino_secrets.h введите пин-код (если требуется) для SIM-карты.

  // Настройки NB # определяют SECRET_PINNUMBER ""  

3) Обновите значение брокера конечной точкой, созданной на портале Центра Интернета вещей Azure.

  // Введите имя хоста вашего брокера Azure IoT Hub # define SECRET_BROKER "<имя хаба> .azure-devices.net"  

4) Обновите значение идентификатора устройства, указав имя устройства, созданного на портале Центра Интернета вещей Azure.

  // Введите идентификатор устройства # define SECRET_DEVICE_ID "<идентификатор устройства>"  

5) Загрузите эскиз на свою плату и откройте серийный монитор. Плата попытается подключиться к сотовой сети, и в случае успеха попытается подключиться к Azure IoT Hub с помощью MQTT.

Взаимодействие с доской в ​​Azure IoT Core

Теперь, когда ваша плата успешно подключена к Azure IoT Hub, мы можем использовать портал Azure IoT Hub для взаимодействия с ней. Скетч отправляет сообщение на devices / {deviceId} / messages / events / тема каждые 5 секунд и прослушивает сообщения на devices / {deviceId} / messages / devicebound / # тема.

На портале Центра Интернета вещей Azure щелкните строку идентификатора устройства в таблице Устройства Интернета вещей для своей платы. Затем нажмите кнопку «Сообщение на устройство» на панели инструментов.

Теперь вы можете ввести текст сообщения для отправки на устройство, как показано на скриншоте ниже:« Здравствуйте :) "было введено. Нажмите кнопку" Отправить сообщение "на панели инструментов, чтобы отправить сообщение.

Когда плата получит сообщение, Serial Monitor в Arduino IDE отобразит его.

Чтобы просмотреть сообщения, которые отправляет форум:

1) Войдите на shell.azure.com (выберите «Bash», если это ваш первый раз, когда будет предложено).

2) Установите расширение IoT Hub:

  az extension add --name azure-cli-iot-ext  

3) Выполните следующую команду, замените <имя хаба> с именем вашего хаба (введите y, если будет предложено обновить зависимость):

  az iot hub monitor-events --hub-name <имя концентратора>  

4) Вы увидите сообщения, напечатанные в оболочке:

Заключение

В этом руководстве мы рассмотрели, как безопасно использовать плату Arduino MKR NB 1500 с центром Интернета вещей Azure. Самоподписанный сертификат X.509 использовался для проверки подлинности в Центре Интернета вещей Azure с использованием протокола MQTT с ATECC508A или ATECC608A, хранящими закрытый ключ, связанный с сертификатом. Сообщения MQTT отправлялись на доску и с нее.

Это только начало, вы можете использовать Azure IoT Hub со многими другими службами, которые предоставляет Azure!

Код

Github
https://github.com/arduino/ArduinoCloudProviderExamples

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

  1. Как Интернет вещей соединяет рабочие места
  2. Плата Arduino предназначена для промышленного Интернета вещей
  3. Наборы для разработки поддерживают Azure RTOS
  4. Проект Интернета вещей на основе Raspberry PI Подключение датчика DHT11
  5. Интернет вещей в облаке:Azure против AWS
  6. Регистратор данных GPS, пространственный анализ и Azure IoT Hub.
  7. Монитор сердечного ритма с использованием Интернета вещей
  8. Использование Интернета вещей для удаленного управления манипулятором
  9. Солнечный трекер на основе Интернета вещей (IoT)
  10. Бассейн Azure IoT