Подключение Neon PLC к Yandex Cloud (IoT Core) через MQTT
Предисловие
Для начала заметим, что у Яндекса есть собственные инструкции о том как подготовиться к работе в их облаке:
Начало работы с Yandex IoT Core
Пример консольного клиента на C#
Но написаны они на столько лаконично, что легко по ним пройтись едва ли удастся. Но как подспорье в непонятных моментах они очень пригодятся.
Подготовка облака Яндекс
Для начала необходимо создать аккаунт (если у Вас его нет) в Yandex Cloud - для этого переходим по ссылке и регистрируем новый аккаунт (необходимо указать реальный номер телефона).
Теперь нажимаем "Подключиться" в правом верхнем углу Облака.
Необходимо создать базовые элементы облака, начиная с консоли.
Создаём само облако.
Обязательно необходимо добавить платежную информацию (создать платёжный аккаунт) - если облако Вы создаёте впервые, то какое-то время пользоваться им можно будет бесплатно, в противном случае необходимо будет пополнить счет.
Нажмите "Создать аккаунт" и заполните все поля реальными данными.
Добавьте сервис "IoT Core".
Войдя в созданный сервис Вы получите приглашение создать реестр устройств.
На начальном этапе мы рекомендуем организовать связь устройств с облаком без использования сертификатов.
Создавая реестр, укажите пароль, который мы будем использовать при подключении клиентским приложением для мониторинга устройств, логином же будет идентификатор реестра.
Перейдя на вкладку "Устройства", нажмите кнопку в правом верхнем углу "Добавить устройство" и заполните его имя и пароль.
Указанный пароль будет необходимо прописать в ПЛК Neon для коммуникации с облаком Яндекса, а логином будет идентификатор устройства.
Создание проекта для ПЛК Neon
* Данный проект находится во вложении к статье - можете скачать его.
Откройте YartStudio (версии не ниже, чем 0.18) и создайте новый проект. Контроллер выберите Neon, установите период исполнения 20 мс.
Откройте раздел "Переменные пользователя" и создайте 3 переменные (для демонстрации этого будет достаточно).
Перейдите в структуру проекта и создайте новую программу.
Теперь откройте "Свойства проекта", раздел "Телеметрия" и заполните все поля настройки коммуникации (обратите внимание на не стандартный порт и на совпадение логина и ID устройства).
Во вкладке "Настройка публикации" выносим контейнер state и закидываем в него оставшиеся переменные (контейнера "Подписка" у Вас может не быть).
Подключаемся к виртуальному ПЛК и выполняем сборку и загрузку проекта.