|
@@ -1,4 +1,4 @@
|
|
|
-##### Карта памяти stm32
|
|
|
+#### <font color = "MediumSeaGreen">Карта памяти stm32</font>
|
|
|
**Sector 0: 0x0800 0000 - 0x0800 3FFF (16кБт)
|
|
|
Sector 1: 0x0800 4000 - 0x0800 7FFF (16кБт) - Основные настройки (SETTINGS)
|
|
|
Sector 2: 0x0800 8000 - 0x0800 BFFF (16кБт) - Системные настройки (SETTINGS_SYS)
|
|
@@ -16,7 +16,7 @@ Sector 11: 0x080E 0000 - 0x080F FFFF (128кБт)**
|
|
|
```
|
|
|
|
|
|
---
|
|
|
-##### Карта памяти artery
|
|
|
+#### <font color = "MediumSeaGreen">Карта памяти Artery</font>
|
|
|
0x0800 0000 - 0x0801 FFFF (128кБт) - **IAP**
|
|
|
0x0802 0000 - 0x0802 07FF (2кБт) - **Основные настройки (SETTINGS)**
|
|
|
0x0802 0800 - 0x0802 0FFF (2кБт) - **Системные настройки (SETTINGS_SYS)**
|
|
@@ -30,16 +30,19 @@ Sector 11: 0x080E 0000 - 0x080F FFFF (128кБт)**
|
|
|
#define SETTINGS_SECTOR 0x08020000
|
|
|
```
|
|
|
---
|
|
|
-### Периферия (Artery)
|
|
|
+## <font color = "MediumSeaGreen">Периферия Artery</font>
|
|
|
**Таймеры TIM**
|
|
|
TIM7 - используется для периодических измерений ADC
|
|
|
TIM13 - используется в IAP для внешнего watchdog
|
|
|
TIM6 - используется для подсчета uptime и ежусуточного watchdog
|
|
|
|
|
|
---
|
|
|
-##### Сборка web-интерфейса (fsdata.c)
|
|
|
+## <font color = "MediumSeaGreen">Сборка web-интерфейса (fsdata.c)</font>
|
|
|
- Для сборки должен быть установлен node.js (v16.x.x +), nmp, perl.
|
|
|
- В корневом каталоге web-интерфейса (metrolog_modem_web_ui) выполнить:
|
|
|
+```bash
|
|
|
+npm install
|
|
|
+```
|
|
|
Cборку web'a для основного FW:
|
|
|
```bash
|
|
|
npm run build:wui
|
|
@@ -48,59 +51,56 @@ npm run build:wui
|
|
|
```bash
|
|
|
npm run build:upload -- --iap=1.01
|
|
|
```
|
|
|
-- Собрать fsdata.c для FW:
|
|
|
+- Собрать fsdata.c для FW (из корня проекта):
|
|
|
```perl
|
|
|
perl tools\makefsdata.pl fw\modules\http_server\ metrolog_modem_web_ui\dist\wui\
|
|
|
```
|
|
|
-- Собрать fsdata.c для IAP:
|
|
|
+- Собрать fsdata.c для IAP (из корня проекта):
|
|
|
```perl
|
|
|
perl tools\makefsdata.pl iap\modules\ethernet\ metrolog_modem_web_ui\dist\upload\
|
|
|
```
|
|
|
---
|
|
|
-##### TODO
|
|
|
-- [x] работа с настройками
|
|
|
- - [x] внутренний модуль artery для работы с CRC
|
|
|
- - [x] отдельные сектора для системных и основных настроек
|
|
|
- - [x] системные настройки
|
|
|
- - [x] основные настройки
|
|
|
-- [x] Artery ID
|
|
|
-- [x] backup регистры
|
|
|
-- [x] RTC
|
|
|
-- [x] SNTP
|
|
|
-- [x] настроить кучу FreeRTOS. Разобраться с RAM artery
|
|
|
- - [x] IAP
|
|
|
- - [x] FW
|
|
|
-- [x] GSM - uart драйвер
|
|
|
-- [x] Кнопки
|
|
|
-- [x] LED
|
|
|
- - [x] Основное
|
|
|
- - [x] Некоторые функции из других модулей
|
|
|
-- [x] LwIP
|
|
|
-- [x] ethernet
|
|
|
-- [x] power manager
|
|
|
-- [x] определение ревизий (mboard_rev, dboard_rev)
|
|
|
-- [x] параметры parameters.c
|
|
|
-- [x] файл netconf
|
|
|
-- [x] web_params_api
|
|
|
-- [x] upload.c
|
|
|
-- [x] UDP анонсы
|
|
|
-- [x] uptime
|
|
|
-- [x] ping со стороны Метролога
|
|
|
-- [x] log
|
|
|
-- [x] http server
|
|
|
-- [x] Random generator
|
|
|
-- [x] monitor
|
|
|
-- [x] BUZZER
|
|
|
-- [x] digital inputs
|
|
|
-- [x] Static IP address
|
|
|
-- [x] Файловая система
|
|
|
----
|
|
|
-
|
|
|
+## <font color = "MediumSeaGreen">MQTT</font>
|
|
|
+* Для тестов можно запустить mosquitto-брокер в WSL или Linux:
|
|
|
+```bash
|
|
|
+$ sudo /etc/init.d/mosquitto start
|
|
|
+```
|
|
|
+* Подписка на все топики:
|
|
|
+```bash
|
|
|
+$ sudo mosquitto_sub -t '#' -v
|
|
|
+```
|
|
|
+##### <font color = "#1D8571">Логика работы</font>
|
|
|
+* После подключения к брокеру контроллер подписывается на топик "/metrolog_server/serial number/command". В этот топик могут приходить следующие команды:
|
|
|
+```json
|
|
|
+{ "cmd": "UPDATE" } - контроллер отправляет данные в топик /metrolog/[Серийный номер]/sensors
|
|
|
+{ "cmd": "INFO" } - прислать все значения /metrolog/[Серийный номер]/info
|
|
|
+{ "cmd": "SETTINGS" } - прислать все значения /metrolog/[Серийный номер]/settings
|
|
|
+```
|
|
|
+* Отправка сообщений происходит в функции:
|
|
|
+```c
|
|
|
+void mqtt_publish_topic(void)
|
|
|
+```
|
|
|
|
|
|
----
|
|
|
+Топики:
|
|
|
+/metrolog/serial number/
|
|
|
+/metrolog/serial number/status
|
|
|
+/metrolog_server/serial number/command - топик основных команд модема
|
|
|
|
|
|
|
|
|
---
|
|
|
+#### <font color = "MediumSeaGreen">Изменения в AT и STM32</font>
|
|
|
+- [x] Навести порядок в репо stm32
|
|
|
+- [x] Перенести суточный watchdog на аппаратный таймер stm32.
|
|
|
+- [x] Вывод логотипа на странице логина stm32
|
|
|
+- [ ] Разобраться с зарядником в main.c.
|
|
|
+- [x] Новые параметры GSM в web-интерфейс.
|
|
|
+- [ ] Новые параметры GSM в mqtt.
|
|
|
+- [x] Изменить настройки по умолчанию stm32.
|
|
|
+- [x] Вывод серийника на странице модема. stm32.
|
|
|
+- [ ] Проверить обновление
|
|
|
+- [x] Единая логика MQTT stm32 и artery
|
|
|
+- [ ] Фикс сохранения настроек в stm32
|
|
|
+---
|
|
|
|
|
|
|
|
|
|