20 ноября 2019

Разработка IoT-шлюза на базе Raspberry CM3+

Разработка под LinuxРазработка на Raspberry PiКомпьютерное железоИнтернет вещейDIY или Сделай сам
image
Рисунок 1 — Плата устройства

Большой опыт работы в сфере промышленной автоматизации и АСУТП, казалось бы, должен способствовать тому, что со временем уже много всего видел и много всего знаешь. Но не тут-то было. Оказывается, иногда могут возникать задачи и проекты, которые трудно реализовать стандартными средствами. Так под один крупный проект по мониторингу и управлению в «облаке» одного небезызвестного завода N требовалось найти подходящее железо. Однако оказалось, что в России по требованиям помехозащищенности устройства и открытости системы ничего подходящего не существует. Попытка заказать идеально подходящее нам устройство из-за рубежа провалилась, поскольку на территорию нашей страны оборудование с пометкой «IoT» весьма трудно ввести в промышленных масштабах. Другие же поставщики не устроили сроками доставки в 12 недель при небольших объемах и ценой. Поэтому в голове родилась и плотно осела мысль о создании своего устройства. Причем такого, чтобы оно было универсальным и подходило не только конкретно под этот один проект, а под множество других. В итоге от момента зарождения идеи, подбора поставщиков и корпуса, разработки платы, её отладки и тестирования, написания инструкций и технической документации прошло весьма много времени. Но зато теперь я держу с легким трепетом в руках полностью законченное и рабочее устройство, и могу заявлять, что мы это сделали!

Почему именно Raspberry?


Raspberry Pi – это небольшой и дешевый универсальный микрокомпьютер, гибко настраиваемый под любые задачи. С 2014 года он выпускается как самостоятельный вычислительный модуль Compute Module, то есть из привычной платы с различными интерфейсами и разъемами осталось только самое важное: процессор, ПЗУ и ОЗУ. Такое исполнение позволяет использовать это устройство для любых мыслимых и немыслимых задач, все лишь упирается в возможности фантазии для создания обвязки вокруг модуля. Стоит также заметить, что с момента выхода в свет первой версии устройства вышло уже три версии модулей, а после выхода Raspberry Pi 4, вероятно, стоит ожидать еще и четвертую версию в скором времени. Всё это говорит о том, что разработчики активно развивают свой продукт, увеличивают его мощность и быстродействие, и что их устройство пользуется определенной популярностью у людей. Эта популярность не беспочвенна: за всё это время они зарекомендовали себя как надежные устройства, способные решать задачи различного уровня в любых условиях, даже в космосе. Также программировать на Raspberry Pi условно просто, они обладают большим количеством интеграторов по всему миру.

Открытая операционная система Linux позволяет устанавливать на устройство абсолютно любое программное обеспечение в зависимости от требуемой задачи. Например для решений в области умного дома возможны стыковки с OpenHab, Home Assistant, iRidiumMobile, NodeRed и др (пример использования устройства для умного дома можно прочесть тут). Для промышленности возможна установка SCADA-систем, таких как CODESYS, Rapid SCADA, OpenSCADA с возможностью использовать устройство как шлюз для передачи данных на верхний уровень по протоколам MQTT, http, REST API или CoAP. Также возможна интеграция с различными облачными сервисами.

Что по интерфейсам?


image
Рисунок 2 — Вид платы сверху и снизу

Устройство в минимальном исполнение поддерживает следующие интерфейсы:

  • RS485 х 2;
  • RS232 х 1;
  • CanBus х 1;
  • 1-Wire х 1;
  • USB х 1;
  • Ethernet х 1;
  • SMA x 2;
  • SIM х 1;
  • miniPCIe х 2;
  • HDMI 4k х 1;
  • MicroUSB х 1;
  • MicroSD х 1;
  • GPIO х 1.
  • LED х 1 (программируемый);

Вышеописанные интерфейсы позволяют внедрить устройство практический в любой проект. А дополнительные аппаратные модули для установки в слоты Mini PCI-e от сторонних производителей решают проблему с наличием связи и интернета у устройства. Такой путь с установкой модулей связи нами был выбран не случайно, поскольку наличие USB-адаптеров (так называемых «свистков») является не очень надежным и качественным вариантом, а установка промышленных роутеров по типу Robustel R2000-3P является дорогостоящим (около 12 т.р.). Поэтому мы остановились на установке двух разъемов под модули Mini PCI-e, которые можно использовать по собственному желанию:

  • 3G, LTE, GPRS модуль (HUAWEI MU709s-2, цена: 2,5 т.р.);
  • Wi-Fi модуль с возможностью подключения к нему направленной антенны;
  • NB-IoT модуль;
  • LoraWan модуль для построения сети «интернет вещей».

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

Дополнительные решения


  • Аппаратный watchdog;
  • Аппаратные часы реального времени;
  • Энергонезависимая память EEPROM;
  • Металлический корпус и крышки (алюминий 3 мм);
  • Диапазон питания 9-36 В;
  • Температурный диапазон -25...+80°C (по документам, тесты еще не проводились).

image
Рисунок 3 — Устройство AntexGate в корпусе

Хочется получить обратную связь от специалистов. И, возможно, услышать какие-либо советы или пожелания.
Теги:raspberry piraspberryraspbianraspberry pi 3iotinternet of thingsopenhabhomeassistantiridiumiridium mobilenode-redscadascada разработка программированиеcodesyssmart homeумный домумный городумный автомобильинтернет вещейасу тпасутпlinuxmqttrs485rs232can шинаcanbus1-wireразработкаdiydiy или сделай самdiy умный домоблачные сервисыоблачные технологиипромышленная автоматизацияпромышленный интернет вещей
Хабы: Разработка под Linux Разработка на Raspberry Pi Компьютерное железо Интернет вещей DIY или Сделай сам
+4
8,7k 51
Комментарии 53
Похожие публикации
Лучшие публикации за сутки

Партнерские материалы

Разместить