Демо №4 - Google Cloud Platform

В первой главе мы подключили WM2000 к беспроводной сети и безопасно передали в облако данные со встроенных датчиков освещённости и температуры платы WM2000EV. Затем мы настроили WM2000 на автоматическое подключение к сети Wi-Fi, включили беспроводную отладку, загрузили приложение и напрямую управляли RGB-светодиодом платы WM2000EV через веб-интерфейс.

Как и на предыдущем шаге, в этой главе мы обновим TiOS на WM2000, поскольку для работы с Google Cloud Platform нужна новая системная функция (syscall). Затем мы безопасно подключимся к Google Cloud Platform (GCP), чтобы передавать данные, а также принимать и выполнять команды.

Примечание

В этой главе вам понадобится копировать длинные строки текста с веб-сайта в приложение L.U.I.S. (Loadable User Interface System). Чтобы упростить задачу, Tibbo настоятельно рекомендует выполнять весь урок на одном устройстве: на смартфоне (планшете) или на компьютере с интерфейсом (адаптером) Bluetooth 4.0. Из-за сложности GCP советуем использовать компьютер.

L.U.I.S. доступно как приложение для смартфонов на iOS и Android, а также как веб-приложение.

Из-за ограничений Web Bluetooth API веб-приложение работает только в последних версиях браузеров Chrome, Chromium, Edge или Opera на компьютерах Mac или Windows 10 (версия 1703 и новее) с адаптером Bluetooth 4.0.

Обновление TiOS на WM2000

Для проекта этой демонстрации (он находится в папке IoTCore репозитория проектов WM2000EV) требуется TiOS версии не ниже 4.01.04. Чтобы упростить загрузку приложения, мы подготовили файл Tibbo Composite Uncompressed (TCU) - GCP_IoTCore-wm2000.tcu. В нём собраны нужная прошивка, приложение Companion App и этот проект. В инструкции ниже используется веб-приложение BLE Firmware Updater, но обновление можно выполнить и через смартфонное приложение Tibbo Updater (для iOS и Android).

1. Переведите WM2000 в BLE-фазу режима обновления. Как это сделать, показано на блок-схеме Monitor/Loader V4. Можно также воспользоваться инфографикой с краткой последовательностью действий:

Иллюстрация шагов для принудительной загрузки WM2000 в APP0.

2. Откройте BLE Firmware Updater (нажмите здесь, чтобы открыть веб-приложение в новой вкладке или окне).

3. Нажмите кнопку 4 внизу. Затем нажмите Connect a device (подключить устройство).

Снимок экрана веб-приложения BLE Firmware Updater.

4. Выберите свой WM2000 в появившемся диалоге и нажмите Pair (связать).

Снимок экрана веб-приложения BLE Firmware Updater.

5. Нажмите Update Firmware From Local File (обновить прошивку из локального файла).

6. В диалоге найдите в репозитории файл GCP_IoTCore-wm2000.tcu и выберите его. Затем нажмите Open (открыть).

Снимок экрана веб-приложения BLE Firmware Updater.

7. Обновление прошивки, Companion App и демонстрационный проект будут загружены в устройство.

Не отключайте питание устройства.

Снимок экрана веб-приложения BLE Firmware Updater.

8. Когда обновление завершится, устройство перезагрузится автоматически.

Снимок экрана веб-приложения BLE Firmware Updater.

Подключение WM2000 к Google Cloud Platform

Эта демонстрация подключается к Google Cloud Platform, поэтому, разумеется, вам понадобится учётная запись GCP. Если её ещё нет, Google сейчас предлагает бесплатную пробную версию сервисов GCP. Учтите, что для подтверждения личности требуется кредитная карта. Дальнейшие инструкции рассчитаны на создание новой учётной записи; если она у вас уже есть, откройте консоль GCP и переходите сразу к шагу 9.

Предполагается также, что вы настроили WM2000 на автоматическое подключение к сети Wi-Fi и включили беспроводную отладку. Если вам нужна помощь, обратитесь ко второй главе.

1. Откройте новое окно или вкладку браузера и перейдите на cloud.google.com.

2. Нажмите Get started for free (начать бесплатно).


Снимок экрана сайта Google Cloud Platform.

3. Войдите в учётную запись Google или создайте её.

4. Введите данные учётной записи и нажмите Continue (продолжить).

5. Введите номер мобильного телефона и нажмите Send Code (отправить код), чтобы получить проверочный код.

6. Введите полученный код и нажмите Verify (подтвердить).

7. Введите платёжные данные. В зависимости от местного законодательства у вас могут запросить налоговые данные вашей компании. Наконец, для окончательного подтверждения личности нужно указать кредитную карту. Когда закончите, нажмите Start My Free Trial (начать бесплатный пробный период).


Примечание: Tibbo не связана с Google. Для этой демонстрации выбрана Google Cloud Platform, потому что это одна из крупнейших в мире облачных платформ, которую часто используют в приложениях Интернета вещей (IoT).

Как сказано на сайте Google Cloud Platform, с вашей кредитной карты ничего не спишут, пока вы не перейдёте на платный тариф. Если у вас возникли непредвиденные списания, связанные с Google Cloud Platform, обратитесь за помощью напрямую в Google.

Снимок экрана сайта Google Cloud Platform.

8. Вы попадёте в консоль Google Cloud Platform, которая начнётся с вводного опроса. Можно пройти его или просто нажать Close (закрыть), чтобы продолжить.

Снимок экрана сайта Google Cloud Platform.

9. В навигационном меню слева наведите курсор на IAM & Admin. В выпадающем подменю нажмите Create a Project (создать проект).

Снимок экрана сайта Google Cloud Platform.

10. Задайте имя проекта и нажмите Create (создать).

Снимок экрана сайта Google Cloud Platform.

11. В навигационном меню слева наведите курсор на APIs & Services. В выпадающем подменю нажмите Dashboard (панель).

Снимок экрана сайта Google Cloud Platform.

12. Рядом с заголовком APIs & Services нажмите Enable APIs and Services (включить API и сервисы).

Снимок экрана сайта Google Cloud Platform.

13. В поисковой строке в центре экрана введите Cloud IoT API и нажмите Enter.

Снимок экрана сайта Google Cloud Platform.

14. Результат будет только один: Google Cloud IoT API. Нажмите на него.

Снимок экрана сайта Google Cloud Platform.

15. На странице сведений об API нажмите Enable (включить).

Снимок экрана сайта Google Cloud Platform.

16. В навигационном меню слева наведите курсор на APIs & Services. В выпадающем подменю нажмите Dashboard.

17. Рядом с заголовком APIs & Services нажмите Enable APIs and Services.

18. В поисковой строке в центре экрана введите Cloud Pub/Sub API и нажмите Enter.

19. Нажмите на результат Cloud Pub/Sub API.

20. На странице сведений об API нажмите Enable.

Снимок экрана сайта Google Cloud Platform.

21. В поисковой строке вверху экрана введите IoT Core. В результатах поиска нажмите IoT Core.

Снимок экрана сайта Google Cloud Platform.

22. Рядом с заголовком Registries нажмите Create Registry (создать реестр).

Снимок экрана сайта Google Cloud Platform.

23. Задайте имя реестра и выберите ближайший к вам регион для хранения данных устройств.

Снимок экрана сайта Google Cloud Platform.

24. Под заголовком Cloud Pub/Sub topics откройте выпадающее меню Select a Cloud Pub/Sub topic . Затем нажмите Create a Topic (создать тему).

Снимок экрана сайта Google Cloud Platform.

25. Задайте имя темы. Не отмечайте ни один из флажков ниже. Нажмите Create Topic.

Снимок экрана сайта Google Cloud Platform.

26. Под заголовком Additional topics нажмите Show Advanced Options (показать дополнительные параметры). Под заголовком Protocols убедитесь, что отмечены MQTT и HTTP.

27. Нажмите Create.

Снимок экрана сайта Google Cloud Platform.Снимок экрана сайта Google Cloud Platform.

28. В навигационном меню слева нажмите Devices (устройства).

Снимок экрана сайта Google Cloud Platform.

29. Рядом с заголовком Devices нажмите Create a Device (создать устройство).

Снимок экрана сайта Google Cloud Platform.

30. Задайте имя устройства.

31. Нажмите Communication, Cloud Logging, Authentication, чтобы развернуть скрытые параметры страницы. Под заголовком Device communication убедитесь, что выбран вариант Allow (разрешить).

Снимок экрана сайта Google Cloud Platform.

32. В правом верхнем углу нажмите значок Activate Cloud Shell (активировать Cloud Shell). В нижней части окна откроется Google Cloud Shell.

Снимок экрана сайта Google Cloud Platform.

33. В Cloud Shell выполните команду: openssl ecparam -genkey -name prime256v1 -noout -out ec_private.pem. Она создаёт закрытый ключ на эллиптической кривой P-256.

34. Затем выполните команду: openssl ec -in ec_private.pem -pubout -out ec_public.pem. Она создаёт открытый ключ на эллиптической кривой P-256.

35. Наконец, выполните команду: openssl req -x509 -new -key ec_private.pem -out ec_cert.pem -subj "/CN=unused". Она создаёт ключ ES256 с самоподписанным сертификатом X.509.

Снимок экрана сайта Google Cloud Platform.

36. В Cloud Shell выполните nano ec_public.pem. Откроется текстовый редактор с открытым ключом ES256.

37. Выделите весь ключ, включая начальную строку -----BEGIN PUBLIC KEY----- и конечную строку -----END PUBLIC KEY-----. Выделенный текст автоматически копируется в буфер обмена.

38. Нажмите Ctrl+X, чтобы выйти из текстового редактора.

39. Вставьте ключ в поле Public key value в разделе Authentication на странице настроек устройства.

40. Измените значение Public key format на ES256.

41. Нажмите Create.

Снимок экрана сайта Google Cloud Platform.
Примечание

Для этого демонстрационного проекта требуется TiOS версии 4.01.04 или новее. Если на устройстве установлена более старая версия, попытка подключить его к Google Cloud Platform приведёт к непрерывным перезагрузкам.

Если вы ещё не сделали этого, Tibbo настоятельно рекомендует выполнить процедуру обновления по BLE, описанную в разделе Обновление TiOS на WM2000, прежде чем продолжить.

L.U.I.S.

42. Включите питание устройства и откройте приложение L.U.I.S. (нажмите здесь, чтобы открыть веб-версию в новой вкладке или окне). Свяжите приложение с WM2000.

43. Введите SSID своей сети Wi-Fi в поле SSID.

44. Введите пароль своей сети Wi-Fi в поле WiFi password.

Примечание: если на WM2000 включена беспроводная отладка, смена параметров Wi-Fi в некоторых случаях может привести к потере соединения, особенно если модуль переключён в сегмент сети, не видимый вашему компьютеру. В таком случае можно заново подключиться через приложение L.U.I.S. и перенастроить Wi-Fi либо сменить интерфейс отладки через консоль BLE.

Снимок экрана веб-приложения L.U.I.S.

Google Cloud Platform

Снимок экрана сайта Google Cloud Platform.

45. В левом верхнем углу нажмите на название своего проекта. Появится окно выбора проекта.

Снимок экрана сайта Google Cloud Platform.

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

Снимок экрана веб-приложения L.U.I.S.

47. Вставьте скопированную строку в поле Project ID.

Google Cloud Platform

Снимок экрана сайта Google Cloud Platform.

48. В навигационном меню слева нажмите Devices.

Снимок экрана сайта Google Cloud Platform.

49. Скопируйте свой Registry ID.

Снимок экрана веб-приложения L.U.I.S.

50. Вставьте скопированную строку в поле Registry ID.

Снимок экрана веб-приложения L.U.I.S.

51. Задайте в поле Location ID то же расположение, что и в Google Cloud Platform.

52. Скопируйте свой Device ID.

Снимок экрана веб-приложения L.U.I.S.

53. Вставьте скопированную строку в поле Device ID.

54. В правом верхнем углу нажмите значок Activate Cloud Shell. В нижней части окна откроется Google Cloud Shell.

55. В Cloud Shell выполните nano ec_private.pem. Откроется текстовый редактор с закрытым ключом ES256.

56. Выделите весь ключ, включая начальную строку -----BEGIN EC PRIVATE KEY----- и конечную строку -----END EC PRIVATE KEY-----. Выделенный текст автоматически копируется в буфер обмена.

Снимок экрана веб-приложения L.U.I.S.

57. Вставьте скопированную строку в поле Private key.

Снимок экрана веб-приложения L.U.I.S.

58. Нажмите Save.

59. Нажмите Reboot.

60. В поисковой строке вверху экрана введите Pub/Sub. В результатах поиска нажмите Pub/Sub.

Снимок экрана сайта Google Cloud Platform.

61. Нажмите на свой Topic ID.

Снимок экрана сайта Google Cloud Platform.

62. На вкладке Subscriptions внизу нажмите Create Subscription, а затем Create subscription.

Снимок экрана сайта Google Cloud Platform.

63. Задайте имя подписки.

64. Убедитесь, что под заголовком Delivery type выбран вариант Pull.

65. Нажмите Create.

Снимок экрана сайта Google Cloud Platform.

66. На странице сведений о подписке откройте вкладку Messages.

67. Нажмите Pull.

Снимок экрана сайта Google Cloud Platform.
Снимок экрана сайта Google Cloud Platform.
GCP покажет список сообщений, полученных от вашего WM2000. Тело сообщений - это измерения со встроенных датчиков температуры и освещённости WM2000EV. К сожалению, в отличие от Keen и Azure, Google Cloud Platform не умеет строить график этих данных штатными средствами.

Управление WM2000 из Google Cloud Platform

Как уже говорилось в начале этого урока, WM2000 может принимать и выполнять команды, отправленные через GCP. Демонстрационное приложение заранее настроено на приём команд от Google, которые включают RGB-светодиод WM2000EV по заданному вами шаблону. Приведённые ниже инструкции показывают, как пользоваться командой.

1. В поисковой строке вверху экрана введите IoT Core. В результатах поиска нажмите IoT Core.

2. Нажмите на свой реестр.

3. В меню слева нажмите Devices.

4. Нажмите на своё устройство.

Снимок экрана сайта Google Cloud Platform.

5. Вверху страницы рядом с заголовком Device details нажмите Send Command (отправить команду).

Снимок экрана сайта Google Cloud Platform.

6. В появившемся диалоге введите R-G-B- в поле Command data и LedTest в поле Subfolder. Нажмите Send Command. RGB-светодиод WM2000EV мигнёт красным, зелёным и синим цветом, а затем погаснет. Экспериментируйте с другими шаблонами.

Если шаблон не заканчивается символом «-» (дефис), светодиод останется включённым последним цветом шаблона.

Снимок экрана сайта Google Cloud Platform.
Исходный материал Tibbo обновлён 21 июля 2022Оригинал на docs.tibbo.com · Сообщить об ошибке