M3 artery.md 4.6 KB

Карта памяти stm32

Sector 0: 0x0800 0000 - 0x0800 3FFF (16кБт) Sector 1: 0x0800 4000 - 0x0800 7FFF (16кБт) - Основные настройки (SETTINGS) Sector 2: 0x0800 8000 - 0x0800 BFFF (16кБт) - Системные настройки (SETTINGS_SYS) Sector 3: 0x0800 C000 - 0x0800 FFFF (16кБт) Sector 4: 0x0801 8000 - 0x0801 FFFF (64кБт) Sector 5: 0x0802 0000 - 0x0803 FFFF (128кБт) Sector 6: 0x0804 0000 - 0x0805 FFFF (128кБт) ............................................ Sector 11: 0x080E 0000 - 0x080F FFFF (128кБт)

// Адреса структур настроек

#define SYS_SECTOR         		        0x08008000
#define SYS_CRC_ADDRESS                 0x0800BF9C

Карта памяти Artery

0x0800 0000 - 0x0801 FFFF (128кБт) - IAP 0x0802 0000 - 0x0802 07FF (2кБт) - Основные настройки (SETTINGS) 0x0802 0800 - 0x0802 0FFF (2кБт) - Системные настройки (SETTINGS_SYS) 0x0802 1000 - 0x0809 FFFF (640кБт) - FW Итого: 772 кБт - занято

// Адреса структур настроек

#define SYS_SECTOR         		        0x08020800
#define SYS_CRC_ADDRESS                 0x08020FFC
#define SETTINGS_SECTOR                 0x08020000

Периферия Artery

Таймеры TIM TIM7 - используется для периодических измерений ADC TIM13 - используется в IAP для внешнего watchdog TIM6 - используется для подсчета uptime и ежусуточного watchdog


Сборка web-интерфейса (fsdata.c)

  • Для сборки должен быть установлен node.js (v16.x.x +), nmp, perl.
  • В корневом каталоге web-интерфейса (metrolog_modem_web_ui) выполнить:

    npm install
    

    Cборку web'a для основного FW:

    npm run build:wui
    

    Сборку web'a для IAP, указав версию IAP для отображения в web-интерфейсе:

    npm run build:upload -- --iap=1.01
    
  • Собрать fsdata.c для FW (из корня проекта):

    perl tools\makefsdata.pl fw\modules\http_server\ metrolog_modem_web_ui\dist\wui\
    
  • Собрать fsdata.c для IAP (из корня проекта):

    perl tools\makefsdata.pl iap\modules\ethernet\ metrolog_modem_web_ui\dist\upload\
    

    MQTT

  • Для тестов можно запустить mosquitto-брокер в WSL или Linux:

    $ sudo /etc/init.d/mosquitto start
    
  • Подписка на все топики:

    $ sudo mosquitto_sub -t '#' -v
    
    Логика работы
  • После подключения к брокеру контроллер подписывается на топик "/metrolog_server/serial number/command". В этот топик могут приходить следующие команды:

    { "cmd": "UPDATE" } - контроллер отправляет данные в топик /metrolog/[Серийный номер]/sensors
    { "cmd": "INFO" } - прислать все значения /metrolog/[Серийный номер]/info
    { "cmd": "SETTINGS" } - прислать все значения /metrolog/[Серийный номер]/settings
    
  • Отправка сообщений происходит в функции:

    void mqtt_publish_topic(void)
    

Топики: /metrolog/serial number/ /metrolog/serial number/status /metrolog_server/serial number/command - топик основных команд модема


Изменения в AT и STM32

  • Навести порядок в репо stm32
  • Перенести суточный watchdog на аппаратный таймер stm32.
  • Вывод логотипа на странице логина stm32
  • Разобраться с зарядником в main.c.
  • Новые параметры GSM в web-интерфейс.
  • Новые параметры GSM в mqtt.
  • Изменить настройки по умолчанию stm32.
  • Вывод серийника на странице модема. stm32.
  • Проверить обновление
  • Единая логика MQTT stm32 и artery
  • Фикс сохранения настроек в stm32 ---