Logo Logo ru
  • iRidi Pro
    Основные компоненты
    • Приложение i3 Pro
    • iRidi Pro Server
    • iRidi Studio
    • iRidium studio v. 1.3.8 (устаревшая версия)
    Java Script в iRidi
    • Руководство
    • Справочник
    • Примеры
    • JS драйвера
    другие
    • Личный Кабинет
    • iRidium Cloud
    • iRidium Transfer
    • Push-уведомления
    • Лучшая практика
    Лицензирование
    • Лицензирование и передача проекта
    • Оффлайн-лицензирование
    • Активация iRidi Pro Server
  • Продукты
    i3 lite
    • Приложение i3 lite
    • Регистрация и лицензирование
    • Сервер
    • Модули
    KNX Home Server
    • Приложение i3 KNX
    • KNX Home Server
    BUS77 HOME SERVER
    • Приложения Bus77 Home и Bus77 Lite
    • Bus77 Home Server
    Решения
    • BYOD - решение для гостиниц
    • Портал жителя - решение для МКД
    iRidi SCADA
    • iRidi SCADA
  • Bus77
    НАСТРОЙКА BUS77
    • Основы Bus77
    • Приложения Bus77 Home и Bus77 Lite
    • Работа с драйвером Bus77 в iRidi Studio
    • Настройка шины Bus77 в iRidi Studio
    ПРОТОКОЛ BUS77
    • Характеристики CAN (Bus77)
    • Описание протокола
    • Исходники на GitHub
    ОБОРУДОВАНИЕ BUS77
    • Каталог Bus77 Pro
    • Каталог Bus77 Lite
  • Поддерживаемое оборудование
    Драйверы
    • Список драйверов
    • ProAV драйвера
    • AV & Custom Systems
    • JS драйвера
    • Сторонние драйвера и фриланс
    Протоколы и интерфейсы
    • Голосовое управление
    • 1-Wire
    • BACnet IP
    • Bus77
    • KNX
    • KNX IP BAOS
    • Weinzierl kBerry
    • Microsoft Exchange
    • Modbus
    • MQTT
    • NFC
    • ODBC
    • Onvif
    • SIP
    • SNMP
    • Wake On Lan
    • Z-Wave
    • ZigBee
    Производители
    • AMX
    • AVCiT
    • Beckhoff ADS
    • Biamp Tesira
    • Bluesound
    • Casambi
    • BSS Harman
    • Clipsal
    • ControlArt 7Port
    • Crestron
    • DigiBird
    • Domintell
    • Duotecno
    • EIDE
    • EPSNET
    • Global Cache
    • HDL Buspro
    • Helvar
    • IEAST
    • INELS BUS
    • INELS Wireless
    • Intesis
    • Kleger
    • Kramer VIA
    • Kramer 3000
    • Larnitech
    • Legrand Netatmo
    • LG TV
    • Lutron
    • Lutron Homeworks QS
    • MyHome
    • Nest
    • Novastar
    • Panasоnic PTZ
    • Philips Dynalite
    • PJLink
    • Satel
    • SamsungTV
    • Sonos
    • Somfy
    • SpinetiX
    • Televic Conference
    • TIS
    • Tion
    • URRI
    • Velbus
    • Velocio
    • Vinteo
    • WyreStorm
    • WiiM
    • Xicato
    • Yamaha
    • ZONT
    • Z-Wave.me
    Протестированное оборудование
    • Панель HDL S57
    • Панель HDL S10
    • SIP-домофон
    • Akuvox
    • Arlight
    • Divus
    • QBic TD-1050 PRO
    • QBic TD-1060 Slim
    • QBic TD-1070
    • Sigur
    • Uni-Ubi
    • Velocio
  • Оборудование iRidi

    Серверы
    • HS Сервер
    • ProAV Control Processor Basic
    • ProAV Control Processor Advanced
    • Спецификация контроллеров UMC
    • Настройка контроллера UMC C2
    • Настройка контроллера UMC C3
    • Настройка контроллера HDL IntelliCenter 2 (UMC C4)
    Модули расширения
    • I-PX-RS1
    • I-PX-RS4
    • I-PX-IR3
    KNX
    • KNX Home Server
    • KNX IP Interface
    Панели управления
    • iRidium Panel 7
    • Touch Panel P3
    • Touch Panel P6
    • Touch Panel P8
    • Touch Panel P10
    • Tabletop Touch Panel 10
    • AV Remote Control
    ОБОРУДОВАНИЕ BUS77
    • Каталог Bus77 Pro
    • Каталог Bus77 Lite
    • Differences
Сайт iRidium mobile
Содержание
    Инструменты‌
    • Сведения о странице
    • Постоянная ссылка
    • Версия для печати
    • Спецстраницы
    • Связанные правки
    • Ссылки сюда
    Login / Create Account
    Материал из for iRidium developers
    Перейти к: навигация, поиск
    Эта страница является переводом страницы IBM Cloud IoT. Перевод выполнен на 100%.

    Other languages:
    English • ‎русский

    Содержание

    • 1 Подключение iRidium server к IBM Watson IoT
      • 1.1 Описание примера
      • 1.2 Настройка IBM Watson IoT
        • 1.2.1 Создание инстанса IBM Watson IoT
        • 1.2.2 Добавление устройств
      • 1.3 Настройка iRidium server
        • 1.3.1 Настройка драйвера MQTT
        • 1.3.2 Настройка драйвера Modbus TCP
        • 1.3.3 Шлюз Modbus/MQTT
      • 1.4 Проверка подключения к IBM Watson IoT
      • 1.5 Настройка IBM Cloudant
      • 1.6 Настройка аналитики в IBM Watson IoT
      • 1.7 Тестирование системы

    Подключение iRidium server к IBM Watson IoT


    IBM Cloud предоставляет множество различных сервисов. В данном примере нам потребуются только два сервиса, которые позволят сохранять в облаке исторические данные умного дома, построенного на основе ПО iRidium, и потом просматривать архивы в виде трендов, диаграмм и других элементов визуализации, а также возможны другие интересные сопутствующие возможности сервисов.

    Первый сервис - Watson IoT - сервис интернета вещей, второй сервис - Cloudant NoSQL - база данных, работающая на основе JSON-запросов. IBM Cloud позволяет без особых сложностей интегрировать два этих сервиса друг с другом.


    Описание примера


    Скачать пример проекта

    В рассматриваемом примере iRidium server считывает данные с Modbus-устройств и отсылает их в облако IBM Cloud по протоколу MQTT в формате JSON. Данные сохраняются в облачной базе данных Cloudant в реальном времени. Средствами аналитики Watson IoT можно просматривать и анализировать сохранённые данные через веб-интерфейс облака.

    IBM Cloud IoT scheme.png


    Для тестирования можно использовать бесплатный (Lite) план пользования сервисом Watson IoT, который включает в себя:

    • до 500 устройств,
    • до 500 связей,
    • месячные лимиты
      • до 200 Мб трафика,
      • до 200 Мб анализируемых данных
      • до 200 Мб локально анализируемых данных (Edge).


    Бесплатный план Lite пользования сервисом Cloudant:

    • не ограничен по времени,
    • максимум 256 Мб задействованной памяти в Cloud Foundry,
    • 1 инстанс (1 база данных),
    • автозасыпание приложения (выключение приложения через 3 дня бездействия разработчика).


    Подробнее:

    • Watson IoT (на английском языке)
    • Cloudant (на английском языке)
    • Планы использования Cloudant (на английском языке)


    Настройка IBM Watson IoT

    Для подключения к платформе IBM Watson IoT нужно получить аккаунт IBM Cloud (IBMid).

    Подробнее об управлении аккаунтом IBM Cloud (на англ. языке)


    Создание инстанса IBM Watson IoT

    1 Зайдите в свою учётную запись, перейдите на панель управления (Dashboard). Нажмите на кнопку «Create Resource».

    IBM Cloud IoT a01.png

    2 Выберите категорию Internet of Things и нажмите на Internet of Things Platform.

    IBM Cloud IoT a02.png

    3 В параметрах выберите регион, например, US South (для этого региона доступно больше всего функциональных возможностей).

    IBM Cloud IoT a03.png

    4 Выберите ценовой план (например, Lite) и нажмите на кнопку «Create»:

    IBM Cloud IoT a04.png

    5 На панели приборов в списке отобразится добавленный сервис, перейдите на него, в появившемся окне нажмите на кнопку «Launch».

    IBM Cloud IoT a05.png

    6 В новом окне откроется панель управления IoT Platform.

    IBM Cloud IoT a06.png


    Добавление устройств

    1 Перейдите на вкладку Devices на панели управления IoT Platform.

    IBM Cloud IoT a07.png

    2 Добавьте устройство, для этого нажмите на кнопку «Add Device».

    IBM Cloud IoT a08.png

    3 В появившемся окне задайте Device Type и Device ID и нажмите «Next».

    IBM Cloud IoT a09.png

    4 Укажите информацию об устройстве, нажмите «Next».

    IBM Cloud IoT a10.png

    5 Добавьте группу (можно пропустить этот шаг), нажмите «Next».

    IBM Cloud IoT a11.png

    6 В окне Security создайте токен для аутентификации (если оставить поле пустым, то токен сгенерируется сам). Нажмите «Next».

    IBM Cloud IoT a12.png

    7 Просмотрите результат создания устройства и нажмите кнопку «Done».

    IBM Cloud IoT a13.png

    8 В появившемся окне появится сообщение о том, что было зарегистрировано устройство, и будут предоставлены реквизиты для подключения устройства к платформе. Если ранее поле токена было оставлено пустым, то будет предоставлен автоматически сгенерированный токен.

    IBM Cloud IoT a14.png

    Токен аутентификации (пароль) передаётся только один раз. Сохраните его.


    Настройка iRidium server

    Настройка драйвера MQTT

    1 Создайте проект сервера.

    2 Добавьте драйвер MQTT в проект.

    3 При добавлении устройств на платформе Watson IoT предоставляются реквизиты для подключения к MQTT-брокеру. Введите их в настройки драйвера.

    IBM Cloud IoT b01.png
    • Host - адрес облачного интерфейса IoT, кодируется следующим образом:

    <your_orgID>.messaging.internetofthings.ibmcloud.com

    • Port - порт
      • 1883 (незашифрованное соединение; по умолчанию отключен в iRidium server)
      • 8883 (зашифрованное соединение с использованием TLS и SSL)
      • 443 (зашифрованное соединение WebSocket; не поддерживается в iRidium server)
    • Login - логин, здесь должно быть задано фиксированное значение use-token-auth
    • Password - созданный или сгенерированный Authentication Token
    • MQTT Version - версия MQTT, должна быть 4
    • Client ID - идентификатор клиента, кодируется следующим образом:

    d:<your_orgID>:<your_Type>:<your_Device>

    • Keep Alive - время удержания соединения в секундах
    • Clean - очистка сессии (удаление всех подписок) при разрыве соединения
    • SSL - метод шифрования связи с облаком


    4 Добавьте команду в драйвер MQTT. Настройте её следующим образом:

    IBM Cloud IoT b02.png
    • Topic - топики сообщений, для брокера IBM Bluemix в отличие от брокера Mosquitto не могут содержать произвольные данные. Они кодируются по определённым правилам:
      • Формат топика публикации данных (запись): iot-2/evt/<event_id>/fmt/<format_string>
      • Формат топика подписки на данные (чтение): iot-2/cmd/<command_id>/fmt/<format_string>
        • <event_id> - идентификатор события. Идентификатор события может быть любой строкой, которая действительна в MQTT.
        • <command_id> - идентификатор команды. Идентификатор команды может быть любой строкой, которая действительна в MQTT.
        • <format_string> - это строка, которая определяет тип содержимого сообщения. В рассматриваемом примере может использоваться только формат json.

    Пример топика публикации: iot-2/evt/status/fmt/json

    Пример топика подписки: iot-2/cmd/read/fmt/json

    • Value type - должен быть задан тип String, чтобы успешно передать данные в JSON-формате.
    • QoS и Retain могут быть выбраны произвольно в зависимости от требований задачи.


    Настройка драйвера Modbus TCP

    1 Добавьте драйвер Modbus TCP.

    2 Настройте параметры подключения.

    3 Создайте необходимое количество команд и тэгов в драйвере.

    4 Настройте каждую команду и тэг в соответствии с задачей.


    Шлюз Modbus/MQTT

    1 Добавьте скрипт в проект:

    var driver1 = IR.GetDevice("MQTT");       // Name of MQTT driver
    var driver2 = IR.GetDevice("Modbus TCP"); // Name of Modbus driver
    var command = "MQTT_Command";             // Name of a command in MQTT driver
    var taglist = {
      "Door_switch"         : 1,              // List of Modbus tags to send via MQTT
      "Ring_button"         : 1,
      "Outdoor_temperature" : 1,
      "Indoor_temperature"  : 1
    }; 
     
    IR.AddListener(IR.EVENT_TAG_CHANGE, driver2, function(name, value) {
      if (taglist[name]) {
        var json_obj = {};
        json_obj[name] = value;
        var json_str = JSON.Stringify(json_obj);
        driver1.Set(command, json_str);
      }	
    });

    2 Не забудьте в скрипте задать правильные имена драйверов, между которыми организуется шлюз, а также имя команды в драйвере MQTT и список имён тэгов в сети Modbus, которые вы хотите передавать в облако IBM. Вы можете дополнять список тэгов (переменная taglist).

    Данный скрипт может передавать данные только в одном направлении: из сети Modbus TCP в облако.


    Проверка подключения к IBM Watson IoT

    1 Запустите проект сервера.

    2 На панели управления IBM Watson IoT Platform перейдите во вкладку Device.

    3 Выберите ранее настроенное устройство.

    4 Затем перейдите в Logs. Если соединение было установлено, то в логах подключений появится сообщение об успешности подключения:

    IBM Cloud IoT b03.png


    Настройка IBM Cloudant

    В целом платфома IBM Watson IoT - самостоятельно работающий сервис, но подключение IBM Cloudant NoSQL DB к платформе IBM Watson IoT расширяет возможности: можно длительно хранить данные от устройств и отображать эти данные в инструментах аналитики IBM Watson IoT.

    1 Перейдите в панель управления IBM Cloud. Нажмите «Create resource».

    2 Выберите категорию Data & Analytics и нажмите на сервис Cloudant NoSQL DB.

    IBM Cloud IoT c01.png

    3 В открывшемся окне выберите Region, например, US South.

    IBM Cloud IoT c02.png

    4 Выберите ценовой план (например, Lite) и нажмите «Create».

    IBM Cloud IoT c03.png

    5 На панели приборов IBM Cloud, в списке помимо IoT Platform отобразится добавленный сервис Cloudant NoSQL DB. Нажмите на кнопку «Launch».

    IBM Cloud IoT c04.png

    6 В новом окне откроется панель управления базой данных.

    IBM Cloud IoT c05.png

    Изначально сервис Cloudant пустой (не содержит баз данных и документов). Необходимые базы данных и документы будут позже созданы автоматически при интеграции сервисов.

    7 Перейдите в панель управления сервиса IoT Platform. В панели навигации перейдите на вкладку Extensions. В разделе Historical Data Storage нажмите на «Setup».

    IBM Cloud IoT c07.png

    8 В разделе конфигурирования перечисляются все доступные службы Cloudant NoSQL DB. Выберите службу, которую хотите подключить.

    IBM Cloud IoT c08.png

    9 В открывшемся разделе настройте конфигурацию сервера Cloudant NoSQL, нажмите на кнопку «Done».

    IBM Cloud IoT c09.png
    • Bucket Interval - временной интервал, в течение которого будет записываться один документ базы данных; вся база данных разбивается на несколько документов.
    • Time Zone - часовой пояс; указывается для корректировки даты и времени.
    • Database Name - имя базы данных; введите произвольное имя для дальнейшей идентификации.

    Полное имя базы данных будет иметь вид:

    iotp_<Org ID>_<Database Name>_<Current Date>

    10 Должно появиться всплывающее окно с просьбой разрешить подключение к службе Cloudant. Нажмите "Confirm".

    IBM Cloud IoT c10.png

    Если всплывающие окна заблокированы браузером, то всплывающее окно не появится.

    11 Должно появиться сообщение об успешной авторизации. При успешном завершении настройки базы данных Cloudant NoSQL DB, в поле статус отобразится подключенный сервис.


    В сервисе Cloudant будут автоматически созданы базы данных и документы. Теперь данные, которые поступают от iRidium server, сохраняются в базе данных Cloudant NoSQL DB.

    Подробнее о подключении Cloudant к IoT Platform


    Настройка аналитики в IBM Watson IoT

    1 В окне навигации платформы IoT выберите Boards и нажмите «Create New Board».

    IBM Cloud IoT d01.png

    2 Заполните информацию о новой доске и нажмите «Next».

    IBM Cloud IoT d02.png

    3 Заполните информацию о участниках и нажмите «Submit».

    IBM Cloud IoT d03.png

    4 Перейдите на созданную доску.

    IBM Cloud IoT d04.png

    5 Нажмите «Add New Card».

    IBM Cloud IoT d05.png

    6 Выберите Card Type из предложенного списка, например, «Line Chart».

    IBM Cloud IoT d06.png

    7 В списке отображаемых устройств выберите нужное и нажмите «Next».

    IBM Cloud IoT d07.png

    8 Нажмите «Connect new data set» и заполните необходимые данные. Нажмите "Next".

    IBM Cloud IoT d08.png

    Параметры Event и Property берутся со вкладки Devices > State сервиса IoT Platform.

    IBM Cloud IoT b04.png

    9 Отобразится окно предварительного просмотра карты. Перейдите в настройки, в поле Cloudant instance должен появиться установленный экземпляр базы данных. Измените необходимые настройки и нажмите «Next».

    IBM Cloud IoT d09.png

    10 В окне информации о карте укажите заголовок, выберите цветовую схему и нажмите «Submit».

    IBM Cloud IoT d10.png

    11 Таким образом можно добавить несколько элементов отображения данных (карточек).


    Тестирование системы

    1 Запустите проект сервера.

    2 Подайте питание на Modbus-устройства.

    Вместо реальных устройств можно использовать Modbus-эмулятор, например, бесплатный Modbus PLC Simulator.

    3 Теперь можно анализировать данные с сервера iRidium: просто перейдите в панель управления Watson Iot и наблюдайте, как данные изменяются в реальном времени.

    IBM Cloud IoT d11.png
    Источник — «https://dev.iridi.com/index.php?title=IBM_Cloud_IoT/ru&oldid=66131»
    О нас
    Компания
    Команда
    История
    Философия
    Награды
    Партнерство
    Наши партнеры
    Партнерские программы
    Подать заявку на партнерство
    Продукты
    iRidium pro
    iRidium lite
    iRidium gate
    iRidium server
    Загрузки
    iRidium pro
    iRidium lite
    Другие версии
    Маркетинговые материалы
    Поддержка
    Онлайн курсы/Видео
    Рекомендуемое оборудование
    Другие версии
    iRidium pro
    Документация
    FAQ
    Форум
    iRidium lite
    Документация
    Форум
    Проекты
    Типовые проекты
    Умные здания
    Умные дома
    Специальные решения
    Найти дилера
    Новости
    Youtube
    Twitter
    VK
    Logo
    contact@iridi.com
    +7 (499) 322-73-29

    Политика конфиденциальности