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

Безопасное подключение Arduino MKR GSM 1400 к Google Cloud IoT Core — пошаговое руководство

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

Arduino MKR GSM 1400×1
Кабель Micro-USB×1
LiPo аккумулятор 3.7В×1
Micro SIM-карта×1
Антенна U.FL (cellular)×1

Программное обеспечение и сервисы

О проекте

Примечание: это руководство может быть устаревшим. Актуальная версия здесь.

Введение

Устройства подключаются к GCP IoT Core по HTTP или MQTT. Это руководство показывает безопасное MQTT-подключение Arduino MKR GSM 1400. MQTT — легкий протокол M2M с pub/sub. Аутентификация — через JSON Web Tokens (JWT, RFC 7519). GCP поддерживает RSA и ECC (Elliptic Curve) для проверки подписей JWS (RFC 7515).

Каждая плата MKR с встроенной связью оснащена криптоэлементом Microchip ATECC508A/ATECC608A. Он безопасно генерирует и хранит 256-битный ECC-ключ. Мы используем приватный ключ внутри криптоэлемента для подписи JWT.

Настройка ПО и железа

  1. Установите Arduino IDE.
  2. Обновите пакет «Arduino SAMD Boards» до последней версии (Tools → Board → Boards Manager → «Arduino SAMD»).
  3. Установите библиотеки через Library Manager:
    • MKRGSM
    • Arduino_JSON
    • ArduinoECCX08 (версия 1.3.0+)
    • ArduinoMqttClient (0.1.3+)
    • Arduino Cloud Provider Examples (1.2.0+)
  4. Вставьте SIM, подключите антенну и LiPo к JST. Соедините плату USB, выберите порт и плату «Arduino MKR GSM 1400».
Безопасное подключение Arduino MKR GSM 1400 к Google Cloud IoT Core — пошаговое руководство
Безопасное подключение Arduino MKR GSM 1400 к Google Cloud IoT Core — пошаговое руководство

Настройка и регистрация устройства в GCP IoT Core

GCP IoT Core требует JWT для MQTT. Сгенерируем пару ключей на плате и добавим публичный ключ в консоль GCP.

  1. Откройте пример: File → Examples → ArduinoECCX08 → Tools → ECCX08JWSPublicKey. Загрузите, откройте Serial Monitor (Both NL & CR).
  2. Скетч предложит irreversibly настроить и заблокировать криптоэлемент (нужно для использования). На заводе он не настроен.
  3. Выберите слот 0 для приватного ключа (слоты 0–4). Приватный ключ никогда не покидает чип.
Безопасное подключение Arduino MKR GSM 1400 к Google Cloud IoT Core — пошаговое руководство

Скопируйте сгенерированный публичный ключ (PEM формат):

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEFl4+DXufU84AhDGib7aMwmYwUVAp9coRdC9jOdzR
e2kqGWFEb+QP4V4YUK9Zy7PsmRABi1sWgxiAoEhg1FEQgg==
-----END PUBLIC KEY-----

Регистрация в консоли GCP

  1. Зайдите на cloud.google.com, войдите.
  2. Нажмите «GO TO CONSOLE».
  3. Создайте проект («MKR GCP Tutorial»).
  4. В меню → Big Data → IoT Core.
  5. Enable API.
  6. Create a device registry: Registry ID «MKR_GCP_Tutorial», регион «us-central1».
  7. Devices → + CREATE A DEVICE. Имя «MyMKRGSM1400», Public key format «ES256», вставьте PEM-ключ. Create.
Безопасное подключение Arduino MKR GSM 1400 к Google Cloud IoT Core — пошаговое руководство

Подключение платы к GCP IoT Core

  1. Откройте пример: File → Examples → Arduino Cloud Provider Examples → GoogleCloudPlatformIoTCore → GCP_IoT_Core_GSM.
  2. Вкладка arduino_secrets.h: заполните PIN (если нужен), GPRS APN, логин, пароль оператора.
    #define SECRET_PINNUMBER ""
    #define SECRET_GPRS_APN "your_apn"
    #define SECRET_GPRS_LOGIN "login"
    #define SECRET_GPRS_PASSWORD "password"
  3. Заполните проектные данные:
    #define SECRET_PROJECT_ID "mkr-gcp-tutorial"
    #define SECRET_CLOUD_REGION "us-central1"
    #define SECRET_REGISTRY_ID "MKR_GCP_Tutorial"
    #define SECRET_DEVICE_ID "MyMKRGSM1400"
  4. Загрузите скетч, откройте Serial Monitor. Плата подключится к сотовой сети, затем к GCP по MQTT.
Безопасное подключение Arduino MKR GSM 1400 к Google Cloud IoT Core — пошаговое руководство

Взаимодействие с устройством в GCP IoT Core

Скетч каждые 5 секунд шлет состояние в топик /devices/{deviceId}/state и слушает /devices/{deviceId}/config и /devices/{deviceId}/commands/#.

  1. В консоли устройства нажмите «SEND COMMAND».
  2. Введите сообщение (например, «Hello There!»), отправьте.
  3. На Serial Monitor платы появится сообщение.
Безопасное подключение Arduino MKR GSM 1400 к Google Cloud IoT Core — пошаговое руководство
Безопасное подключение Arduino MKR GSM 1400 к Google Cloud IoT Core — пошаговое руководство

Просмотр истории состояния: вкладка «Configuration & state history». Сообщения в Base64 — кликните и выберите «Text».

Безопасное подключение Arduino MKR GSM 1400 к Google Cloud IoT Core — пошаговое руководство

Заключение

Мы рассмотрели безопасное подключение MKR GSM 1400 к GCP IoT Core: JWT, подписанный приватным ключом в ATECC508A/608A, MQTT, двусторонний обмен сообщениями. Это отправная точка для интеграции с другими сервисами GCP.

Код

GitHub

ArduinoCloudProviderExamples

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

  1. ADLINK и Google Cloud сотрудничают для поставки бесшовных IoT-решений
  2. Подключение Raspberry Pi 3 к датчику DHT11 и загрузка данных в облако ThingsIo.ai
  3. Точный мониторинг температуры и влажности с SHT15 на Windows 10 IoT Core
  4. Установка Windows 10 IoT Core на Raspberry Pi 3 Model B+: Пошаговое руководство
  5. Построение робота с голосовым управлением на Windows 10 IoT Core на Raspberry Pi 2
  6. Отладка двухъядерной системы Arduino Portenta H7 с Segger J-Link
  7. Arduino Mega: съёмка фото и автоматическая загрузка в Google Drive
  8. IoT-монитор пульса в реальном времени на Arduino и MAX30100
  9. Система управления бассейном на Azure IoT: умные датчики и удаленный мониторинг
  10. Мастерство IoT-шлюзов: бесшовное подключение устройств к облаку