EEPROM

Использование внешней и внутренней EEPROM, а так-же SD card
Ответить
kosmas
Рядовой
Сообщения: 42
Зарегистрирован: 20.04.2016{, 10:56}
Репутация: 0
Откуда: Санкт-Петербург

EEPROM

#1

Сообщение kosmas » 01.08.2017{, 08:26}

Люди добрые, мы сами пока не местные, поможите, кто чем может...
Задача - сделать GSM-шлюз для ворот поселка. Т.е. человек звонит - ворота открываются. В общем-то, сейчас он так и работает уже третий год. Зависаний было штук 10 за все время. Работают SIM-модуль М590Е, плата реле, экранчик, модуль SD-карты и модуль RTC на 1307. Изначально задачу себе ставил такую:
Человек звонит, его номер проверяется на наличие в текстовом файле на SD карте, если есть, то пишем в лог на ту же SD и открываем ворота. Если нет номера, то пишем в лог и ворота не открываем.
Где-то с месяц все работало нормально, потом стала отваливаться SD-карта. Помогал ребут. В общем-то это и не удивительно - шлюз стоит на улице в железном шкафу. Месяц промучился звонками недовольного правления, плюнул, отключил SD, убрал проверку номера и запись лога. 
В общем, сейчас стоит задача все-таки проверять номера телефонов. Проблема в количестве номеров - 150 штук. Вроде как просится тот же EEPROM, но с какого бока к нему подойти, как изначально заполнить список я не знаю...

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

EEPROM

#2

Сообщение vovka1973 » 01.08.2017{, 09:30}

kosmas писал(а):EEPROM
Покупай внешний епром и пиши туда что хошь ,благо автор сделал поддержку внешнего епроом
Последний раз редактировалось vovka1973 01.08.2017{, 09:31}, всего редактировалось 1 раз.
Изображение

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

EEPROM

#3

Сообщение rw6cm » 01.08.2017{, 10:26}

kosmas писал(а):сейчас стоит задача все-таки проверять номера телефонов.
Как часто они меняются, и кто редактирует список?
может номера в массив, кода надо  с ноута пере залил список, и не заморачиваться с памятью.
Win10-64, FLProg (portable)

kosmas
Рядовой
Сообщения: 42
Зарегистрирован: 20.04.2016{, 10:56}
Репутация: 0
Откуда: Санкт-Петербург

EEPROM

#4

Сообщение kosmas » 01.08.2017{, 11:01}

vovka1973 писал(а):Покупай внешний епром и пиши туда что хошь
Это-то, понятно. Я спросил про изначальное заполнение 150 телефонов, да и редактировать надо иногда...

Добавлено (01.08.2017, 11:01)
---------------------------------------------
rw6cm писал(а):может номера в массив, кода надо  с ноута пере залил список, и не заморачиваться с памятью.
В массив как??? Желательно, чтобы справился и чайник...

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

EEPROM

#5

Сообщение Сергей » 01.08.2017{, 11:36}

kosmas, поставьте мегу2056, там еепром побольше будет. А вообще что мешает хранить номера на сим карте? АТ командами читаете входящий номер, потом поштучно читаете все номера с сим и сравниваете.

kosmas
Рядовой
Сообщения: 42
Зарегистрирован: 20.04.2016{, 10:56}
Репутация: 0
Откуда: Санкт-Петербург

EEPROM

#6

Сообщение kosmas » 01.08.2017{, 13:50}

Сергей писал(а):А вообще что мешает хранить номера на сим карте?
Блин.. Даже в голову не пришло... Спасибо, буду думать!

Добавлено (01.08.2017, 13:50)
---------------------------------------------
Продолжаем разговор...

Посмотрел команды работы с телефонной книгой. AT+CPBF=<findtext> - ищет только по имени. По номеру не ищет. Можно попробовать искать перебирая индексы AT+CPBR=<index>, но боюсь, это займет много времени - 2-3 секунды. Не критично, но неприятно.. Буду собирать в железе и смотреть...

Возвращаясь к EEPROM - просто интересно стало, а как туда пихать справочник?

fsergei70
Капитан
Сообщения: 786
Зарегистрирован: 17.11.2015{, 20:36}
Репутация: 54
Имя: Сергей

EEPROM

#7

Сообщение fsergei70 » 01.08.2017{, 14:18}

Извините что немного не в тему, не хочу плодить новую тему,  так как мой вопрос касается тоже eeprom. Уважаемые знатоки как можно организовать запись значений в память каждый раз в новую переменную. Необходимо считывать температуру раз в час и записывать значение времени и температуры до заполнения eeprom. После заполнения в идеале былобы не плохо чтоб старые значения затирались новыми. Таким образом получился бы своеобразный архив. Именем переменной может быть дата и время. Можно конечно использовать карту памяти и писать в файл но интересней всё-таки попробовать  прикрутить eeprom.

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

EEPROM

#8

Сообщение Сергей » 01.08.2017{, 14:29}

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

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

EEPROM

#9

Сообщение pan » 01.08.2017{, 14:59}

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

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

EEPROM

#10

Сообщение rw6cm » 03.08.2017{, 09:19}

kosmas писал(а):В массив как??? Желательно, чтобы справился и чайник...
Да в принципе не чего сложного.  Добавляем в проекте плату для чайника, в которой один блок "получение элемента массива".
Чайник на ноуте стартует проект в флпрог, заходит в плату для чайника, двойной клик на блоке, увеличивает размер на кол. добавляемых телефонов,
жмет заполнить, внизу в пустые ячейки заносит номера телефонов, готово. Подключает к Унке и заливает. :))
Win10-64, FLProg (portable)

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

EEPROM

#11

Сообщение Sancho » 05.08.2017{, 11:55}

kosmas писал(а):Вроде как просится тот же EEPROM, но с какого бока к нему подойти, как изначально заполнить список я не знаю
Мой взгляд на решение.
Цепляете ВНЕШНЮЮ память, например 24С256, создаёте маленькую программу для принятия из уарта,а также установки вручную( с кнопок) номера блока/страницы ( можно и программу научить вычислять из принятого номер), в которую может влезть до 64 ASCII символа/байта - размер определяете сами 8,16,32,64, копипастом заполняете поштучно из своего списка, можно даже с фамилиями, именами, отчествами на латинице. Дисплей будет очень к месту.
По команде считываете по очереди диапазон заполненых блоков( станиц) сравниваете нужное, производите необходимые действия. Читать в блоке можно только необходимые для сравнения данные.
При 64-байтных блоках влезет 512 записей, используя другие 24Схх можно увеличить/уменьшить максимальный размер.
Варю кашу тут.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Ответить

Вернуться в «Устройства памяти»