Товары из Китая

Wisblock connected box — конструктор для разработчика "Интернета вещей"


  • Цена: 9766 руб. + 1067 руб. доставка
  • Обычно при прототипировании каких-либо электронных устройств используются отладочные платформы и различные модули расширения и, если компонентов много, в итоге получается довольно громоздкая конструкция. Поэтому, если хочется получить более-менее эстетично выглядящее устройство, в итоговой конструкции приходится прибегать к проектированию печатной платы и использованию дискретных компонентов. Но, кажется, у Rakwireless получилось реализовать модульный подход не в ущерб компактности и внешнему виду в линейке Wisblock.

    Дополнительная информация
    Rakwireless проводят активную маркетинговую политику и часто устраивают конкурсы с раздачей собственных устройств, и уже больше года назад мне в очередной раз повезло победить в подобном конкурсе. Я получил данный товар без каких-либо обязательств по написанию обзора. Но, если общественность решит, что данный обзор попадает под пункт 18, то я это укажу.

    WisBlock

    Для начала коротко расскажу концепции самой платформы. WisBlock представляет собой модульную платформу, сочетающую в себе микроконтроллер, связь LoRa, различные датчики и расширения ввода-вывода или связи, реализованные в виде отдельных блоков. Все блоки соединяются с базовой платой посредством разъемов промышленного класса. WisBlock может быть запрограммирована с помощью Arduino IDE или Platformio. Для более крупных проектов решения на базе WisBlock также могут быть созданы с помощью профессиональных IDE, таких как Segger Embedded Studio или Keil. По заявлению разработчиков, устройства на базе Wisblock могут быть использованы не только для быстрого прототипирования, но в конечном продукте и массовом производстве.

    Wisblock состоит из нескольких функциональных модулей:

    Base

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    Основой WisBlock является модуль Base, это базовая плата, которая позволяет легко подключить управляющий модуль Core, интерфейсную плату и сенсорные модули. Base содержит схему источника питания, включающую питание от USB, аккумулятора и солнечной панели, а также схему зарядного блока. Кроме того, на ней есть разъемы для программирования и отладки. На данный момент есть 7 вариантов Wisblock Base и дополнительно 6 модулей расширения питания.

    Core

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    Core – это центральный управляющий блок. Исходя из поставленных задач, можно выбрать Core из трех возможных вариантов: на базе NRF52840 c поддержкой LoRa и BLE, на базе ESP32 c Wi-Fi и BLE, на базе RP2040 с поддержкой LoRa.

    Wireless

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    Модули расширения Wisblock wireless предоставляют приложению интерфейсы беспроводной связи, которые не охватываются основными блоками Core, такие как Nb-Iot, WiFi, LoRa, GSM, NFC, RFID, UWB.

    Sensor

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    Wisblock Sensor предлагает ряд датчиков для определения условий окружающей среды (таких как температура, влажность, давление), местоположения и условий движения (местоположение GNSS, акселерометр и т. д.), которые просто подключатся к Wisblock Base, что позволяет легко дополнить устройство необходимыми датчиками. Датчиков достаточно много, практически для любой задачи, которую только можно придумать и рассказывать обо всех нет смысла. На момент публикации обзора датчиков 41.

    Interface

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    Расширения Wisblock interface предоставляют интерфейсы и расширения связи, которые не охватываются блоками Core или Sensor. Сюда входят: разъемы ввода-вывода для добавления пользовательских интерфейсов, таких как клавиатуры, кнопки, реле, адаптеры для модулей расширения от сторонних производителей, интерфейсы датчиков, модули связи и многое другое. Модулей данной категории на момент публикации доступно 21.

    Display

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    В данной категории находятся соответственно дисплеи и другие индикационные модули для различных задач визуализации.

    Extra

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    Небольшая категория, куда входят модуль буззера, часы реального времени и шлейфы для соединения модулей расширения и базовой платы.

    Storage

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    WisBlock Storage расширяет возможности памяти WisBlock с помощью различных вариантов хранения, таких как флэш-память, EEPROM или слот для SD-карт.

    Power

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    Включает модули питания, которые расширяют возможности источников питания, доступные для WisBlock. Сюда входят модуль беспроводной зарядки, модуль питания от альтернативных так называемых «зеленых» источников энергии (например, ветровая, солнечная), модуль POE, а также модуль DC-DC преобразователь.

    Motor

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    Включает один единственный модуль для управления коллекторными электродвигателями.

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

    WisBlock connected box

    Я получил WisBlock в составе набора WisBlock connected box, перейдем непосредственно к нему. Набор поставляется в красивой черной брендированной коробке и выглядит как дорогой подарок. Все компоненты набора расположены в отдельных секциях или в коробочках.

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    Одна из приятных мелочей — это фирменные наклейки, которыми можно украсить, например, свое устройство.

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    Ещё один весьма приятный бонус это отвертка для соединения всех элементов. Отвертка полностью металлическая с одной несъемной битой, она хорошо лежит в руке, приятно и продолжительно вращается за счёт подшипника.

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    Набор включает следующие компоненты (у Rakwireless есть своя система наименования устройств, которой я буду придерживаться):

    Wisblock Base:

    RAK5005-O | Базовая плата WisBlock первой ревизии, она имеет Micro-USB разъем для питания и программирования, разъем JST PHR с шагом 2 мм для подключения аккумулятора и разъем JST ZHR c шагом 1.5 мм для подключения солнечной панели. Поддерживаются 5-ти вольтовые солнечные панели. На плате реализована схема питания, заряда и защиты аккумулятора. Также установлена кнопка сброса и два пользовательских светодиода. WisBase первой ревизии позволяет установить 1 управляющий модуль, 1 интерфейсную плату расширения и до 4 модулей сенсоров по 2 с каждой стороны. Размер базовой платы 30*60 мм. По периметру платы есть четыре монтажных отверстия диаметром 3 мм.

    Все модули подключаются к базовой платформе посредством планарных разъемов промышленного класса с шагом контактов 0,4 мм. Самостоятельно припаять такой разъем, на мой взгляд, будет довольно проблематично, но, тем не менее, у производителя в продаже есть отдельно разъемы, видимо для ремонта или разработки собственных модулей расширения. Дополнительно модули расширения фиксируются на базовой плате посредством винтов, для чего на ней запрессованы резьбовые втулки.

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    На базовой плате уже установлен управляющий модуль WisBlock Core RAK4630. Он построен на базе микроконтроллера NRF52840 от NordicSemiconductor и LoRa трансивера SX1762 от Semtech.

    NRF52840 это 32 битный микроконтроллер с ультранизким энергопотреблением, он имеет в основе ядро ARM Cortex M4F, с частотой 64 МГц, 1 Мб флеш памяти и 256 Кб RAM памяти. NRF52840 имеет встроенную поддержку стека протокола Bluetooth Low Energy 5.0.

    SX1762 это субгигагерцовый трансивер с низким потреблением, ток в режиме приема составляет всего 4,5 мА. Максимальная мощность передачи составляет 22dbM, чувствительность -148 dBm. SX1762 поддерживает различные виды модуляции, в том числе FSK, GFSK, LoRa и другие. SX1762 разработан в соответствии с требованиями физического уровня спецификации LoRaWAN, выпущенной LoRa Alliance®.

    Wisblock Wireless:

    RAK2305 — Модуль WiFi на основе всем знакомого ESP32, а именно модуля ESP32-WROVER-B.

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    RAK5860 — Модуль NB-IoT на базе Quectel BG77. NB-IoT — довольно интересная технология организации беспроводных сетей с низким энергопотреблением (LPWAN) и, наверное, главная альтернатива LoRaWAN, работающая на базе сетей сотовой связи. NB-IoT заслуживает отдельного обзора, но есть определенные трудности с доступом к сети простых пользователей. Пишите в комментариях, если для Вас интересна эта тема и постараюсь о ней рассказать. Также BG77 имеет встроенный GNSS-приемник.

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    Wisblock interface:

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    RAK1920 — модуль адаптера для расширений платформ Click, QWIIC и GROOVE. Наверняка, многим знаком разъем groove, который используется в устройствах от компании SEEED Studio, а QWIIC используется у Sparkfun.

    RAK5804 — модуль расширения портов входа-выхода, реализующий 2 I2C интерфейса, 1 UART, 4 порта входа-выхода общего назначения, 1 аналоговый вход, 1 вход для подключения кнопки, 2 выхода для светодиодов.

    RAK5801 — модуль для датчиков с токовым выходом на базе LM2902 от STMicroelectronics, модуль рассчитан на измерение сигнала в диапазоне от 4 до 20mA. Модуль имеет два канала измерения и выход 12 В для питания сенсоров.

    RAK5811 — модуль для датчиков с аналоговым выходом в диапазоне от 0 до 5 В на базе LM2902 от STMicroelectronics. Модуль также имеет два канала измерения.

    RAK5802 — модуль интерфейса RS485 на базе TP9596E от 3PEAK

    Датчики из категории Wisblock Sensor расположены в отдельной коробочке:

    RAK1901 — датчик температуры и влажности на основе Sensirion SHTC3;

    RAK1902 — датчик атмосферного давления (STMicroelectronics LPS22HB)

    RAK1903 — датчик освещенности на основе Texas instruments OPT3001;

    RAK1904 — 3-х осевой акселерометр в его основе сенсор LIS3DH также от Texas instruments;

    RAK1906 — датчик качества воздуха на основе Bosh BME680, измеряющий помимо этого температуру, влажность и атмосферное давление.

    Также к датчикам отнесен GNSS-модуль определения местоположения RAK1910 (это u-Blox MAX-7Q). Он поддерживает GSP и GLONASS.

    Размер модулей сенсоров кроме RAK1910 10*10, RAK1910 имеет размеры 20*10 и занимает два слота.

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    В отдельной секции расположена антенна на 868 МГц для LoRa.

    Антенны для WiFi, GPS, LTE, BLE находятся коробочке вместе с винтами для соединения модулей и соединительными провода c различными коннекторами.

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    Все элементы изготовлены качественно, между собой соединяются легко и надежно. Для теста я подключил датчик качества воздуха температуры и влажности. Как я уже сказал, Core RAK4631 построен на базе NRF52840 от Nordic Semiconduktor, для которого реализована поддержка всеми любимой Arduino IDE.

    Добавление пакета поддержки для WisBlock не составляет трудности и подробно описано в руководстве:

    1. Необходимо добавить ссылку на пакет поддержки в настройках IDE

    2. Собственно необходимо добавить пакет поддержки в менеджере плат.

    При подключении WisBlock к компьютеру обнаруживается несколько устройств, и тут меня ждал неприятный сюрприз: драйвера соответствующие для них не устанавливаются. После продолжительного поиска и обращения в поддержку, методом проб и ошибок я выяснил, что для пользователей Win7 необходимо установить этот пакет драйверов от Adafruit.

    Теперь можно прошивать WisBlock и проверять его работу. Для теста я использовал пример Wisblock_Environment_monitoring.ino из пакета поддержки. В процессе прошивки может измениться ком-порт, к которому подключен Wisblock и прошивка может не пройти с первого раза, таковы особенности реализации программирования NRF52840 через UART.

    Я напомню, что у меня есть собственный LoRaWAN-шлюз, который подключен к платформе TheThingNetwork, поэтому я буду тестировать передачу данных через него. Если вы хотите узнать больше о технологии LoRaWAN и подключении своего шлюза к облачной платформе TheThingsNetwork, смотрите видео по подсказке в правом углу. Я поместил шлюз в корпус для DIN-рейки, но он требует доработки, так как в процессе работы значительно нагревается и не охлаждается из-за отсутствия обдува радиатора.

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    TheThingsnetwork перешла на сетевой стек LoRaWAN сервера 3 версии, называемый TheThingStack и теперь сама платформа называется соответственно TheThingstack. В общем TheThingStack это бывшая TheThingsNetwork.

    Чтобы подключить Wisblock к TheThingstack необходимо перейти в консоль пользователя в раздел приложения, добавить новое приложение, затем новое конечное устройство. Можно ввести все параметры вручную, а можно выбрать устройства из списка поддерживаемых, среди которых есть WisBlock. Выбираем регион, частотный план и вводим ключи, необходимые для авторизации устройства. Ключ AppEUI можно отставить заполненным нулями, ключ DevEUI написан на корпусе WisBlock core, а ключ AppKey генерируем. End device ID также будет сгенерирован автоматически. Все эти ключи необходимо вставить в скетч. Подробнее как добавить собственное конечное устройство на TheThingstack можно также узнать в видео про LoRaWAN-шлюз.

    Данные я буду передавать на облачный сервис Ubidots, для которого есть встроенная интеграция на TheThingstack.

    Интеграция Ubidots в TheThingstack
    Чтобы передавать данные на Ubiodts необходимо предварительно зарегистрироваться на Ubidots.com и добавить плагин TTS. Плагин TTS — это бессерверная функция, оптимизированная для декодирования передаваемых данных восходящего канала The Things Stack в формате JSON. Каждый раз, когда по такому URL-адресу поступает HTTP-запрос POST, будет выполняется предопределенная функция декодирования.

    Чтобы добавить TTS-плагин в своей учетной записи Ubidots нужно перейти на вкладку «Устройства», выбрать «Плагины», затем нажать на значок «+», чтобы создать новый плагин. В появившемся списке необходимо выбрать плагин TTS и нажать на значок стрелочки в правом нижнем углу. Появятся инструкции к плагину, нужно нажать «Далее», затем проверить входные параметры:

    Тип устройства Ubidots tts-devices будет создан и связан с этим плагином. Это позволяет вносить пакетные изменения во все устройства, которые получают данные через этот плагин.

    Токен Ubidots: нужно выбрать токен, который будет использован для этого плагина. Можно использовать токен, сгенерированный по-умолчанию или создать новый. Токен можно получить в личном кабинете в разделе API creditionals.

    После завершения создания плагина он появится в списке плагинов.

    Далее нужно войти в только что созданный плагин TTS, перейти на вкладку «Декодер» и скопировать «URL-адрес конечной точки HTTP».

    Наконец, можно вернуться в свою учетную запись TheThingsStack, открыть нужное приложение, затем в разделе «Интеграции» выбрать «Webhook» то есть Веб-перехватчик, затем нажать «Добавить Webhook» выбрать «Ubidots» и заполнить следующие поля:

    Идентификатор Webhook: произвольное уникальное имя для своего веб-перехватчика.

    Идентификатор плагина: уникальный идентификатор (<PLUGIN-ID>), он содержится в URL-адресе HTTP вашего плагина.

    Токен Ubidots: токен, используемый для аутентификации запросов API Ubidots.

    Но это еще не всё данные на TheThingstack передаются виде двоичного массива, а для передачи на Ubidots их необходимо представить в виде переменных с плавающей точкой, передавая каждую переменную отдельно, для этого нужно написать небольшой парсер пакетов на языке JavaScript на стороне ThiThingstack. Ubidots со своей стороны также позволяет выполнять декодирование данных. После создания плагина TTS и щелчка по нему вы увидите вкладку «Декодер», которая содержит «Функции декодирования», которую вы можете редактировать по своему усмотрению, чтобы декодировать передаваемые пакеты данных.

    По умолчанию вы увидите предварительно загруженный образец декодера, который делает следующее:

    Записывает параметры передачи RSSI и SNR в переменную Ubidots; по одному на каждый шлюз, принимающий сигнал от вашего устройства.

    Регистрирует счетчик кадров и переменные Port to Ubidots.

    Образец декодера в качестве примера как раз содержит функцию для декодирования параметров, измеряемых датчиком качества воздуха и его корректировка не требуется.

    Если вы создали ранее декодер на стороне TheThningTsack, то результат декодирования будет перенаправлен в Ubidots как есть, при условии, что он имеет удобный для Ubidots формат.

    Ubidots будет автоматически создавать устройство каждый раз, когда будет получены данные с нового устройства. Это избавляет вас от необходимости вручную создавать сотни или тысячи устройств или копировать и вставлять DevEUI с одной платформы на другую.

    Теперь чтобы визуализировать данные нужно создать панель управления (так называемый дашбоард) выбрать нужный видждет и в настройках выбрать соответствующее устройство и переменную.

    Интеграция Ubidots и Thethingstack может показаться довольно сложной, но на самом деле есть подробная инструкция и многие шаги интуитивно понятны. При этом Ubidots довольно гибкая платформа с большим количеством виджетов.

    Wisblock connected box - конструктор для разработчика "Интернета вещей"

    В режиме передачи wisblock потребляет порядка 8-12 мА, в режиме передачи — 25 мА.

    Подробный обзор Wisblock connected box представлен в видео.

    Заключение

    Сеть LoRaWAN по-прежнему не очень популярна в нашей стране, по крайней мере, открытых шлюзов всего единицы, поэтому по-прежнему актуальны другие технологии беспроводной коммуникации, как например Wi-Fi и Wisblock в этом плане довольно универсальный инструмент, который позволяет работать с различными технологиями передачи данных.

    Я считаю, что Wisblok это весьма перспективная платформа, которая предоставляет много возможностей и при этом не в ущерб дизайну конечного устройства. Комбинацией различных функциональных модулей можно решить практически любую задачу из области интернета вещей. Пока я делал этот обзор, появилось еще несколько новых модулей. Подробнейшая документация с большим количеством примеров, несомненно, является большим плюсом.

    Я искренне надеюсь, что WisBlock найдет своих пользователей и обретет определенную популярность, и может быть, не без моей помощи. У меня есть несколько идей проектов, для которых WisBlock идеально подходит.


СМОТРИ ТАКЖЕ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *