ble version

This commit is contained in:
2026-10-16 07:19:06 +03:00
parent 32abb8bf0a
commit f74d52d39d
65 changed files with 3835 additions and 143 deletions
+10 -3
View File
@@ -15,6 +15,9 @@ companion Flask web configurator. Both share a single JSON config file.
layout/background/feedback/password, Ethernet configuration and update info
- Web configurator (Flask blueprints + tabbed UI + SortableJS): same operations
remotely, plus icon upload, Ethernet configuration and OTA updates
- Main-screen tabs: buttons panel / BLE sensors table (MAC, battery, reading, RSSI)
- BLE GATT collector (`collector/`, bless + BlueZ): accepts sensor reports, 4-slot
registry, advertising mirror; status shared via `/opt/buttontask/run/`
- Ethernet configuration via NetworkManager (`nmcli`) from the web UI
- OTA software update with automatic rollback on a failed launch (health-check)
- Hot reload: app picks up config changes via `QFileSystemWatcher`
@@ -26,8 +29,9 @@ ButtonTask/
CMakeLists.txt Qt5 build
main.cpp
src/ C++ sources (ConfigManager, ButtonsModel, ButtonController,
SettingsContainer, SystemInfo)
qml/ Main.qml, BackgroundLayer.qml, ButtonDelegate.qml, SettingsDialog.qml
SettingsContainer, SystemInfo, SensorsBridge)
collector/ BLE GATT collector (bless/BlueZ peripheral, N=4 slots)
qml/ Main.qml, SensorsPage.qml, BackgroundLayer.qml, ButtonDelegate.qml, SettingsDialog.qml
components/ BackHeader.qml, LabeledSlider.qml
settings/ MainPage / ButtonsPage / LayoutPage / BackgroundPage /
FeedbackPage / NetworkInfoPage / UpdatePage / ButtonEditorDialog
@@ -135,8 +139,11 @@ sudo systemctl stop display-manager
sudo cp webconfig/buttontask.service /etc/systemd/system/
sudo cp webconfig/buttontask-web.service /etc/systemd/system/
sudo cp webconfig/buttontask-collector.service /etc/systemd/system/
# BLE collector needs BlueZ + bless (see collector/requirements.txt / wheels/)
sudo usermod -aG bluetooth buttontask
sudo systemctl daemon-reload
sudo systemctl enable --now buttontask buttontask-web
sudo systemctl enable --now bluetooth buttontask buttontask-web buttontask-collector
# verify sudoers (should succeed without a password prompt)
sudo -u buttontask sudo -n /opt/buttontask/scripts/bt-netconfig eth0 dhcp