• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

TLSR8251 + LCD + термометр = LYWSD03MMC XIAOMI Bluetooth термометр

pvvx

Активный участник сообщества
@sL0n1k - уже 3 глобальных преимущества для пользователей описаны, если Flags не передаются (равны 0):
1. Дольше работа батареи
2. Не засоряет системные меню при подключении других устройств BLE
3. Не виден соседям, которые будут подключаться и усиленно точить батарею вашего термометра, даже если включен pin-code.
4. Windows будет лезть и соединяться для считывания показаний батарейки для рисунка иконки в системных меню
5. Полная совместимость с BT4.2 и выше не нарушается.

А самое главное - это введено для того, чтобы горе писатели исправили свой код.
 

pvvx

Активный участник сообщества
Да, перегреваются, согласен. Но для HA подойдёт,
А мне не только HA нужен. И для HA нужен SSD. MMC он вытрет в ноль за пол года.
Смотрите NanoPi-R3S или NanoPi-R6S. У них разница +40С при полнейшей нагрузке и с SSD. И питание от 5 до 12В - зарядка USB-C с профилями... И импульсный (!) ток при HA будет до 0.6A (12В SSD + FiFi 6E).
 

pvvx

Активный участник сообщества
Уточнение - разница +40С (от внешней температуры) при полнейшей безумной нагрузке с SSD и с USB-WiFi. Корпус до +50С при внешке +25С
 

sL0n1k

Member
Но порадовало то, что ble 5 на нем работает, причем стабильно уже 5 месяцев, я уж хотел его списывать, ан-нет, китайцы обновили драйвера.
 

pvvx

Активный участник сообщества
Могу сообщить только об одном годе, 3 lts, emmc в норме
У вас одно устройство, а не два дома к сотне устройств. И видимо ограничено всё в логах.
1682429279244.png
Пол года и это только запись базы данных HA на отдельный SSD.
При этом всё ограничено до минимума. Никаких RSSI и прочего не пишется.
 

sL0n1k

Member
Ну, есть малина, работающая уже 5 лет на sd card, без бесперебойника, с очень частым пропаданием питания, карту не менял ни разу, логи нормальные, mqtt в том числе, в топиках которого хранятся графики, там приличный объем
 

pvvx

Активный участник сообщества
И глубина записи истории ограничена в 1 месяц. При этом база около 3 Гбайта..
 

pvvx

Активный участник сообщества
Ну, есть малина, работающая уже 5 лет на sd card, без бесперебойника, с очень частым пропаданием питания, карту не менял ни разу, логи нормальные, mqtt в том числе, в топиках которого хранятся графики, там приличный объем
Опять враньё, если SD не для пром. использования. Цифры вам приведены.
Пока, гудбай врунишка.
 

sL0n1k

Member
Хотя нет, знаю я залью вам образ этой флешки, и вы скажете нам всем как долго она использовалась, слабо?)))
 

pvvx

Активный участник сообщества
Для тех кто хочет построить Вумный дом на HA.
Статистика использования дешевого SSD (поставлен был новым) на котором пишется только база данных HA. Остальное на MMC.
Первый год система с этим SDD работала так тестовая и дублирующая, в HA было не более 20 датчиков, в среднем - десяток.
Потом система перешла на реальную работу и кол-во датчиков сразу перевалило за шесть десятков и далее более.
Время записи в базу ограничено до 1 месяц, пишутся только интересующие меня данные. Никаких RSSI и прочих чисто технических данных не пишется.
Датчики типовые и время обновлений значений указано от 1 минуты и более. Для некоторых и 30 минут.
И выходит вот такой SMART:
Код:
=== START OF INFORMATION SECTION ===
Device Model:     GN256 2242
Firmware Version: U0205A0
User Capacity:    256,060,514,304 bytes [256 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      2.5 inches
TRIM Command:     Available
ATA Version is:   ACS-2 T13/2015-D revision 3
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Tue Apr 25 16:47:31 2023 MSK
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
---
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x0032   100   100   050    Old_age   Always       -       0
  5 Reallocated_Sector_Ct   0x0032   100   100   050    Old_age   Always       -       3
  9 Power_On_Hours          0x0032   100   100   050    Old_age   Always       -       11177
12 Power_Cycle_Count       0x0032   100   100   050    Old_age   Always       -       227
160 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       0
161 Unknown_Attribute       0x0033   100   100   050    Pre-fail  Always       -       97
163 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       18
164 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       124283
165 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       128
166 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       3
167 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       85
168 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       5050
169 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       99
175 Program_Fail_Count_Chip 0x0032   100   100   050    Old_age   Always       -       0
176 Erase_Fail_Count_Chip   0x0032   100   100   050    Old_age   Always       -       0
177 Wear_Leveling_Count     0x0032   100   100   050    Old_age   Always       -       0
178 Used_Rsvd_Blk_Cnt_Chip  0x0032   100   100   050    Old_age   Always       -       3
181 Program_Fail_Cnt_Total  0x0032   100   100   050    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   050    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   100   100   050    Old_age   Always       -       184
194 Temperature_Celsius     0x0022   100   100   050    Old_age   Always       -       40
195 Hardware_ECC_Recovered  0x0032   100   100   050    Old_age   Always       -       0
196 Reallocated_Event_Count 0x0032   100   100   050    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   050    Old_age   Always       -       3
198 Offline_Uncorrectable   0x0032   100   100   050    Old_age   Always       -       0
199 UDMA_CRC_Error_Count    0x0032   100   100   050    Old_age   Always       -       0
232 Available_Reservd_Space 0x0032   100   100   050    Old_age   Always       -       97
241 Total_LBAs_Written      0x0030   100   100   050    Old_age   Offline      -       107694
242 Total_LBAs_Read         0x0030   100   100   050    Old_age   Offline      -       35808
245 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       330561

SMART Error Log Version: 1
No Errors Logged
Счет у Total_LBAs_Written и Total_LBAs_Read у данного SSD в 32 мегабайтах.
Total_LBAs_Written = 107694*32МБ = 3446208 мегабайт = 3365.4375ГБ = 3.28656ТБ
Power_On_Hours = 11177/24 = 465.7 суток

Т.е. имеем минимальную запись в 3446208/465 = 7411.2МБ = 7.2375ГБ в сутки

Меня ограничения, внесенные в HA по записи не устраивают. Слишком мало значений от датчиков и прочего и недлительная история - всего 1 месяц
И каждый день HA переписывает базу, обрезая и реформатируя. Но общий файл базы имеет в среднем размер около 3 ГБ. Меняется, и иногда сбрасывался.
А надо историю на годы. Но при большем объеме простые платки с хилыми CPU не тянут - сбиваются и тормозят до жути...
 

pvvx

Активный участник сообщества
И ещё необходимо учесть, что SQL пишет мелкими блоками, менее сектора, а запись на всех современных носителях происходит блоками от дцать килобайт. У некоторых SSD блоки и в мегабайты и не всегда происходит дописывание в пустую часть, а переписывается с разным хламом в другой свободный блок. У SSD без кеша вообще дублирование записи двойное.
А приведен показатель в Total_LBAs_Written - в секторах с шины :)
Многократно и многими проверено - хорошая SD карта в нормальном HA живет не более 2-х месяцев.
 

pvvx

Активный участник сообщества
Это запись системы на eMMC. Используется armbian.
1682433360363.png
Есть только системный счетчик со старта системы. Общего нет.
Т.е. примерно до 1ГБ в сутки.

В сумме не так и страшно - как Windows 10 у простого обывателя.
Но на SD никто Windows 10 не гоняет.
 

pvvx

Активный участник сообщества
В итого, если предполагается использовать только HA и немного увеличить базу, тогда вся система вместе с базой данных установленных на дешевом SSD в 256GB (с али со средним TBW в 60TB) проработает около 5 лет (далее SSD накроется). При этом всякие tmp и log будут писаться в RAM с сохранением на диск через NN минут (как в armbian).
 

sL0n1k

Member

Что нового:
- поддержка древних андроидов с версии 5.0 (Lollipop API Level 21);
- работа в фоновом режиме (и режиме ожидания);
- голосовое оповещение о превышении порога температуры/влажности (каждые 10 сек).

Через RuStore не получится установить приложение на самые древние андроиды (5.0, 5.1, возможно и 6), для таких вариантов - используйте прямую ссылку для загрузки APK приложения, приведенную в описании приложения на RuStore.
 

pvvx

Активный участник сообщества
Так что с USB-BT адаптер Bluetooth 5.3 с чипом ATS2851 в Linux системах?
Это единственные c BT5.3 адаптеры и при этом стоят копейки. Других, которые имеют 5.3 и можно включить во всякие мелкие платы типа xPi вообще нет.
Мне уже пришли с али разные варианты исполнений ATS2851 в разных USB коробочках с разными надписями изготовителей, но пока не было времени повозиться с ними...
Кто уже решил вопрос, как их заставить работать в Linux системах? (в Windows они работают автоматом, без спец. дров)
 

pvvx

Активный участник сообщества
Могу сообщить только об одном годе, 3 lts, emmc в норме
Производители eMMC пишут, что коэф. записи у них от 4..8, а общее кол-во перезаписей ячейки до 3000, страницы NAND от 16 КБ.
Т.е. TBW для 4ГБ eMMC до 1.5ТБ в идеальном случае, когда запись происходит большими блоками, а не дописывание по дцать байт SQL в HA.
 

pvvx

Активный участник сообщества
Orange Pi3 LTS имеет 8GB emmc на борту
Это будет значить, что эти 8ГБ будут заполнены от 80% (в месте с малой базой HA). Останется не более 2ГБ и если ПО с eMMC ужасное и используется SQL без оптимизации записи для NAND, дыры в eMMC уже в течении года работы гарантированы... А ПО в Linux у таких плат ужасное и никакой оптимизации для NAND там нет. Это не Wind-а и не Android.
 
Сверху Снизу