Страница 1 из 1
EEPROM
Добавлено: 01 авг 2017, 08:26
kosmas
Люди добрые, мы сами пока не местные, поможите, кто чем может...
Задача - сделать GSM-шлюз для ворот поселка. Т.е. человек звонит - ворота открываются. В общем-то, сейчас он так и работает уже третий год. Зависаний было штук 10 за все время. Работают SIM-модуль М590Е, плата реле, экранчик, модуль SD-карты и модуль RTC на 1307. Изначально задачу себе ставил такую:
Человек звонит, его номер проверяется на наличие в текстовом файле на SD карте, если есть, то пишем в лог на ту же SD и открываем ворота. Если нет номера, то пишем в лог и ворота не открываем.
Где-то с месяц все работало нормально, потом стала отваливаться SD-карта. Помогал ребут. В общем-то это и не удивительно - шлюз стоит на улице в железном шкафу. Месяц промучился звонками недовольного правления, плюнул, отключил SD, убрал проверку номера и запись лога.
В общем, сейчас стоит задача все-таки проверять номера телефонов. Проблема в количестве номеров - 150 штук. Вроде как просится тот же EEPROM, но с какого бока к нему подойти, как изначально заполнить список я не знаю...
EEPROM
Добавлено: 01 авг 2017, 09:30
vovka1973
kosmas писал(а):EEPROM
Покупай внешний епром и пиши туда что хошь ,благо автор сделал поддержку внешнего епроом
EEPROM
Добавлено: 01 авг 2017, 10:26
rw6cm
kosmas писал(а):сейчас стоит задача все-таки проверять номера телефонов.
Как часто они меняются, и кто редактирует список?
может номера в массив, кода надо с ноута пере залил список, и не заморачиваться с памятью.
EEPROM
Добавлено: 01 авг 2017, 11:01
kosmas
vovka1973 писал(а):Покупай внешний епром и пиши туда что хошь
Это-то, понятно. Я спросил про изначальное заполнение 150 телефонов, да и редактировать надо иногда...
Добавлено (01.08.2017, 11:01)
---------------------------------------------
rw6cm писал(а):может номера в массив, кода надо с ноута пере залил список, и не заморачиваться с памятью.
В массив как??? Желательно, чтобы справился и чайник...
EEPROM
Добавлено: 01 авг 2017, 11:36
Сергей
kosmas, поставьте мегу2056, там еепром побольше будет. А вообще что мешает хранить номера на сим карте? АТ командами читаете входящий номер, потом поштучно читаете все номера с сим и сравниваете.
EEPROM
Добавлено: 01 авг 2017, 13:50
kosmas
Сергей писал(а):А вообще что мешает хранить номера на сим карте?
Блин.. Даже в голову не пришло... Спасибо, буду думать!
Добавлено (01.08.2017, 13:50)
---------------------------------------------
Продолжаем разговор...
Посмотрел команды работы с телефонной книгой. AT+CPBF=<findtext> - ищет только по имени. По номеру не ищет. Можно попробовать искать перебирая индексы AT+CPBR=<index>, но боюсь, это займет много времени - 2-3 секунды. Не критично, но неприятно.. Буду собирать в железе и смотреть...
Возвращаясь к EEPROM - просто интересно стало, а как туда пихать справочник?
EEPROM
Добавлено: 01 авг 2017, 14:18
fsergei70
Извините что немного не в тему, не хочу плодить новую тему, так как мой вопрос касается тоже eeprom. Уважаемые знатоки как можно организовать запись значений в память каждый раз в новую переменную. Необходимо считывать температуру раз в час и записывать значение времени и температуры до заполнения eeprom. После заполнения в идеале былобы не плохо чтоб старые значения затирались новыми. Таким образом получился бы своеобразный архив. Именем переменной может быть дата и время. Можно конечно использовать карту памяти и писать в файл но интересней всё-таки попробовать прикрутить eeprom.
EEPROM
Добавлено: 01 авг 2017, 14:29
Сергей
fsergei70, создайте новую тему и точнее опишите ТЗ, попробую сделать блок, пока в памяти остались наработки от прошлого проекта.
EEPROM
Добавлено: 01 авг 2017, 14:59
pan
fsergei70, можно так сделать, но если после заполнения смещать весь архив, это займет много времени и быстрее убьет епром. проще сделать так что самое старое значение будет перезаписано новым. просто по кругу. но тогда станет не известно какое значение было последним. хотя можно индекс переменной тоже запоминать.
EEPROM
Добавлено: 03 авг 2017, 09:19
rw6cm
kosmas писал(а):В массив как??? Желательно, чтобы справился и чайник...
Да в принципе не чего сложного. Добавляем в проекте плату для чайника, в которой один блок "получение элемента массива".
Чайник на ноуте стартует проект в флпрог, заходит в плату для чайника, двойной клик на блоке, увеличивает размер на кол. добавляемых телефонов,
жмет заполнить, внизу в пустые ячейки заносит номера телефонов, готово. Подключает к Унке и заливает.

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