Система IoT Edge, разработанная на C++, представляет собой комплексное решение для уровня доступа в интернет вещей, обеспечивающее полный набор функций для сбора данных с устройств. Поддерживает многоплатформенную установку и состоит из двух основных подсистем — системы сбора данных и системы управления.
Система сбора данных предназначена для питания устройств, мониторинга состояния и сбора информации о ресурсах IT. Она поддерживает различные методы сбора данных, такие как RS-232, Wi-Fi, Bluetooth, USB и другие. Также она обеспечивает очистку, анализ, передачу и объединение данных.
Подсистема управления позволяет автоматически управлять состоянием устройств через регулярные задачи, планирование времени, циклическое выполнение, условные задачи и управление запуском и остановкой. Это достигается с помощью визуализированной панели управления.
Другие устройства связи, такие как LoRa, ZigBee, передатчики данных, временно используют промежуточное оборудование для подключения к промышленному оборудованию через сетевые соединения или последовательные порты.Цель проекта состоит в создании решения для управления уровнем доступа в Интернете вещей, которое будет адаптировано для большинства отраслей. Проект включает разработку, инжиниринг, продуктологию и многое другое. Он также собирает требования различных отраслей и внедряет их в проект в соответствии с планом развития. Если вы столкнулись с проблемами или хотите предложить новые идеи во время использования этого проекта, пожалуйста, используйте раздел "Обратная связь" в конце документа. Благодарим вас за это! ## Архитектура программного обеспечения
Описание архитектуры программного обеспечения
На данный момент система состоит из двух основных подсистем — системы сбора данных и системы управления, а также нескольких вспомогательных модулей для тестирования, продукт-дизайна и инженерии.
Программа сбора данных реализует сбор, консолидацию и нормализацию данных, а также возможность объединять данные между собой для более широкой консолидации данных.
Программа управления реализует очистку, анализ, отправку данных в облако и осуществляет локальное управление бизнес-процессами и логическими расчетами.
Программа записи данных реализует запись данных, временно поддерживающая базу данных SQLite.
Программа отправки уведомлений реализует отправку уведомлений через электронную почту, SMS и третьи платформы.
Для получения подробностей о программе сбора данных обратитесь к документации в директории gather-master, для программы управления — в директории monitor-master, для программы записи данных — в директории record-master, а для программы отправки уведомлений — в директории warningpush-master.### Примеры сценариев
Агропромышленность
(1) Первый уровень оборудования, такие как датчики температуры и влажности, качества воды, насосы, автоматизация кормления, вентиляторы, кондиционеры, электронные водяные клапаны, сетевые камеры и т.д.
(2) Второй уровень оборудования, такой как модули IO, последовательные серверы, контроллеры питания, промышленные контроллерские машины, маршрутизаторы и т.д.
(3) Общее решение для управления агропромышленностью, которое включает рыбное хозяйство, животноводство и птицеводство. Управление осуществляется на основе данных от датчиков, метеорологии и времени, что позволяет автоматизировать процессы управления водоснабжением, очисткой и кормлением.
Мультимедийные проекторы для залов заседаний, витрин, выставочных залов, кинотеатров и т.д.
(1) Первый уровень оборудования, такой как проекторы, проигрыватели, освещение, аудиосистемы, камеры и т.д.
(2) Второй уровень оборудования, такой как промышленные контроллерские машины, маршрутизаторы 4G/Wi-Fi, небольшие последовательные серверы, контроллеры питания и т.д.
(3) Одиночное решение для управления проекторами в залах заседаний, которое позволяет автоматически управлять проекторами на основе времени или команд пользователя, например, автоматическое отключение проектора и связанных источников питания по истечении времени работы.
Дополнительно...
Текущая система зависит от библиотек alc-master, libctb, lua, muparser, sqlite, mosquitto, iot_aliyun и других сторонних библиотек. В этом каталоге представлены некоторые скомпилированные библиотеки для различных платформ. Для большего количества платформ рекомендуется компилировать из исходного кода. Подробные требования к компиляции указаны в руководствах по сборке программы для сбора данных и программы для управления.
Компиляция программы для сбора данных указана в каталоге gather-master в документе Readme.md.
Компиляция программы для управления указана в каталоге monitor-master в документе Readme.md.
Компиляция программы для записи указана в каталоге record-master в документе Readme.md.
Компиляция программы для управления сервисами указана в каталоге sysmgr-master в документе Readme.md.
...Помощь тестового программного обеспечения находится в каталоге software_test
acl-master
acl_master — это кросс-платформенная библиотека C/C++, предоставляющая сетевые протоколы связи и серверный фреймворк, а также множество других полезных библиотек и примеров. Подробнее см. документацию.
Ссылка на проект: https://gitee.com/acl-dev/acl или https://github.com/acl-dev/acl
Блог по теме: https://www.it-eye.com/blog/user/zsxxsz* common
Набор общих кодов, используемых в различных проектах, включает набор универсальных функций и классов.
demo-project
Примеры проектов, демонстрирующих комплексное решение задач. Примеры могут взаимодействовать друг с другом; подробности см. в соответствующей документации и конфигурационных файлах.
gather-master
Каталог сборочных проектов.
iot_aliyun
Уже скомпилированный интерфейс для платформы IoT Alibaba Cloud, основанный на исходниках iotkit-embedded-2.3.0.zip.
libctb
Libctb — это библиотека C++ для работы с последовательными портами (serial/uart/gpib). Скачать можно здесь: https://www.iftools.com/download/index.en.php, поиск по слову "libctb", либо использовать версию из папки third_org/libctb.zip данного проекта.
lua
Уже скомпилированный интерфейс для вызова Lua-скриптов из C++. Исходники доступны здесь: http://www.lua.org/ftp/, либо использовать версию из папки third_org/lua.zip данного проекта. Также можно использовать уже скомпилированный вариант (Lua 5.3.0).
monitor-master
Каталог проектов управления.
mosquitto
Уже скомпилированный клиент MQTT, исходники доступны здесь: http://mosquitto.org/download/. В папке third_org находится архив исходников mosquitto-1.5.7.tar.gz.
muparser
Muparser — это библиотека для вычисления математических выражений, позволяющая быстро и просто анализировать и выполнять вычисления. В данном проекте используется для вычисления значений точек данных. Исходники организованы как cmake-проект, компиляция осуществляется через cmake.* record-master
Каталог проектов записи данных, получаемых от систем управления.
res
Ресурсы для дизайна и разработки проектов.
software_test
Программы для создания тестовых сред, включая проигрыватель и локальный мониторинговый терминал.
sqlite
Sqlite — это C-интерфейс для базы данных SQLite. Исходники организованы как cmake-проект, компиляция осуществляется через cmake.
svc_common
Общие модули для запуска приложений в фоновом режиме.
swLicense
Программа для генерации лицензий на основе информации о жестком диске или сетевой карте.
sysmgr-master
Управление сервисами, мониторинг состояния сборочных и распределительных служб, а также управление загрузкой и выгрузкой конфигурационных файлов
Версия v1.03
gathermgr
. Нижележащие сети собирают данные с помощью класса socket_gather
, который является наследником gchannel
. Удалены файлы socket_gather.h
и socket_gather.cpp
; их содержимое объединено в файл socket_gather.h
.servicechain.h
и servicechain.cpp
. Функциональность создания номеров задач перемещена в файл pfunc_time.h/cpp
.Business_def
, создавая новые классы HorizontalData
для реализации горизонтальной обработки данных и AppConfData
для управления параметрами выполнения программы. Класс Business_def
наследует два новых класса, а также корректируются некоторые бизнес-функции.5. Корректировка вывода печатиv1.06 версия
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )