Теоретический вопрос: выгрузка пользовательских данных с EEPROM

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

Привет.

Пишу скетч. Мне нужно записать время включения-выключения устройства. Собрать статистику. (Водяной насос, если кому-то интересно).

Поставил RTC, записал тест в EEPROM, прочел, все ок. И вот остановился на поиске алгоритма выгрузки.

Собственно вопрос: предложите "элегантное" решение, алгоритм выгрузки пользовательских данных?

В конце концов я их буду в excel переносить.
Пока моя мысль - поставить модуль sd карты.

 

b707
Offline
Зарегистрирован: 26.05.2017

если ставить СД-карту, то тогда и в ЕЕПРОМ писать не надо, пишите сразу на карту

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Zero-Botanik пишет:

Пока моя мысль - поставить модуль sd карты.

Ну да, можно еще Ethernet shield или ESP-8266 и прям в SQL базу! ;)). Стесняюсь поинтересоваться здоровьем - в том смысле не ипа..нулся ли ты?

Напечатай просто в сериал, чем это тебя не устраивает? Потом ctrl-c-ctrl-v перенесешь в редактор или прямо в Ёксель.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

b707 пишет:

если ставить СД-карту, то тогда и в ЕЕПРОМ писать не надо, пишите сразу на карту

Согласен -не мучайте ЕЕПРОМ (он кроме того ещё и маленький), а пишите в файл. 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

wdrakula пишет:

Напечатай просто в сериал, чем это тебя не устраивает? Потом ctrl-c-ctrl-v перенесешь в редактор или прямо в Ёксель.

Граф, ну не у всех устройства подключены к линуксу. Я для мониторинга своего устройства малинку поставил с вифаем. Но не у всех такие возможности. А ESP32 не для начинающих

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

А каким боком тут ваще линукс? Что, на масдае нельзя в сериал печатать, а потом в эксель копировать?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

mykaida пишет:

Граф, ну не у всех устройства подключены к линуксу.

?????

Какая связь с Линухом? Монитор порта - в Arduino IDE. Она везде одинаковая.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Теоретический вопрос: а что такое "алгоритм выгрузки"?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Такое единодушие требует отметки!

Женя! Мерри Кристмасс ...ну и Шаббат шалом, шоп два раза не вставать!

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Шалом, граф!

Я тут на новый год порулить решил. Надеюсь первого числа дороги будут без пробок :-)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

wdrakula пишет:

Zero-Botanik пишет:

Пока моя мысль - поставить модуль sd карты.

Ну да, можно еще Ethernet shield или ESP-8266 и прям в SQL базу! ;)).

я за SQL!!!
ЗЫ задачи бывают разные, иногда только упоминание, что теперь данные будут собираться помогают найти крысу

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

ua6em пишет:
я за SQL!!!

ЗЫ задачи бывают разные, иногда только упоминание, что теперь данные будут собираться помогают найти крысу

Вам сказали - Exel! И некуй выёбываться.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

mykaida пишет:

ua6em пишет:
я за SQL!!!

ЗЫ задачи бывают разные, иногда только упоминание, что теперь данные будут собираться помогают найти крысу

Вам сказали - Exel!

с SQL можно забрать куда угодно

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

Память исключительно для удобства обработки. Думал суммировать время за день, по истечении суток сумму записывать в EEPROM и на карту. 100 тысяч дней мне хватит ресурса. Ну может на случай сбоя энергии апдейтить раз 10 в день, тогда остается 10 тыс. дней. Думаю, уложусь.

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

На кой ляд мне ваш сиквел для пары столбцов?

В общем, мой алгоритм самый удобный и победу соответственно присуждаю себе.

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

mykaida пишет:

Граф, ну не у всех устройства подключены к линуксу. Я для мониторинга своего устройства малинку поставил с вифаем. Но не у всех такие возможности. А ESP32 не для начинающих

Именно, здравый комментарий.

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

b707 пишет:

если ставить СД-карту, то тогда и в ЕЕПРОМ писать не надо, пишите сразу на карту

 

А если он (насос) в это время захочет поработать? Что будет с записью, если я карту достану?

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

wdrakula пишет:

Zero-Botanik пишет:

Пока моя мысль - поставить модуль sd карты.

Ну да, можно еще Ethernet shield или ESP-8266 и прям в SQL базу! ;)). Стесняюсь поинтересоваться здоровьем - в том смысле не ипа..нулся ли ты?

Напечатай просто в сериал, чем это тебя не устраивает? Потом ctrl-c-ctrl-v перенесешь в редактор или прямо в Ёксель.

 

ип@нулся здесь ты. что я у насоса с компом сидеть что-ли буду?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Zero-Botanik пишет:

Память исключительно для удобства обработки. Думал суммировать время за день, по истечении суток сумму записывать в EEPROM и на карту. 100 тысяч дней мне хватит ресурса. Ну может на случай сбоя энергии апдейтить раз 10 в день, тогда остается 10 тыс. дней. Думаю, уложусь.

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

На кой ляд мне ваш сиквел для пары столбцов?

В общем, мой алгоритм самый удобный и победу соответственно присуждаю себе.

а что у тебя вайфая дома нету, тогда и по подвалам лазить не надо, всё доступно будет из браузера )))

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Zero-Botanik пишет:

победу соответственно присуждаю себе.

Наши поздравления!

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

ua6em пишет:

а что у тебя вайфая дома нету, тогда и по подвалам лазить не надо, всё доступно будет из браузера )))

[/quote]

Таки научите. Я про алгоритм. Как Вы все это видите?

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

ЕвгенийП пишет:

Наши поздравления!

Спасибо.

Вам признаюсь, не это хотел получить. Не знаю очень много, есть ощущение, что есть какое-то красивое решение. Люблю все ставить под сомнение, в первую очередь про собственные решения, чтобы не зазнаться. Вот такой камин-аут.  :)

sadman41
Offline
Зарегистрирован: 19.10.2016

Присобачиваешь к ESP SD-карту и веб-интерфейс, который динамически генерируется в виде html, csv...

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

Zero-Botanik пишет:

Память исключительно для удобства обработки. Думал суммировать время за день, по истечении суток сумму записывать в EEPROM и на карту. 100 тысяч дней мне хватит ресурса. Ну может на случай сбоя энергии апдейтить раз 10 в день, тогда остается 10 тыс. дней. Думаю, уложусь.

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

Если использовать FRAM чипы EEPROM (fm24c*** - производится китайским хайтеком в разных размерах), то можно не жопиться на ресурс чипа (он там космический по уверениям даташита), а писать каждую транзакцию. Тогда при ребутах не будет теряться статистика нажитая непосильным трудом за день. Цена вопроса - копеешный чип FM24 и 2 резистора для подтяжки i2c

b707
Offline
Зарегистрирован: 26.05.2017

Rumata , думаю тут и обычная ЕЕПРОМ справится, если только ТС с кодом не на лажает. 10 записей в день хватит минимум лет на 30, даже 100 записей в день - на три года - более чем достаточно, редкая самоделка новичка столько проживает :)))

ddr2
Offline
Зарегистрирован: 27.12.2020

10 записей в день можно и в памяти держать, остальные писать в eeprom, по кнопке писать на карту с eeprom + память. 

Ну как говорится если с кодом не лажать.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Лучше на SD карту писать, у меня под OpenWRT 7 лет прожила с логом записи раз в 5 минут

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

Rumata пишет:

Если использовать FRAM чипы EEPROM (fm24c*** - производится китайским хайтеком в разных размерах), то можно не жопиться на ресурс чипа (он там космический по уверениям даташита), а писать каждую транзакцию. Тогда при ребутах не будет теряться статистика нажитая непосильным трудом за день. Цена вопроса - копеешный чип FM24 и 2 резистора для подтяжки i2c

Спасибо, обязательно ознакомлюсь с чипами.
Цена деталей не особо критична, в своих несложных проектах, ну не знаю, дороже микросхемы RTC и MC14490 которые и так 100+ рублей не встречал.

 

P.S. Почитал, заказал )

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

sadman41 пишет:
Присобачиваешь к ESP SD-карту и веб-интерфейс, который динамически генерируется в виде html, csv...

Тогда имеет смысл писать сразу на ESP, ардуина уже не нужна. Я попробовал тестовый пример - управлял со смартфона диодом через wifi. Но код там несколько отличается. Я ведь "не настояoий сварщик" (пока), это хобби.

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

b707 пишет:

Rumata , думаю тут и обычная ЕЕПРОМ справится, если только ТС с кодом не на лажает. 10 записей в день хватит минимум лет на 30, даже 100 записей в день - на три года - более чем достаточно, редкая самоделка новичка столько проживает :)))

 

я об том же

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

ddr2 пишет:

10 записей в день можно и в памяти держать, остальные писать в eeprom, по кнопке писать на карту с eeprom + память.

 

Вот! К этому склоняюсь.

Но в памяти держать не хочу. Электричество минимум раз в неделю отключают *уки.

А что там лажать? 100% ошибка будет  и 100% найду её и исправлю ))

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

ЕвгенийП пишет:

Теоретический вопрос: а что такое "алгоритм выгрузки"?

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

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Zero-Botanik пишет:

ddr2 пишет:

10 записей в день можно и в памяти держать, остальные писать в eeprom, по кнопке писать на карту с eeprom + память.

 

Вот! К этому склоняюсь.

Но в памяти держать не хочу. Электричество минимум раз в неделю отключают *уки.

А что там лажать? 100% ошибка будет  и 100% найду её и исправлю ))

если есть доступный SQL я бы туда лил, и никакая память не нужна ...ИМНО...
PS сомнительно как-то чтобы его не было )))

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

ua6em пишет:

если есть доступный SQL я бы туда лил, и никакая память не нужна ...ИМНО...
PS сомнительно как-то чтобы его не было )))

дом в деревне. подвал. SQL )))

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

Zero-Botanik пишет:

P.S. Почитал, заказал )

Если дойдешь до их применения, мявкни в теме. Я тебе свой простенький класс для работы с ними скину. 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Zero-Botanik пишет:

ua6em пишет:

если есть доступный SQL я бы туда лил, и никакая память не нужна ...ИМНО...
PS сомнительно как-то чтобы его не было )))

дом в деревне. подвал. SQL )))

у меня в горном ауле, это чему то мешает?

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

ua6em пишет:

у меня в горном ауле, это чему то мешает?

Очевидно нехватка мозгов у меня и отсутствие опыта. 

Как у Вас со временем, сударь? Совершенно без сарказма и без шуток.

Будьте моим ментором? Я вижу это так: с меня задачи, Вы пишете и объясняете код при необходимости. Задачи у меня в основном несложные и редкие (раз в месяц-квартал). Видно по моим сообщениям на форуме )) Могу день-два не находить времени на обсуждение (работа), но на связи в рабочее и вечернее время всегда. Стоимость консультаций называете Вы. Если Вас устроит такой режим.

Вот например первая (задача) та, что в первом сообщении. Цель - собрать статистику работы мотора. На входе условная кнопка, события - время нажатия и отпускания. Все дребезги - моя забота. Считаем время работы и снимаем удобным образом для обработки - это еще предмет обсуждения: карта, wi-fi, блютуз.

Я так работаю с конструктором. Есть условная стоимость часа. Когда не успеваю, он делает часть работ, сам после оценивает свои затраты и называет мне сумму. Уже много лет, все довольны.

Еще раз. Стоимость условного часа называете Вы. Не торгуюсь: принимаю или нет. Практически всегда принимаю.

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

Rumata пишет:

Если дойдешь до их применения, мявкни в теме. Я тебе свой простенький класс для работы с ними скину. 

Спасибо. Точно дойду. Я готов платить за обучение, мне нравится учиться. Наверное это (память) будет февраль.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Zero-Botanik пишет:
мне нравится учиться.

Тогда, лучшего учителя, чем я тебе не найти. :))) 

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

DetSimen пишет:

Zero-Botanik пишет:
мне нравится учиться.

Тогда, лучшего учителя, чем я тебе не найти. :))) 

Абсолютно не возражаю.

В понедельник в первую половину напишу Вам. Почта с цифрой 68 рабочая?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

DetSimen пишет:

Zero-Botanik пишет:
мне нравится учиться.

Тогда, лучшего учителя, чем я тебе не найти. :))) 

подтверждаю!

PS Я сам тут не настоящий сталевар, но за 5 лет на форуме узнал на три порядка больше  чем за предыдущие 30 )))

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Если у тебя управляемое устройство (насос) в подвале, то есть ровно 4 варианта решения задачи:

1. контроллер в подвале, ручной перенос данных на носителе (SD и т.п.);

2. Контроллер в подвале, беспроводная передача (WiFi, LoRa и т.п.);

3. Контроллер в подвале, провод (RS485, CAN, и т.п.);

4. Перенести контроллер из подвала и наверху спокойно работать с проводам, хоть прям с USB разъемом.

-------------------------------

Так вот на мой взгляд, что я и выразил в первом своем ответе, решение 1 - самое дурацкое. Для 2 нужно переводить контроллер на ESP - это хорошее решение. 3 - тоже нормально, два проводочка RS485 никому не помешают и принимать можно сразу на комп, постоянно или раз от раза сливая накопленные во ФРАМ или ЕЕПРОМ данные.

Но самое правильное, как я и имел ввиду вначале, это решение 4 - вынести контроллер из погреба.К насосу все равно идет питание 220, так какая разница, где контроллер? Он у тебя от датчика давления, скорее всего, управляется? Так зачем ему жить в сырости подвала рядом с насосом?

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

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Zero-Botanik пишет:
Почта с цифрой 68 рабочая?

да

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

DetSimen пишет:

Zero-Botanik пишет:
Почта с цифрой 68 рабочая?

да

 

Договорились.

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

wdrakula пишет:

Если у тебя управляемое устройство (насос) в подвале, то есть ровно 4 варианта решения задачи:

1. контроллер в подвале, ручной перенос данных на носителе (SD и т.п.);

2. Контроллер в подвале, беспроводная передача (WiFi, LoRa и т.п.);

3. Контроллер в подвале, провод (RS485, CAN, и т.п.);

4. Перенести контроллер из подвала и наверху спокойно работать с проводам, хоть прям с USB разъемом.

-------------------------------

Спасибо. Это очень хороший развернутый ответ.

Мне нравится п.2 для этой задачи.

1. правда дурацкое решение, но простое
3. никаких проводов в этом мире больше
4. просто не нравится ) противоречит ООП ))))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

wdrakula пишет:

Если у тебя управляемое устройство (насос) в подвале, то есть ровно 4 варианта решения задачи:

скажи мне дружище, это у меня трансформация сознания, что методов накопления данных кроме баз данных не приемлю?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Zero-Botanik пишет:

Мне нравится п.2 для этой задачи.

и самый простой в реализации

PS у меня подвал сухой, абсолютно сухой, поварил сам всё, полипропилен армированный

sadman41
Offline
Зарегистрирован: 19.10.2016

Если данные не перерабатываются на месте, то в любом случае накапливаются в базе.

Физическая реализация (SQL, NoSQL, файловая система или Time Cristall) БД никакого отношения к накоплению данных не имеет.

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

DetSimen пишет:

да

Ах да, очень важное. Пока на берегу. Потому что думаю, что мы договоримся и сработаемся.

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

Звать меня Ботаник, можно Юра, можно Игорь ))) и ко мне на "ты", пожалуйста ))

Да просто мне так удобно :) 

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

sadman41 пишет:
Если данные не перерабатываются на месте, то в любом случае накапливаются в базе. Физическая реализация (SQL, NoSQL, файловая система или Time Cristall) БД никакого отношения к накоплению данных не имеет.

Согласен. Вопрос именно в реализации. 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:
Если данные не перерабатываются на месте, то в любом случае накапливаются в базе. Физическая реализация (SQL, NoSQL, файловая система или Time Cristall) БД никакого отношения к накоплению данных не имеет.

в конечном итоге пишется на носитель )))

sadman41
Offline
Зарегистрирован: 19.10.2016

Memcached, Redis...