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

    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 в корпусе

    Хочется получить обратную связь от специалистов. И, возможно, услышать какие-либо советы или пожелания.
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 53

      +2
      Из текста непонятно имеют ли интерфейсы RS232, RS485 и CAN гальваническую изоляцию?
        0
        Предусмотрены платы с гальванической развязкой и без нее, т.к. не во всех применениях требуется гальваническая развязка, она влияет на конечную стоимость изделия.
          0
          И, в любом случае, желательно предусмотреть для дифференциальных интерфейсов (RS485 и CAN) 3 провода (+ «общий») вместо 2. Что-бы свести к минимуму вероятность проблем от выхода приёмников за допустимый диапазон синфазного сигнала.
            0
            Спасибо
        0
        Предусмотрена ли какая то защита по питанию?
          0
          Предусмотрена защита от переполюсовки, защита от помех и от кратковременных скачков.
            0
            Какой преобразователь напряжения используется для превращения 9-36 в рабочее напряжение на плате? Какое оно?
              0
              Судя по виду, это какая-то из LMZ, после которой еще стоят LDO.
                0
                LM2596S-5.0
            0
            Попытки использования Raspberry Pi в проекте «умного дома» закончились неудачей. Обнаружилось, что ни одна из подопытных флешек не прожила и года. Использовались самые разные флешки, разброс был как по параметрам, так и по производителям. Использовались так же «рекомендованные» для Raspberry флешки. Отказ происходил абсолютно рандомно, каких то условий способствующих этому, замечено не было. Надеюсь, Ваш проект это обойдет стороной.
              +1
              Мы слышали про проблемы с SD картами при использовании raspberry pi.
              Но к нам эти проблемы не имеют отношения, т.к. в нашем устройстве используется raspberry cm3+ с впаянной на борту памятью eMMC.
                0
                Помогает перевод карты памяти в режим только чтение.
                  0
                  О каких типах флешек идёт речь? Что сними нет было?
                    0
                    3й год уже. Полет нормальный.
                    сначала дохли SDшки где-то раз в полгода. стабильно. т.к. постоянно пишутся данные в базу.
                    решилось — переходом на usb флешку. а потом и на usb-ssd.
                    +3
                    Нет ни слова про разработку, скинули бы хотя бы принципиальную схему, так получается совсем не о чём. Зато тонна тегов.
                      0
                      Тоже сейчас процессорный модуль выбираю.
                      Температурный диапазон -25...+80°C (по документам, тесты еще не проводились).

                      Это по документам на что?
                        0
                        На Raspberry cm3+, а именно eMMC, вся остальная элементная база industrial -40...+80
                          0
                          меня смущает формулировка в разделе Temperature range на этот модуль.
                        0
                        На соответствие каким стандартам или параметрам будет тестироваться устройство?
                          0
                          Хотим начать с этих: электромагнитная совместимость, виброустойчивость и температурный диапазон.
                            0
                            Вы на какие то параметры ориентируетесь или запишите в описание то, что получится?
                              0

                              Постараемся на максимально возможные, которые выдержит устройство. Скорее всего закончится как минимум выходом нескольких устройств из строя.

                                0
                                Постараемся на максимально возможные, которые выдержит устройство

                                Не очень хорошая практика. Некоторые вещи не возможно исправить на текущей плате. Может потребовать глубокая переработка функционального узла.
                                  0
                                  Не очень хорошая практика. Некоторые вещи не возможно исправить на текущей плате.

                                  В случае необходимости Мы готовы переработать плату.
                            –1
                            Тест 1: переезд автомобилем citroen c4
                              0

                              А промконтроллер каждый так может? Нет? А как мне его использовать в промышленности, вдруг кто-то на него наедет или метеорит?
                              Это конечно чтобы Вас немного повеселить после трудной недели! Все официальные тесты постараемся тоже отснять и написать подробную статью.

                            +2
                            Хочется получить обратную связь от специалистов. И, возможно, услышать какие-либо советы или пожелания.
                            М… выкинуть малину и купить от кого угодно (адвантек, контрон, фитек) нормальный пром. модуль формата SMARC с гарантированным сроком жизни? И уже его интегрировать к себе. На любом проце (Tegra, iMX6,7,8, AM35 и прочие). Да, там не будет супер-пупер «сообщества», зато и полностью проприетарных бинарей можно почти избежать.

                            И еще. По вашей картинке сложно о чем-либо судить, но на вскидку:
                            1. Это ведь HDMI со стороны малины? А от статики вы его защитили? (я не читал доку на «пром.» малину, может у ней внутре уже оно есть? Что-нибудь типа TPD12S016).
                            2. Экраны всех разъемов USB, GbE и HDMI сидят на общей земле без развязки?
                            3. Судя по отверстиям в плате (на глаз могу и ошибаться), про паяемые или прессуемые втулки вы не слышали?
                            4. По танталам рядом с разъемом питания не похоже, что стоит какая-то защита. Она с обратной стороны?
                            5. Танталы по входу взяты с полуторакратным запасом?
                              0
                              там не будет супер-пупер «сообщества»
                              На это основная ставка.
                              1. HDMI защищен от статики.
                              2. На общей земле только USB.
                              3. Под 2мм в России стойки паяемые или прессуемые невозможно найти за разумные деньги.
                              4. На обратной стороне основная часть защиты по питанию.
                              5. Танталы с запасом.
                            +1
                            Добрый день!
                            Интересно узнать, какова стоимость изделия для конечного пользователя (интегратора)?
                              –1
                              ответил в лс
                                0
                                Спасибо!
                              0
                              Может не заметил, но на мой взгляд (по опыту работы с RPI), в устройстве не хватает кнопки включения/выключения питания.
                              Также возможно пригодится кнопка сброса на заводские установки (или же хотя бы на IP адрес по умолчанию)
                                0
                                не хватает кнопки включения/выключения питания
                                Была эта идея, но для отладки можно и по входу обесточить (если нужно часто, повесить выключатель на провод), а в эксплуатации выключать не имеет смысла особенно если правильно настроить watch dog.
                                Также возможно пригодится кнопка сброса на заводские установки (или же хотя бы на IP адрес по умолчанию)
                                Если поломали что-то и не можете достучаться до IP, то есть 3 метода запасных: через HDMI, RS232 console, залить заново OS через debug micro usb.
                                  0
                                  Была эта идея, но для отладки можно и по входу обесточить (если нужно часто, повесить выключатель на провод), а в эксплуатации выключать не имеет смысла особенно если правильно настроить watch dog.

                                  Конечно это ваше дело, вот только вопрос где оно будет использоваться и кто его будет эксплуатировать. Одно дело если устройство размещается в серверной, обслуживанием занимается квалифицированный персонал, физический доступ ограничен. Даже на промышленных (технологических) объектах не везде такие условия.
                                  Совсем другое, если в качестве системы домашней автоматизации. Особенно если установкой и настройкой занимается системный интегратор, а не сам пользователь.
                                0
                                Большой опыт работы в сфере промышленной автоматизации и АСУТП
                                рекомендует использовать Raspberry в производстве 365*24?
                                  –1
                                  Почему бы и нет. В наших проектах и по 5 лет обычные RPI продолжают работать в различных условиях 365*24, я Вам скажу не каждый контроллер может таким результатом похвастаться. Вот для сравнения промконтроллеры выпускают максимум тысячами, a Raspberry миллионами в год, давайте теперь подумаем у кого более отлаженное производство? Ставьте "+" к комментарию у кого работает Raspberry в любом его исполнении 365*24, или "-" у кого такую работу он не выдержал!
                                    0
                                    Пожалуйста ставьте голос и описывайте Ваш опыт, прошу людей у кого флешка сгорела не голосовать!
                                      0
                                      Raspberry в любом его исполнении 365*24

                                      А такое бывает?
                                        0

                                        Кто сказал что круглосуточная работа самое страшное для железа? Самое интересное что обычные raspberry pi 2/3 катаются у людей в машине по разным причинам, а зимой это железо запускается из минусовых температур, а это гораздо страшнее чем просто круглосуточно работать даже на морозе!
                                        https://m.habr.com/ru/post/442184/comments/
                                        А вот про тесты температур
                                        https://m.habr.com/ru/post/318486/
                                        Из статьи понятно что температурный диапазон широкий, а только sd карты иногда поводили, будем тестировать своё устройство с eMMC и думаю этих проблем не будет

                                          0
                                          Да самое страшное ежедневное термоциклирование и достаточно разницы в 15 — 20 °С для прижимных контактов(вспоминаем дятлов).
                                        0
                                        Голос не ставил, но скажу.
                                        29 февраля 2016 года выпустили RPi3, а всего полтора года спустя выпустили патч, который решал проблему с внезапным и непредсказуемым отвалом ethernet.
                                        Сам с таким сталкивался. Ethernet мог отвалиться спонтанно — через три дня или через два месяца. Даже если не использовать wifi.
                                        В статье написано про «открытость системы», а исходники от VideoCore уже выложили? ЕМНИП, именно оно отвечает за первичную инициализацию SOC. Ставить такое для автоматизации предприятия?
                                        Полно фирм и фирмочек, которые выпускают свои SoM на TI и NXP, и под них есть все исходники вместе с прекрасной техподдержкой и документацией.
                                          0

                                          Мы не искали легких путей. На imx гораздо проще было собрать устройство, но тут вопрос в хорошем сообществе. Ох сколько было проблем подобных описанной выше и с «промконтроллерами»: Rs485 отваливались просто так, слетала программа из-за температуры в 60°С, просто зависали и помогала только прошивка, выгорали порты в тепличных условиях, проммодемы это отдельная история! Эти все примеры из разного ценового сегмента, а исправлять вообще пытаются.

                                            0
                                            Мы не искали легких путей.

                                            Мыши плакали, кололись,…
                                            На imx гораздо проще было собрать устройство, но тут вопрос в хорошем сообществе.

                                            Это сообщество в большей мере состоит из вопросов, что задали бы пользователи windows при переходе на linux.
                                            Ох сколько было проблем подобных описанной выше и с «промконтроллерами»

                                            Поэтому мы решили сделать свой «промконтроллер» с блекджеком и шлюхами watchdog и hdmi.
                                            И уж точно, всех описанных выше проблем в них нет.
                                      +1
                                      Вижу mPCI -откуда он? как разведен? есть схема?
                                        0
                                        Распиновка mPCI разъема предусматривает помимо интерфейса PCI-e другие шины. У нас USB и SPI для модемов, Lora модулей подходит. Надеемся, что выпустят Raspberry CM4, там будет полноценный PCI-e.
                                          0
                                          Вот я и удивился поэтому )) надо тоже запостить свои девлог… как соберусь.
                                            0
                                            Какой версии спецификации mPCI-E соответствует интерфейс, реализованный на Вашей плате?
                                              0
                                              ru.wikipedia.org/wiki/PCI_Express#Mini_PCI-E
                                              Да собственно стандартной, на всех mPCI-e есть USB даже в ноутбуке, через него bluetoth работает на картах wifi+bluetoth
                                                0
                                                USB2.0 и USB3.0 имеется. SMBus имеется. SPI не встречал. Кроме того в стандарте описаны требования по питанию модулей.
                                                Как Вы заводите тактовые сигналы на разъёмы mPCI-E?
                                          0
                                          Там usb2.0 питание 3.3, PCI шина не используется.
                                            0
                                            Какова цена? SSD можно воткнуть?
                                              0

                                              SSD нельзя, на борту встроенный eMMC до 32гб

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

                                            Самое читаемое