В настоящее время «умные системы» встречаются в нашем окружении всё чаще. К сожалению, «интернет вещей» не имеет единого стандарта и породил массу несовместимых между собой протоколов обмена данными, что иногда весьма затрудняет интеграцию устройств разных производителей в единую систему. Группа EmbedINN анонсировала свою разработку — плату универсального шлюза под названием IoTSDR.
IoTSDR сочетает универсальность с токчи зрения программирования и поддержку всех основных низкоскоростных радиостандартов обмена данными в IoT-сетях. Проект является полностью открытым и призван упростить независимым разработчикам создание IoT-устройств и сетей, в которых те функционируют.
В устройствах такого рода часто применяются ПЛИС, и IoTSDR не стал исключением: шлюз будет выпускаться в двух вариантах, с Xilinx Zynq-Z7010 или Zynq-Z7020 в качестве основного вычислительного модуля. FPGA серии Zynq-7000 содержат пару ядер ARM Cortex-A9 общего назначения и 256 Кбайт набортной памяти, но отличаются возможностью программируемой части: Z7010 может предложить разработчику 28 тысяч логических ячеек, 17,6 тысяч LUT, 80 блоков DSP и 2,1 Мбайт памяти. У Z7020 все эти параметры выше: ячеек 85 тысяч, LUT — 53,2 тысячи, блоков DSP целых 220, а объём памяти увеличен до 4,9 Мбайт.
На этом различия заканчиваются: оба варианта платы будет комплектоваться 512 Мбайт общей оперативной памяти DDR3, микросхемой флеш-памяти QSPI объёмом 128 Мбит для хранения прошивок и микросхемой SPI EEPROM Microchip AT24MAC602 — в ней будет храниться прошивка радиотрансиверов.
Самих трансиверов у IoTSDR два, оба используют чипы Microchip/Atmel AT86RF215. Благодаря наличию двух трансиверов поддерживается широчайший набор IoT-частот, принятых в различных регионах нашей планеты:
- Европейский диапазон: 863 ‒ 921 МГц (три поддиапазона);
- Североамериканский диапазон: 902 ‒ 928 МГц;
- Китайский диапазон: 470 ‒ 510 МГц и 779 ‒ 787 МГц;
- Японский диапазон: 920 ‒ 928 МГц;
- Корейский диапазон: 917 ‒ 923,5 МГц;
- Мировой стандартный диапазон 2,4G: 2400 ‒ 2483,5 МГц.
Дополнительно на плате имеется процессор навигационных данных Maxim MAX2769B, он поддерживает данные GPS, GLONASS, Galileo и Beidou — всех крупных спутниковых навигационных систем в мире. Имеется тактовый генератор для ресивера, сам ресивер GNSS подключается посредством разъёма SMA.
Со стороны «компьютерных» интерфейсов имеется порт Gigabit Ethernet (таким устройствам более высокие скорости вряд ли нужны), а также порты USB 2.0 High Speed (480 Мбит/с) и Full Speed (12 Мбит/с) — последний для совместимости с низкоскоростной экономичной USB-периферией.
Для связи с другими платами и устройствами предусмотрено два интерфейса GPIO (8 бит, 2,5 и 3,3 Вольта) и восьмибитный интерфейс GPIO (только 3,3 Вольта). Для отладки предусмотрен разъём JTAG. Плата IoTSDR компактна, её габариты составляют всего 101,6 × 76,2 мм.
Программная поддержка представлена фреймворками Xilinx PYNQ Python, Jupyter Notebooks и открытой платформой GNU Radio SDR. Компания планирует сопровождать свой продукт API на языке Python для реализации базовых ядер и типов модуляции (MR-FSK, MR-O-QPSK, and MR-OFDM). Также будет доступна программная реализация 6LoWPAN с поддержкой IPv6. Разработчики обещают полную открытость всего проекта, включая код ПЛИС HDL, все данные будут выложены в отдельном репозитории на GitHub.
Проект IoTSDR хорошо проработан и имеет ряд преимуществ над устройствами аналогичного класса: он либо обладает более широкой функциональностью, либо существенно дешевле. К примеру, Ettus Research USRP B210 SDR поддерживает любые частоты от 70 МГц до 6 ГГц, но в России его цена составляет свыше 117 тысяч рублей (1360 евро). IoT SDR оценен создателями в $399 за младшую версию и $599 за старшую; правда, речь идёт только о плате, без аксессуаров, вроде антенн и кабелей — их комплект обойдётся будущему заказчику ещё в $99. Заказы уже принимаются, первые поставки должны начаться в конце января 2021 года.