Pull to refresh

Comments 74

Что будет когда при записи пропадет питание ?

Надо проверить, есть ли у вас идеи по решению проблемы?

Элементарно. Пишите на неформатированную флешку (sdcard) блоками по 512 и котролируете питание.Тут fat лишний.

Сложно и читать потом неудобно. Проще сразу аллоцировать и заполнить нулями большой файл для данных и небольшой для WAL, не забывая, что пишем секторами (блоками), а не байтами.

чтобы создать файл, нужна файловая система,со своими проблемами. А я предлагаю обойтись без нее. Сначала забиваете все блоки флешки 0xff , а потом одна запись - один блок, если писать раз в 10 минут - флешки хватит лет на 200.
512*6*24*365*200 = 5.3 GB. Последнюю запись можно найти за log2(6*24*365*200) - 23 чтения

чтобы создать файл, нужна файловая система,со своими проблемами.

Но и с тем преимуществом, что для её чтения не потребуется специализированной программы.

одна запись - один блок, если писать раз в 10 минут - флешки хватит лет на 200

Во-первых, фиксировать показания может потребоваться даже раз в секунду.

Во-вторых, Вы забыли, что физический блок записи может быть до 16 KБ. Размер физического блока в 512 можно встретить только на старых флешках, размером до гигабайта.

Хотя на ESP32-C3 я в похожем сценарии обхожусь без флешки, так как всегда успеваю забирать данные быстрее, чем заканчивается внутренняя флеш-память MK, которой мне хватает на несколько месяцев.

"физический блок записи может быть до 16 KБ"

Там стирание большими блоками, а писать можно по 512. Контроллеры поддерживают. На внутренней флеш вообще можно побайтно писать.

"esp32-c3"
Ну а я пользуюсь stm-ками. Там батарейку можно вообще лет на 10-20 растянуть

Там стирание большими блоками, а писать можно по 512.

Стирание на современных флешка вообще блоками до 16 МБ. А вот запись, обычно, от 4 до 16К. SSDs do not expose their actual NAND flash memory page size, which typically ranges from 4 KiB to 16 KiB

Ну а я пользуюсь stm-ками

Я и STM32, и STM8 тоже пользуюсь. Но когда нужен WiFi, то не думаю, что ST67W - лучший выбор.

Там батарейку можно вообще лет на 10-20 растянуть

Не получится. Радиомодуль и датчики жрут больше. На STM8L151C8 в паре с nRF24L01+ у меня получилось только чуть больше года на CR2032 при мониторинге только температуры и влажности в погребе.

Вот репорт с флешки на 16 GB
CardStatus.AllocationUnitSize 9

CardStatus.CardType 0

CardStatus.DataBusWidth 2

CardStatus.EraseSize 15

CardInfo.BlockSize 512

CardInfo.BlockNbr 31116288

CardInfo.LogBlockNbr 31116288

CardInfo.LogBlockSize 512

CardInfo.CardSpeed 134243959

CardInfo.CardVersion 1


nrf - это где-то 10-20 mA. (https://cdn.sparkfun.com/datasheets/Wireless/Nordic/nRF24L01_Product_Specification_v2_0.pdf)
cr2032 - continues drain 0.2 mA
https://energy.panasonic.com/dam/master/pdf/en/datasheet/lithium/CR2032_Datasheet_EN.pdf

Вы просто убиваете эту батарейку.
https://w.electrodragon.com/w/File:CR2032-discharge.png

Ставьте подходящую и не забывайте выключать питание сенсоров,

Вы явно или не прочитали, что я процитировал, или не знаете английский:

"SSDs do not expose their actual NAND flash memory page size, which typically ranges from 4 KiB to 16 KiB, instead their reported physical sector size is the same as their logical sector size"

перевод:

"SSD не раскрывают информацию о фактическом размере страницы NAND-флеш-памяти (который обычно составляет от 4 до 16 КиБ), вместо этого сообщаемый ими размер физического сектора совпадает с размером логического сектора."

nrf - это где-то 10-20 mA

Average Supply current @ -6dBm output power, ShockBurstTM 0.12 mA

Не надо давать советы, которых у Вас не спрашивали.

Average - это не peak. SSD это не SD.

"Не надо давать советы, которых у Вас не спрашивали." -
Ну так это у Вас не работает от батарейки :)

Average - это не peak

А continuous drain - это peak? А наличие ёмкости на питании - это неправильно? )))

это у Вас не работает

У меня как раз работает и менять батарейку приходится реже, чем раз в год. Это у Вас завелась фантастическая батарейка со сроком службы в 20 лет )))

По первой ссылке я даташит не вижу.

Во второй ссылке заявлено 10 лет, а не 20. При этом ёмкость батареи всего 1.2 Ач, что всего в 5-6 раз больше CR2032. Так что и на 10 лет её не хватит, а на 20 лет надо хотя бы 5-6 Ач.

EEMB 10Pack ER26500 C Size 3.6V Lithium Battery High Capacity Li-SOCL₂ Non-Rechargeable Battery LS26500 SB-C01 TL-2200 for Automobile tire Pressure Monitor,Smart Card,Electricity Meter,Wireless Tools https://a.co/d/00Um5PuS (9600mAh)

Stm32wb55 укладывается в 12 микроампер с часами и одим пакетом ble 31 bait каждые 100 секунд. Ну возьмём 13 uA и er14250 с 1200 mAh (если только часы и sram2 то только 2.5 uA)

1200mAh/0.013mA/24/365=10.53 years .

Соответственно вышеуказанная er26500 9600mAh как раз 20 лет и протянет (обещают 70% остатка через 10 лет хранения)

Есть батарейки и на 30 и на 50 лет , но это экзотика:

https://en.wikipedia.org/wiki/Comparison_of_commercial_battery_types

10.53 years .

Не я это писал:

Там батарейку можно вообще лет на 10-20 растянуть

Так что или признайтесь, что фантазировали или покажите мне DIY проект, проработавший 20 лет от одной батарейки.

Есть батарейки и на 30 и на 50 лет

Ну да, например на Вояджер-1. Вот только покажите мне такие батарейки даже не в DIY, а хотя бы в заказных проектах.

А по Вашей ссылке 50 лет срок службы у аккумулятора с саморазрядом 20-30% в месяц )))

Так что или признайтесь, что фантазировали или покажите мне DIY проект, проработавший 20 лет от одной батарейки.

Ну если заплатите и подождете - то покажу :) .(Шах , Ишак etc) , могу показать со средним потреблением ~11uA, но там у меня маленький photovoltaic & supercapacitor 0.47F

"А по Вашей ссылке 50 лет срок службы у аккумулятора с саморазрядом 20-30% в месяц )))" - претензии к консистентности википедии , видимо это разные батареи с одним и тем-же базовым составом



Ну если заплатите и подождете

Наоборот, это если Вы заплатите мне за ожидание, пока Вы не сможете доказать своё утверждение. В противном случае, оно остаётся фантазией, что меня полностью устраивает )))

Я же Вам пример Вояджер-1 приводил. Но это совсем не то, что ставят на DIY проекты.

Ну в отличие от радиоизотопных эти батарейки можно купить в магазине ,например

https://www.afik2.com/40284/5487-1-1-1-1-1?gad_source=1&gad_campaignid=1710862498&gbraid=0AAAAAD-gC9WQ_GUs_LkgQ8jyAO4pXA5WY&gclid=Cj0KCQjw6_HSBhCpARIsANvVltatfTL7xm4NfsGFdhgarztBUM9OcH2-zBlAkFEBRo12kMxIwS2adD4aAm0YEALw_wcB

Есть и дешевле, гугл в помощь, потренируйтесь если нужно.

В спецификации SD SanDisk блок в 512 на запись гарантируется. Их проблема как они это делают Fat для записи одного файла пишет в 3 разных места.

Посмотрите комментарий внизу, решение очень простое.

А ещё, самая большая проблема в том, что ваше устройство никуда данные не передаёт, ни на сервер, ни в систему умного дома, просто хранит их у себя и все. При этом вы ежесекундно считываете данные, а отображает только последние из буфера. Зачем? Почему? Какова цель? Ну хотя тогда сравнивайте текущие с предыдущим и записывайте только те, которые изменились и для корректной метки времени обязательно нужны часы типа DS3231. Потому что после перезагрузки, у вас метка времени будет кривой и она будет повторяться в вашем файле. Логгирование всегда привязано к реальному времени или к порядковому номеру, если время не важно. У вас ни того ни другого, просто таймер millis / 60000. После перезагрузки МК он обнуляется.

В чем смысл тогда логгирования. Это же просто сбор данных без возможности дальнейшего использования. А потом вы что, возьмёте SD карту и с ней пойдёте к ПК переносить инфу? А куда? В Excel? Так сейчас не 2000 год, а 2026, и у вас микроконтроллер с Wi-Fi, Bluetooth, а это такие возможности!

А SD карта, в таком режиме сдохнет через 1-3 месяца, китайская за 1,5 - 2 недели.

Это тоже проходили и убивали карты.

Питание каждый по своему вкусу организует. Здесь только основная платформа предложена.

Питание тут не очень причем. Как эту штуку вообще безопасно выключать?

Логично. “Безопасное извлечение” не помешало бы.

Недавно тоже пришлось сделать похожее решение для мониторинга влажности и температуры в погребе после затопления (+давление, это уже не так важно), но с передачей данных на сервер по API каждый час. При перезагрузке время обновляется по NTP, если в течение 5 минут время по NTP обновить не получается, данные передаются без времени, т.к. время логируется еще на стороне БД. Если WiFi недоступен или сервер не отвечает, данные не теряются, а сохраняются во внутренней flash-памяти ESP32. При восстановлении связи автоматически отправляются на сервер в хронологическом порядке.

Можно поставить конденсаторы на линию питания и заряжать их непосредственно перед записью

Можно многое. Где?

Надо посчитать сколько энергии нужно для завершения записи. В джоулях. Потом перевести в кулоны. Потом в микрофарады.

И толку ? МК перестанет работать задолго до исчерпания энергии в конденсаторах. Все что наверчено вокруг сд тоже.

Это как? Заряжать конденсаторы непосредственно перед записью, когда они уже на линии питания находятся? Ничего не смущает? Они там просто будут находиться всегда заряженные на 100%.

Они там просто будут находиться всегда заряженные на 100%.

Значит одной проблемой меньше.

Мы соединяем + питания с + конденсаторов а - пропускаем через ключ. И чуть заранее заряжаем и включаем в цепь, а после отключаем

А зачем такие непонятные действия делать? И потом коммутировать перед началом записи? Типа дополнительная емкость, ну тогда нужно перед ними, на линии питания диод ставить, что бы разряд шёл только с схему, а не на другие конденсаторы и стабилизаторы (если они там будут).

Я что-то похожее делал для бистабильно го реле, что бы отключать его, если пропало питание. Они же без тока не переключаться обратно, поэтому дополнительное микрореле ставил и коммутировать его так, что бы заряженные конденсаторы отрабатывали на отключающие катушки. Вам можно сделать аналогично. Коммутация конденсатора в момент отключения питания. Реле подключено на самом входе без конденсатор в, потом диод, что бы конденсаторы не удерживали катушку реле, за диодом конденсатор базовый и следом подключаемый.

В устройствах с передатчиком на 433мгц, которые питаются от литиевой таблетки 3 вольта, ставят керамику на 100 мкф, без всякой коммутации. Устройства рассчитаны на год и более работы от одной батарейки. Утечка через керамику никого не смущает. А здесь емкость батареи в разы больше.

аккумулятор от вайпа (курилки) там вроде есть выход для "ВАТ"

Можно, но вариант с конденсаторами проще.

Вместо sd карты можно установить FRAM CY15B102J, на 2 МБит (512КБайт), этого вполне достаточно что бы хранить там метку времени на 32 бита и 3 числа типа float в количестве 16384 записи. Даже если метеостанция будет каждые 10 минут снимать показания (а это слишком много), то этого объема в 16 384 записи вам хватит на 113 дней непрерывной автономной работы без перезаписи!

Но я все таки надеюсь, что и опрос будет реже и вы все таки не будете просто хранить данные на метеостанция за весь период, а будете передавать их на хост и очищать память. А запись будет только в том случае, если нет связи с хостом, иначе непонятно, зачем вообще их хранить на метеостанции. Если для прикола только.

А теперь преимуществ FRAM-памяти (CY15B102J) перед SD-картой при записи малых объемов данных (метка времени и три числа float):

  • В 100 раз выше скорость работы. Запись одной пачки данных во FRAM занимает всего 0,17–0,4 миллисекунды, тогда как на SD-карту текстовая строчка пишется от 10 до 40 миллисекунд из-за долгой инициализации и работы файловой системы FAT32.

  • В 500 раз ниже потребление тока. В момент физической записи чип FRAM потребляет около 150 микроампер, в то время как SD-карта при перезаписи флеш-массива требует от 50 до 100 миллиампер.

  • Практически бесконечный ресурс. FRAM выдерживает до 100 триллионов циклов перезаписи. SD-карта при постоянной циклической дозаписи мелких строчек выйдет из строя в сотни раз быстрее из-за ограниченного ресурса ячеек флеш-памяти. А дешёвая карта очень быстро, как это бывало на Raspberry Pi.

  • Отсутствие лишних операций с памятью. Во FRAM можно записать ровно 16–20 байт данных. На SD-карту невозможно записать блок меньше одного сектора (512 байт), поэтому системе приходится каждый раз считывать, модифицировать и перезаписывать сотни лишних байт.

  • Высокая надежность при внезапном отключении питания. Во FRAM данные сохраняются физически в момент отправки последнего бита. Если питание пропадет при записи на SD-карту, файловая система FAT32 может полностью разрушиться, что приведет к потере всего текстового файла.

  • Экономия памяти микроконтроллера. Для работы с FRAM используется простой и легкий код передачи данных по шине I2C. Для SD-карты требуется подключать тяжеловесные библиотеки для работы с файловой системой, которые занимают много оперативной и флеш-памяти контроллера.

Просто были подобные проекты и там этих граблей было так много, и что мы только не использовали. А вот вариант с FRAM стал спасением.

По поводу опроса, 1 секунда была для отладки, такая высокая чистота не нужна. Веб страница нужна что бы в ходе эксперимента смотреть за показателями в камере, а по завершении - снять чёрный ящик и на пк обработать данные. Спасибо за совет! И это частично решит риск с отключением питания в момент записи.

все из пушки по воробьям.
Этот ФРАМ стоит дороже чем все здесь вместе взятое.
По факту тут никакой СД-карты не требуется.
У ESP32C3 4MByte паматя внутри. В ардуине в списке стандартных есть разметка 1МБ приложение, 3МБ файловая система.

из данных на нужно 32 бита на время, 16 на температуру, 8 влажности и 16-24 на давление (хотя нет смысла во второй цифре после запятой). Это все нам дает 10 байт на измерение.
Если хранить с интервалом в 1минуту - то 3 мегабайта выльются в ~200 дней. Если реже, легко посчитать самому.

Ну и никто не мешает сделать выгрузку прямо с веб-страницы, чтоб картотчки не совать туда-сюда.

А если заменить на ESP32-S2/S3 - то там вообще можно поднять USB Mass Storage Device, и обращаться к флешке напрямую, через USB

А что насчет MRAM?
Справедливо, что вопрос о необходимом объеме памяти требует уточнения - сколько требуется записей, возможно ли сжатие.

Ну и никто не мешает сделать выгрузку прямо с веб-страницы, чтоб карточки не совать туда-сюда.

Все равно остается вопрос о работе при потере связи и питания.

Эта версия, да, стоит дорого, но есть дешевле, объёмом немного меньше.

FM24V10-G на 1 мегабит, или MB85RC256V на 256 килобит. Эти стоят менее 100 рублей, но они вечные, ни одна SD карта столько не отработает и запись на них простая, я выше писал преимущества.

В ряде случаев можно и EEPROM использовать. Которые на 10 миллионов циклов. Например такую https://www.electronshik.ru/item/PUYA/P25CM01H-SSH-MIR
Зависит от типа и объема данных которые пишет логгер.

ни одна SD карта столько не отработает

Я так понял, SD карта требуется в случаях когда логгер куда-то жестко вмонтирован, и есть ситуация когда пропадает связь а данные требуется считать.

Да, вполне можно и эти использовать.

https://www.electronshik.ru/item/PUYA/P25CM01H-SSH-MIR

Они меньший ресурс имеют чем FRAM, но думаю что при нечастой записи их на век хватит.

Я так понял, SD карта требуется в случаях когда логгер куда-то жестко вмонтирован, и есть ситуация когда пропадает связь а данные требуется считать.

По сути да, и логгер всегда стоит в параллель с потоком данных и сам не занимается считыванием, иначе он становится основным датчиком с накоплением, а не логгером.

А самый оптимальный вариант - это накопление данных в EEPROM или FRAM, а потом, при заполнении переписать на SD. В новый файл, не трогая предыдущий, для сохранения. Затем проверить записались ли данные и сравнить их с тем, что лежит в EEPROM или FRAM и если все ок, то очистить EEPROM или FRAM и приготовиться писать туда опять.

Непонятно только зачем что-то в eeprom писать, памяти обычно вагон свободной

Использование внутренней флеш-памяти ESP32 для постоянного побайтового или построчного логирования приведет к быстрому выходу устройств из строя на реальных объектах.

Встроенная память рассчитана на 100 000 циклов записи и не факт что она их отработает. Если много логов, то спустя год - полтора могут начаться проблемы с записью и чтением. А если циклически записывать данные в одну и ту же ячейку (например, каждую секунду в цикле loop), память выйдет из строя всего за ~27 часов.

Поэтому контроллер лучше использовать как управление, а данные гонять грамотно и оптимизировано, учитывая возможности модулей и компонентов.

Я про RAM вообще-то

Ram - это оперативка и в ней хранить как то не безопасно. Суть логгера сохранить данные, ну и забивать эту память в динамике - можно просто повешать МК при переполнении.

Э нет, или вы имеете мониторинг питания и некоторый его запас или нет.

Если нет, то боюсь работа с любой неоперативной памятью чревата. Пишут вон что с fram можно, но это всё требует больших исследований и проверок.

Если имеете, то никакой разницы где хранить особо нету. В случае пропадания питания запишите сразу, либо временно, либо как-то еще.

Если даталоггер имеет свойство перезагружаться из-за ошибок, надо как-то ошибки побороть...

Если не хватает памяти на суточный набор значений, то тоже "что-то не то".

Я fram использую очень давно. С ним нет никаких проблем.

Я расписывал здесь, как даталоггер может хранить 3 месяца в fram памяти. С вот с оперативной - это проблемы. В fram закинул байт, потом ещё, потом ещё и максимум, потерять можно байт, или последнюю запись. С оперативкой сложнее, там нужно выделять память и в этих рамках только оперировать. И потом, куда скидывать из оперативки? На SD карту, тогда постоянно это делать нужно, если не скидывать и ждать наполнения, то есть риск потерять всю оперативку. Много нюансов. И с eeprom (которая адресуется как fram) есть много проблем. Она не любит много циклов перезаписи. Если брать flash, то туда писать можно только блоками, значит эти блоки нужно собрать сначала.

SD - тоже писать секторами, значит наполнение взять нужно, но пишет долго. Есть риск потерять весь файл.

В итоге, оптимально - это fram, с бесконечной перезаписью, побайтной записью и примитивной i2c.

Попробуйте, потом скажете свое мнение. Можно начать с внешней eeprom на i2c, разобраться, как она пишет, а потом воткнуть fram.

Эти стоят менее 100 рублей

Белорусских ?

Даже у китайцев

Вторая чуть дешевле, но все равно.
все эти *RAM - это нишевый продукт, там где действительно цена оправдывает его наличие.

Для простой задачи как тут - не нужны ни сд-карты ни вся эта сложная "память".
Как и сказал - хватит внутренней памяти самого ЕСП. Если случиться что-то с ней то не зависимо от того что вы навесите снаружи для хранения, контроллер перестанет работать.

И если перезапись уж слишком частая - то есть еепром, как ниже написали.

А вообще для подобных задач, если это для себя, а не коммерческий продукт, испозовать что-то готовое, опенсорсное, например https://github.com/pvvx/ATC_MiThermometer
15-20uA c измерением и передачей данных в эфир каждые 10с. Ну и внутреннее хранилище для истории. добавить туда bmp280 не сильно сложно.

P.S. Для себя делал все на nrf52840 - со всеми необходимыми датчиками, отправкой ADV раз в 2с, средний ток 20-30мкА, со счетчиком гейгера - 60мкА. Флешка обычная wd25q128.

Да нет, не белорусских. Я правда в тенге смотрю, потому как из Казахстана. Ну вот, посмотрите сами:

Здесь за одну цена чуть больше 100 рублей.
Здесь за одну цена чуть больше 100 рублей.
Тут вообще за 5 штук цена.
Тут вообще за 5 штук цена.

Курс рубля: за 1 рубль 6 тенге. Посчитайте.

Я когда нашёл за такую цену, заказал себе 2 десятка. Есть пара проектов, куда их можно будет применить.

Сначала вы предлагаете использовать military grade микросхему, где она не нужна по факту, а потом кидаете ссылки на АлиЭкспресс где они стоят в 10 раз дешевле, чем в нормальных магазинах, и говорите про супер-пупер надёжность решения?

Логика из чата вышла

Использование внутренней флеш-памяти ESP32 для постоянного побайтового или построчного логирования приведет к быстрому выходу устройств из строя на реальных объектах.

Вас кто-то принуждает так делать?

Если не делать так как автор - open/append, write, close, то fatfs кеширует данные до переполнения буфера или f_close/f_flush.

Даже если делать как в статье - то запись раз минуту должна убить сектора фат-таблицы за полгода-5 лет

P.s. лет 20 назад,коллега как-то пытался "убить" eeprom на avr. Работало оно месяц без перерыва, значения из даташита превзошло на порядок. Он не победил

Сначала вы предлагаете использовать military grade микросхему, где она не нужна по факту, а потом кидаете ссылки на АлиЭкспресс где они стоят в 10 раз дешевле, чем в нормальных магазинах, и говорите про супер-пупер надёжность решения? Логика из чата вышла

А как вы считаете, микросхема 1-я, которая была предложена и последующие с AliExpress, чем они отличаются? Так вот, скажу вам, только объёмом памяти. Потому что работают они все одинаково хорошо.

Я лично в Китае, был на заводе, где делают модули ввода-вывода Siemens, так вот туда ставят китайского производства микросхемы, оптопары, диоды и всп остальное барахло, а все что лежит в "нормальных" магазинах куплено у тех-же китайцев, просто было проверено ОТК от заказчика и отбраковано порядка 40%. Просто не прошло по одному из параметров, известных только ОТК от Siemens.

Логика никуда не выходила, и сколько я беру на АлиЭкспрессе, всего один раз был брак и тот на китайском микроконтроллере Ch32v003j4M6.

Если не делать так как автор - open/append, write, close, то fatfs кеширует данные до переполнения буфера или f_close/f_flush.

А как вы предлагаете делать? Держать файл открытым? Так в этом и проблема, что автор переживает за то, что при потере питания, он потеряет данные.

Даже если делать как в статье - то запись раз минуту должна убить сектора фат-таблицы за полгода-5 лет

Все будет зависеть от объёма записи, если по 30 байт, то возможно, а если по 300,то быстрее, и sd не скажет об этом, но если помрёт один сектор, то и файл можно будет похоронить. Ну или каждый день делать новый файл, что бы не потерять все.

P.s. лет 20 назад,коллега как-то пытался "убить" eeprom на avr. Работало оно месяц без перерыва, значения из даташита превзошло на порядок. Он не победил

Я в 2003 такое делал с atmega8 и её победил, она сдохла за 2 суток. При постоянной перезаписи своих несчастных 512 байт, а в прошлом году из партии китайцев eeprom взял 3 штуки и убивал их. Да, циклов они выдержали больше заявленного, раза в 4, но сдохли!

FRAM висит уже месяцев 8, жив, здоров и не чихает.

Все куплены на AliExpress.

Нужно будет ради прикола nano и pro mini поставить на тесты.

Ну дело ваше, покупать ли микросхемы на Али. Лично я предпочитаю проверенные магазины, типа tme, digikey, mouser или lcsc.А АлиЭкспресс, только если больше нигде нет, такое бывает.

Ибо может приехать дохлое, бракованное, перемаркированное или даже классика - поддельные ft232 собранные на микроконтроллере Последний раз покупал 10 ch340 - только 4я заработала. И это особенно печально, когда делаешь прототип, то не сразу понятно, проблема в микросхемах или что-то накосячил в плате или схеме.

А как вы предлагаете делать? Держать файл открытым? Так в этом и проблема, что автор переживает за то, что при потере питания, он потеряет данные.

Именно держать открытым, делать flush раз в какое-то время, не сильно часто. И создавать новый файл раз в день или около того в зависимости от объема. Использовать батарейное питание.

Если очень хочется побайтово, то можно пре-создать файл нужного размера, стереть все сектора и писать хоть побайтово (но тут придется править код самой фатфс), сд-карта позволяет писать не полный сектор.

Ибо может приехать дохлое, бракованное, перемаркированное или даже классика - поддельные ft232 собранные на микроконтроллере Последний раз покупал 10 ch340 - только 4я заработала. И это особенно печально, когда делаешь прототип, то не сразу понятно, проблема в микросхемах или что-то накосячил в плате или схеме.

Да, понимаю Вас, алиэкспресс нифига не эталон качества продукции но отмечу, что за последние 3-4 года он стал куда лучше. У нас в Алматы, есть магазин DeltaChip, это по сути Chip&Dip Российский и позиционируется он как магазин качественных радиодеталей. Так вот, я первое время брал там, считая что там качественные радиокомпоненты, но когда мне 4 раза поменяли atmega328, который будучи в оригинальном корпусе, оказался битым. Я перешёл на AliExpress. И оттуда я ни разу не купил ни одну убитую или кривую микросхему. Все, что я брал - работает. Учитывая что это цифра, оно работает прекрасно. Да, резисторы плывут по номиналу, но это не влияет на макет, если я не делаю что-то на операционике или на компараторе. Кстати, прецизионные радиокомпоненты там-же беру, и они реально качественные. Датчики тока делал и на 120Ом брал резисторы,так там идеальные 120,003 Ом, я аж охренел от такого.

Очень давно что-то подобное делал, только для записи лога качества электрической сети. В качестве резервного источника питания, на случай пропадания основного, использовал Li-ion аккумулятор. Лог тоже записывался на SD-карту. Даже фото осталось.

Логгер
Логгер

Круто! Читал вашу статью про датчик влажности. Использую такой же в своём проекте, как вы справляетесь с окислением дорожек на датчике?

Так там же емкостный датчик влажности применяется, он не имеет контакта открытой меди с грунтом, соответственно окисления нет. Его ещё отдельно лаком заливают, что бы герметичность была лучше.

вы справляетесь с окислением дорожек на датчике?

Там ёмкостной датчик, дорожки защищены маской.

Спасибо за ответ.

А здесь на входе 220В просто делитель стоит? Я просто не вижу ни диодов ни чего-то ещё. И развязки я так понимаю нет, везде есть высокий потенциал?

Очень странно, я же спросил автора, а не критиковал, а мне за вопрос кинули - 1, для меня это действительно интересно, потому что хочу сделать просто как на плате у автора, но мне ещё важна безопасность при эксплуатации.

важна безопасность при эксплуатации

Есть счетчики энергии и мониторы состояния сети без гальваноразвязки между сетью и цифровой частью. Это нормально. Безопасность обеспечивается конструктивом. Развязка при необходимости ставится на выходных цепях.

В этой версии нет развязки, поэтому нужно применять хорошо изолированный источник питания. Стоит делитель. Ещё была версия с трансформаторной развязкой.

В BME280 есть датчик влажности, его нет в BMP280.

Спасибо, поправлю

вот как-то так выглядит лог здорового человека

А где лог? Я вижу только график и он без пояснений, а лог - это обычно текст, с отметкой времени и данными. Возможно с пояснения и, заметками, отметками. Формат любой по желанию. И лог не предназначен для вывода в виде графика, в виде данных и так далее, лог нужен для того, что бы восстановить пропущенные данные в базах, увидеть и понять какие либо ошибки, а график, который представлен здесь нужен для понимания работы процесса, датчика и так далее, для поиска зависимостей, и всего того, что душа пожелает.

для меня как раз графическое представление более информативное. увидеть аномалию в потоке цифр весьма непростая задача. а на график если надо можно дополнительную инфу вывести если мышкой ткнуть

Я вас очень понимаю и сам часто визуализирую данные в виде графиков, особенно если система динамичная. А уж все АСУ ТП системы, так там любая информация - это графики. Как менялась температура, давление, расход и многое другое (PiSystem от Osi Soft, один из представителей подобного рода систем)

Здесь же, автор говорил именно про логгирование. Не хочу быть душным, но это немного другое:

Логгирование информации (журналирование) — это автоматическая текстовая запись хронологии событий, происходящих в компьютерной системе, программе или оборудовании.

Сам по себе лог — это строго текст или структурированные данные.

Ну а графическом представление, которое более информативное - это визуализация данных.

И то и другое имеет место быть и они имеют разное назначение.

Спасибо за материал - как раз думаю о том, чтобы собрать датчики в разные комнаты, но скорее с подключением по wi-fi. Не думали добавить e-ink экран? Энергию не ест, но можно смотреть текущие показания и графики. Стоит копейки.

Судя по комментариям тема интересная. Так что скорее всего добавлю и напишу вторую 2 часть

первое что в голову приходит - эта штука будет греться и показывать температуру выше чем на самом деле на градус- два а влажность ниже. особенно если в корпус засунуть

Sign up to leave a comment.

Articles