Release of the first version 1.0
This commit is contained in:
parent
7c15dcf891
commit
946b9e674b
18 changed files with 6290 additions and 6280 deletions
32
README.md
32
README.md
|
|
@ -1,44 +1,38 @@
|
|||
# BTHome THB2, BTH01, TH-05
|
||||
Custom firmware for Tuya [THB2](https://pvvx.github.io/THB2), [BTH01](https://pvvx.github.io/BTH01/), [TH-05](https://pvvx.github.io/TH-05).
|
||||
|
||||
* Проект в начальной стадии разработки, до появления функционального OTA.
|
||||
|
||||
* Тестовый [PHY62x2BTHome.html](https://pvvx.github.io/THB2/web/PHY62x2BTHome.html)
|
||||
|
||||
Прошивка для THB2 (файл bin\BOOT_THB2_v0x.hex).
|
||||
Прошивка Boot-OTA для THB2 (файл bin\BOOT_THB2_v1x.hex).
|
||||
|
||||
Прошивка для BTH01 (файл bin\BOOT_BTH01_v0x.hex).
|
||||
Прошивка Boot-OTA для BTH01 (файл bin\BOOT_BTH01_v1x.hex).
|
||||
|
||||
Прошивка для TH05 (файл bin\BOOT_TH05_v0x.hex).
|
||||
|
||||
Весрии 0.x - это прошивки для тестов.
|
||||
|
||||
Пока номер прошивки не 1.х или выше, это тестовые прошивки и многие вещи в них не работают или не доделаны.
|
||||
|
||||
Нормальное ОТА будет от версии 1.0.
|
||||
|
||||
Если прошитая версия работает, то менять ее нет необходимости до выхода v1.0.
|
||||
Только к ней будут правильно работать настройки и OTA в [PHY62x2BTHome.html](https://pvvx.github.io/THB2/web/PHY62x2BTHome.html).
|
||||
Прошивка Boot-OTA для TH05 (файл bin\BOOT_TH05_v1x.hex).
|
||||
|
||||
## Основные характеристики:
|
||||
|
||||
! При настройках по умолчанию !
|
||||
|
||||
* Интервал BLE рекламы в формате BTHome v2 равен 5 секундам.
|
||||
* Опрос датчика влажности и температуры производится каждый второй интервал BLE рекламы - период 10 секунд.
|
||||
* Измерение напряжения батареи производится каждую минуту.
|
||||
* Кнопка используется для быстрого подключения к старым BT-адаптерам. Нажатие кнопки переключает интервал BLE рекламы на более короткий период. Действие продолжится 60 секунд, затем интервал восстановится.
|
||||
* Измеренное среднее потребление от источника в 3.3В при сканировании термометров THB2 и BTH01 в пассивном режиме составляет до 7.9 мкА. Для TH-05 среднее потребление около 21 мкА - [таков ток установленных компонентов](https://github.com/pvvx/THB2/issues/8#issuecomment-1908982171). Но это меньше, чем потребление только в спящем режиме у оригинальной прошивки от Tuya (23 мкА)(!).
|
||||
|
||||
* Измеренное среднее потребление от источника в 3.3В при сканировании термометров THB2 и BTH01 в пассивном режиме составляет до 8 мкА. Для TH-05 среднее потребление около 21 мкА - [таков ток установленных компонентов](https://github.com/pvvx/THB2/issues/8#issuecomment-1908982171). Но это меньше, чем потребление только в спящем режиме у оригинальной прошивки от Tuya (23 мкА)(!).
|
||||
* Запись итории каждые 30 минут
|
||||
* Интервал соединения с учетом Connect Latency - 900 мс
|
||||
* Интервал для соединения после нажатия кнопки действует 60 секунд и фиксирован на 1562.5 мс.
|
||||
|
||||
## Прошивка:
|
||||
|
||||
Прошить устройство возможно через USB-COM адаптер с выходами на 3.3В:
|
||||
Прошить устройство програмой Boot-OTA возможно через USB-COM адаптер с выходами на 3.3В:
|
||||
|
||||
1. Соединить GND, TX, RX, RTS–RESET, VCC (+3.3B).
|
||||
2. Запустить:
|
||||
```
|
||||
python3 rdwr_phy62x2.py -p COM11 -e -r wh BOOT_xxx_vxx.hex
|
||||
```
|
||||
3. Прошивка зашита. Устройство работает.
|
||||
3. Прошивка Boot-OTA завершена. Устройство работает.
|
||||
4. Далее загружаем полную версию по OTA в [PHY62x2BTHome.html](https://pvvx.github.io/THB2/web/PHY62x2BTHome.html).
|
||||
|
||||
Дополнительно:
|
||||
|
||||
|
|
@ -74,4 +68,4 @@ python3 rdwr_phy62x2.py -p COM11 -b 1000000 -r we 0 ff_thb2.bin
|
|||
|
||||
Для работы в Eclipce используете импорт проекта и установите toolchain.path.
|
||||
|
||||
Дополнительная информация по чипам [PHY62xx](https://github.com/pvvx/PHY62x2).
|
||||
Дополнительная информация по чипам [PHY62xx](https://github.com/pvvx/PHY62x2).
|
||||
|
|
|
|||
|
|
@ -381,7 +381,7 @@
|
|||
:1047B0000A21584306F014FE094C206010BDC04683
|
||||
:1047C000B863FF1F480AFF1FFC43FF1FC445FF1FBC
|
||||
:1047D000FA43FF1FA465FF1FF843FF1F710200008B
|
||||
:1047E000A863FF1FF8B509210020FEF7EFFD114C6B
|
||||
:1047E000A863FF1FF8B510210020FEF7EFFD114C64
|
||||
:1047F000011E114D09D10C22104BC1CBC1C42800A0
|
||||
:1048000007F05EF8FFF7A4FFF8BD0C2220000C496A
|
||||
:10481000FEF7B0FD0C2802D0084B43CB43C40C225A
|
||||
|
|
@ -2206,14 +2206,14 @@
|
|||
:10B9C000E13F0011114100110000000016160000B7
|
||||
:10B9D00002000000DCB90011F4FFF3FFD2FC00000C
|
||||
:10B9E000DD41001100000000000000005475796185
|
||||
:10B9F0000042302E3900303030310067697468758C
|
||||
:10B9F0000042312E30003030303100676974687594
|
||||
:10BA0000622E636F6D2F7076767800425448303125
|
||||
:10BA1000000000000200000028BA0011292A282A8C
|
||||
:10BA2000272A262A252A242A0A180000E2040000D0
|
||||
:10BA30007102000078EC0000744000001027000044
|
||||
:10BA400060F0000006640000204E000000000000CE
|
||||
:10BA5000010000001F501D00023CB4000001140052
|
||||
:10BA600009000000810200003031323334353637AE
|
||||
:10BA600010000000810200003031323334353637A7
|
||||
:10BA70003839414243444546005048592B363258E4
|
||||
:10BA800058504C555330353034005B486172642057
|
||||
:10BA90006661756C742068616E646C65725D0A0025
|
||||
File diff suppressed because it is too large
Load diff
3124
bin/BOOT_TH05_v10.hex
Normal file
3124
bin/BOOT_TH05_v10.hex
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -379,7 +379,7 @@
|
|||
:104790000B4853430A21584306F00AFE094C206097
|
||||
:1047A00010BDC046B863FF1F480AFF1FFC43FF1F30
|
||||
:1047B000C445FF1FFA43FF1FA465FF1FF843FF1FF7
|
||||
:1047C00071020000A863FF1FF8B509210020FEF761
|
||||
:1047C00071020000A863FF1FF8B510210020FEF75A
|
||||
:1047D000FDFD114C011E114D09D10C22104BC1CB16
|
||||
:1047E000C1C4280007F054F8FFF7A4FFF8BD0C225D
|
||||
:1047F00020000C49FEF7BEFD0C2802D0084B43CB2D
|
||||
|
|
@ -2203,13 +2203,13 @@
|
|||
:10B99000C53F0011F5400011000000001616000020
|
||||
:10B9A00002000000ACB90011F4FFF3FFD2FC00006C
|
||||
:10B9B000C1410011000000000000000054757961D1
|
||||
:10B9C0000042302E390030303031006769746875BC
|
||||
:10B9C0000042312E300030303031006769746875C4
|
||||
:10B9D000622E636F6D2F7076767800544842320085
|
||||
:10B9E00002000000F4B90011292A282A272A262A51
|
||||
:10B9F000252A242A0A180000E2040000710200002F
|
||||
:10BA000078EC0000744000001027000060F0000097
|
||||
:10BA100006640000204E000000000000010000004D
|
||||
:10BA20001F501D00023CB40000011300090000007B
|
||||
:10BA20001F501D00023CB400000113001000000074
|
||||
:10BA300081020000303132333435363738394142F3
|
||||
:10BA400043444546005048592B36325858504C55BF
|
||||
:10BA50005330353034005B48617264206661756C28
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -381,7 +381,7 @@
|
|||
:1047B0000A21584306F014FE094C206010BDC04683
|
||||
:1047C000B863FF1F480AFF1FFC43FF1FC445FF1FBC
|
||||
:1047D000FA43FF1FA465FF1FF843FF1F710200008B
|
||||
:1047E000A863FF1FF8B509210020FEF7EFFD114C6B
|
||||
:1047E000A863FF1FF8B510210020FEF7EFFD114C64
|
||||
:1047F000011E114D09D10C22104BC1CBC1C42800A0
|
||||
:1048000007F05EF8FFF7A4FFF8BD0C2220000C496A
|
||||
:10481000FEF7B0FD0C2802D0084B43CB43C40C225A
|
||||
|
|
@ -2206,14 +2206,14 @@
|
|||
:10B9C000E13F0011114100110000000016160000B7
|
||||
:10B9D00002000000DCB90011F4FFF3FFD2FC00000C
|
||||
:10B9E000DD41001100000000000000005475796185
|
||||
:10B9F0000042302E3900303030310067697468758C
|
||||
:10B9F0000042312E30003030303100676974687594
|
||||
:10BA0000622E636F6D2F7076767800425448303125
|
||||
:10BA1000000000000200000028BA0011292A282A8C
|
||||
:10BA2000272A262A252A242A0A180000E2040000D0
|
||||
:10BA30007102000078EC0000744000001027000044
|
||||
:10BA400060F0000006640000204E000000000000CE
|
||||
:10BA5000010000001F501D00023CB4000001140052
|
||||
:10BA600009000000810200003031323334353637AE
|
||||
:10BA600010000000810200003031323334353637A7
|
||||
:10BA70003839414243444546005048592B363258E4
|
||||
:10BA800058504C555330353034005B486172642057
|
||||
:10BA90006661756C742068616E646C65725D0A0025
|
||||
File diff suppressed because it is too large
Load diff
3124
bthome_phy6222/bin/BOOT_TH05_v10.hex
Normal file
3124
bthome_phy6222/bin/BOOT_TH05_v10.hex
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -379,7 +379,7 @@
|
|||
:104790000B4853430A21584306F00AFE094C206097
|
||||
:1047A00010BDC046B863FF1F480AFF1FFC43FF1F30
|
||||
:1047B000C445FF1FFA43FF1FA465FF1FF843FF1FF7
|
||||
:1047C00071020000A863FF1FF8B509210020FEF761
|
||||
:1047C00071020000A863FF1FF8B510210020FEF75A
|
||||
:1047D000FDFD114C011E114D09D10C22104BC1CB16
|
||||
:1047E000C1C4280007F054F8FFF7A4FFF8BD0C225D
|
||||
:1047F00020000C49FEF7BEFD0C2802D0084B43CB2D
|
||||
|
|
@ -2203,13 +2203,13 @@
|
|||
:10B99000C53F0011F5400011000000001616000020
|
||||
:10B9A00002000000ACB90011F4FFF3FFD2FC00006C
|
||||
:10B9B000C1410011000000000000000054757961D1
|
||||
:10B9C0000042302E390030303031006769746875BC
|
||||
:10B9C0000042312E300030303031006769746875C4
|
||||
:10B9D000622E636F6D2F7076767800544842320085
|
||||
:10B9E00002000000F4B90011292A282A272A262A51
|
||||
:10B9F000252A242A0A180000E2040000710200002F
|
||||
:10BA000078EC0000744000001027000060F0000097
|
||||
:10BA100006640000204E000000000000010000004D
|
||||
:10BA20001F501D00023CB40000011300090000007B
|
||||
:10BA20001F501D00023CB400000113001000000074
|
||||
:10BA300081020000303132333435363738394142F3
|
||||
:10BA400043444546005048592B36325858504C55BF
|
||||
:10BA50005330353034005B48617264206661756C28
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,5 +1,5 @@
|
|||
@set PATH=D:\MCU\GNU_Tools_ARM_Embedded\13.2.rel1\bin;%PATH%
|
||||
@set SWVER=_v09
|
||||
@set SWVER=_v10
|
||||
@del /Q "build\THB2%SWVER%.hex"
|
||||
@del /Q "build\THB2%SWVER%.bin"
|
||||
@mkdir .\bin
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
// #include "bus_dev.h"
|
||||
|
||||
#ifndef APP_VERSION
|
||||
#define APP_VERSION 0x09 // BCD
|
||||
#define APP_VERSION 0x10 // BCD
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ const uint8_t display_numbers[] = {
|
|||
0b011110100, // E
|
||||
0b001110100 // F
|
||||
};
|
||||
#define LCD_SYM_b 0b011100110 // "b"
|
||||
#define LCD_SYM_H 0b001100111 // "H"
|
||||
#define LCD_SYM_h 0b001100110 // "h"
|
||||
#define LCD_SYM_i 0b000100000 // "i"
|
||||
|
|
@ -47,7 +48,9 @@ const uint8_t display_numbers[] = {
|
|||
#define LCD_SYM_o 0b010100110 // "o"
|
||||
#define LCD_SYM_t 0b011100100 // "t"
|
||||
#define LCD_SYM_0 0b011110011 // "0"
|
||||
#define LCD_SYM_a 0b011110110 // 'a'
|
||||
#define LCD_SYM_A 0b001110111 // "A"
|
||||
#define LCD_SYM_a 0b011110110 // "a"
|
||||
#define LCD_SYM_P 0b001110101 // "P"
|
||||
|
||||
uint8_t lcd_i2c_addr; // = 0x3E
|
||||
|
||||
|
|
@ -196,10 +199,19 @@ void show_small_number(int16_t number, bool percent) {
|
|||
}
|
||||
|
||||
void lcd_show_version(void) {
|
||||
show_big_number_x10(APP_VERSION);
|
||||
#if OTA_TYPE
|
||||
display_buff[0] = LCD_SYM_o;
|
||||
display_buff[0] = LCD_SYM_b;
|
||||
display_buff[1] = LCD_SYM_o;
|
||||
display_buff[2] = LCD_SYM_t;
|
||||
#else
|
||||
display_buff[0] = LCD_SYM_A;
|
||||
display_buff[1] = LCD_SYM_P;
|
||||
display_buff[2] = LCD_SYM_P;
|
||||
#endif
|
||||
display_buff[3] &= BIT(6); // bat
|
||||
display_buff[4] &= BIT(3); // connect
|
||||
display_buff[4] |= display_numbers[(APP_VERSION>>4) & 0x0f];
|
||||
display_buff[5] = display_numbers[APP_VERSION & 0x0f];
|
||||
update_lcd();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue