|
Метка: новое перенаправление |
(не показано 8 промежуточных версий 2 участников) |
Строка 1: |
Строка 1: |
| {{DISPLAYTITLE: Архитектура ПО контроллера Wirenboard}}
| | #REDIRECT [[Wiren_Board_Software]] |
| Основой внутреннего программного обеспечения контроллера является операционная система система Debian Linux (в версии Wirenboard 6 установлен Debian Linux 9 Stretch). Она выполняет основные функции конфигурирования, контроля и управления аппаратным обеспечением контроллера, а также специализированным программным обеспечением. Специализированное ПО дополняет операционную систему и осуществляет взаимодействие с периферийными устройствами (модулями контроллера), внутреннюю диагностику работы, дает возможность написания пользовательских сценариев (правил управления) и другие важные функции, не входящие спектр задач операционной системы.
| |
| | |
| | |
| | |
| Специализированное ПО в основном представляет список сервисов (служб, драйверов), выполняющих в фоновом режиме отдельную задачу управления, диагностики или контроля. Имена собственных сервисов контроллера Wirenboard обычно имеют префикс "wb-". Каждый сервис выполняет отдельную задачу. Если функции, которые обеспечивает сервис не используются, то сервис можно временно остановить или даже отключить совсем для освобождение ресурса процессора контроллера.
| |
| | |
| Список всех запущенных сервисов и статус их работы можно посмотреть с помощью команды
| |
| <pre>systemctl list-units --type=service</pre>
| |
| Перечень основных сервисов контроллера Wirenboard приведен в таблице ниже.
| |
| | |
| Основная концепция работы контроллера - обмен информацией по протоколу [[MQTT | MQTT ]] через брокер (сервис) Mosquitto. Драйверы получают данные с устройств и публикуют их в виде MQTT-топиков в определенном формате. Другие службы читают эти данные и производят дальнейшие действия с ними: выводят в веб-интерфейс, запускают правила и т.д. Схематично взаимодействие сервисом можно представить в виде следующей схемы:
| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| == Список сервисов контроллера Wirenboard и их назначение==
| |
|
| |
| | |
| {| border="1" class="wikitable" style="text-align:left"
| |
| |-
| |
| || '''Имя сервиса''' || '''Описание'''
| |
| |-
| |
| || avahi-daemon.service || Avahi mDNS/DNS-SD Stack
| |
| |-
| |
| || bluetooth.service || Bluetooth service
| |
| |-
| |
| || cgmanager.service || Cgroup management daemon
| |
| |-
| |
| || cron.service || Regular background program processing daemon
| |
| |-
| |
| || dbus.service || D-Bus System Message Bus
| |
| |-
| |
| || dnsmasq.service || dnsmasq - A lightweight DHCP and caching DNS server
| |
| |-
| |
| || getty@tty1.service || Getty on tty1
| |
| |-
| |
| || hostapd.service || LSB: Advanced IEEE 802.11 management daemon
| |
| |-
| |
| || kmod-static-nodes.service || Create list of required static device nodes for the current kernel
| |
| |-
| |
| || knxd.service || KNX Daemon
| |
| |-
| |
| || mosquitto.service || Mosquitto MQTT v3.1/v3.1.1 Broker
| |
| |-
| |
| || netplug.service || LSB: Brings up/down network automatically
| |
| |-
| |
| || networking.service || Raise network interfaces
| |
| |-
| |
| || nginx.service || A high performance web server and a reverse proxy server
| |
| |-
| |
| || ntp.service || LSB: Start NTP daemon
| |
| |-
| |
| || rsyslog.service || System Logging Service
| |
| |-
| |
| || serial-getty@ttymxc0.service || Serial Getty on ttymxc0
| |
| |-
| |
| || ssh.service || OpenBSD Secure Shell server
| |
| |-
| |
| || systemd-fsck-root.service || File System Check on Root Device
| |
| |-
| |
| || systemd-fsck@dev-mmcblk0p6.service || File System Check on /dev/mmcblk0p6
| |
| |-
| |
| || systemd-journal-flush.service || Flush Journal to Persistent Storage
| |
| |-
| |
| || systemd-journald.service || Journal Service
| |
| |-
| |
| || systemd-logind.service || Login Service
| |
| |-
| |
| || systemd-modules-load.service || Load Kernel Modules
| |
| |-
| |
| || systemd-random-seed.service || Load/Save Random Seed
| |
| |-
| |
| || systemd-modules-load.service || Load Kernel Modules
| |
| |-
| |
| || systemd-random-seed.service || Load/Save Random Seed
| |
| |-
| |
| || systemd-remount-fs.service || Remount Root and Kernel File Systems
| |
| |-
| |
| || systemd-sysctl.service || Apply Kernel Variables
| |
| |-
| |
| || systemd-tmpfiles-setup-dev.service || Create Static Device Nodes in /dev
| |
| |-
| |
| || systemd-tmpfiles-setup.service || Create Volatile Files and Directories
| |
| |-
| |
| || systemd-udev-trigger.service || udev Coldplug all Devices
| |
| |-
| |
| || systemd-udevd.service || udev Kernel Device Manager
| |
| |-
| |
| || systemd-update-utmp.service || Update UTMP about System Boot/Shutdown
| |
| |-
| |
| || systemd-user-sessions.service || Permit User Sessions
| |
| |-
| |
| || user@0.service || User Manager for UID 0
| |
| |-
| |
| || watchdog.service || watchdog daemon
| |
| |-
| |
| || wb-configs-early.service || prepare mounts and symlinks to config files
| |
| |-
| |
| || wb-configs.service || watch config files
| |
| |-
| |
| || wb-gsm-rtc.service || LSB: initscript to use GSM modem integrated RTC
| |
| |-
| |
| || wb-homa-ism-radio.service || LSB: MQTT driver for WB HomA for RFM69 ISM radio
| |
| |-
| |
| || wb-hwconf-manager.service || LSB: Hardware configuration with Device Tree overlays
| |
| |-
| |
| || wb-init.service || LSB: board-specific initscript
| |
| |-
| |
| || wb-mqtt-adc.service || MQTT Driver for ADC
| |
| |-
| |
| || wb-mqtt-confed.service || LSB: Configuration Editor Backend
| |
| |-
| |
| || wb-mqtt-db.service || Wiren Board database logger
| |
| |-
| |
| || wb-mqtt-gpio.service || MQTT Driver for GPIO-controlled switches
| |
| |-
| |
| || wb-mqtt-knx.service || LSB: : Wiren Board MQTT KNX bridge
| |
| |-
| |
| || wb-mqtt-logs.service || Wiren Board journald to MQTT gateway
| |
| |-
| |
| || wb-mqtt-mbgate.service || Wiren Board MQTT to Modbus TCP gateway
| |
| |-
| |
| || wb-mqtt-opcua.service || Wiren Board MQTT to OPC UA gateway
| |
| |-
| |
| || wb-mqtt-serial.service || MQTT Driver for serial devices
| |
| |-
| |
| || wb-mqtt-w1.service || Kernel 1-Wire MQTT driver for WB-HomA
| |
| |-
| |
| || wb-prepare.service || initialize filesystems at first boot
| |
| |-
| |
| || wb-repart.service || prepare partitions at first boot
| |
| |-
| |
| || wb-rules.service || MQTT Rule engine for Wiren Board
| |
| |-
| |
| || wb-systime-adjust.service || Compensation of systime in PPM from value, stored in device-tree (with opposite sign)
| |
| |-
| |
| || wb-watch-update.service || LSB: Firmware update monitor
| |
| |}
| |