By: Дмитрий Денисов
Таблица кодов ответов на команду (в начале идет символ 'R'):
'0' - ошибок НЕТ
'5' - некорректная длина принятых данных
'6' - переполнение входного буфера
'7' - переполнение выходного буфера
'8' - один или более символов не могут быть преобразованы в цифры
'9' - отсутствует адресуемый элемент
'A' - неизвестная команда
'B' - неизвестная ошибка
'C' - неверный номер строки
'D' - неверный номер колонки
'E' - ошибка CRC
'F' - принят не печатный ASCII символ
'G' - превышен таймаут ожидания следующего символа
'H' - ошибка доступа к внешней памяти при записи в нее из ПК
'I' - принятое для сохранения сообщение слишком большое
'J' - функции охраны отключены
'K' - ошибка доступа к внешней памяти при чтении из нее из ПК
'L' - ошибка доступа к внешней памяти (шина I2C занята)
'M' - замок не закрыт из-за разряда акк. ниже 25%
'N' - управление замком с ПК запрещено
'O' - питание платы выключить нельзя, плата подключена к питанию от сети 220В
'P' - замка с таким номером не существует
// коды внутренних ошибок (в начале идет символ 'E')
'1' - не верный ответ на команду ATE
'2' - не верный ответ на команду AT+CPIN, модем не готов к работе
'3' - не верный ответ на команду AT+CSCA
'4' - не верный ответ на команду AT+CMGF
'5' переполнение буфера фифо приема по RS232
'6' - ошибка при чтении из внешней памяти
'7' - ошибка при записи во внешнюю память
'8' - не печатный ASCII символ (в длине сообщения)
'9' - ошибка при инициализации
':' сброс по включению питания Power-On Reset
';' переполнение буфера фифо для передачи в SIM900
'<' переполнение буфера фифо для приема из SIM900
'=' все ключи производителя повреждены
'>' ошибка записи нового брелка в еепром
'?' ошибка перезаписи существующего брелка в еепром (после обнаружения ошибки при обновлении синхронизации)
'@' ошибка обновления величины синхронизации
'A' ошибка при чтении из внешней еепром информации о получателе
'B' ошибка при чтении из внешней еепром требуемого сообщения
'C' ошибка при чтении из внешней еепром номера телефона
'D' ошибка при чтении из внешней еепром управляющего слова
'E' ошибка при поиске нового получателя во внешней памяти
'F' ошибка при загрузке конфига из внешней памяти
'G' переполнение буфера фифо информационных сообщений
'H' переполнение буфера слотов входящих смс-сообщений
'I' ошибка преобразования кода сообщения в адрес во флеш
'J' ошибка при попытке чнтения мс
'K' переполнение буфера фифо для запросных сообщений
'L' ошибка доступа к шине I2C (внешняя память) в операциях чтения/записа
'M' переполнение буфера фифо для USSD-запросов
'N' сброс процесса отправки USSD-запроса
'O' oшибка при загрузке из внешней памяти строки запроса баланса
'P' сброс процесса отправки SMS-сообщения
'Q' ошибка длины строки запрос баланса
'R' строка запроса баланса не задана
'S' сообщение модема об ошибке при отправке USSD-запроса
'T' ответ на запрос баланса пришел испорченный (не найдена двойная кавычка)
'U' ошибка при преобразовании из USC2 в str (при работе с модемом)
'V' ошибка при преобразовании из STR в BIN (при работе с модемом)
'W' загружен конфиг по-умолчанию
'X' повторное включение модема (эта ошибка может возникать при повторном включении модема после посадки питания)
'Y' повторное выключение модема
'Z' ошибка при определении длины полученного смс сообщения или оно слишком длинное (больше 99)
'a' сброс приема от ПК из-за таймаута ожидания следующего символа
'b' сброс приема от SIM900 из-за таймаута ожидания следующего символа
'c' принято сообщение на латинице (пока не поддерживаются)
'd' принудительный сброс модема по питанию, выключение питания модема
'e' принудительный сброс модема по питанию, включение питания модема
'f' модем так и не прошел начальную инициализацию
'g' переполнение буферов телефонов входящих звонков
'h' переполнение очереди задач
'i' переполнение очереди таймеров
'j' неизвестный режим работы после проврки ПИН-кода
'k' сброс по WDT-таймеру Watchdog Reset
'l' сбой загрузки пароля DTMF из внешней памяти
'm' сброс приема от LOCK из-за таймаута ожидания следующего символа
'n' сброс приема от RS485 из-за таймаута ожидания следующего символа
'o' сброс приема от MAIN из-за таймаута ожидания следующего символа
'p' переполнение буфера фифо для передачи в LOCK
'q' переполнение буфера фифо для приема из LOCK
'r' переполнение буфера фифо для передачи в RS485
's' переполнение буфера фифо для приема из RS485
't' переполнение буфера фифо для передачи в MAIN
'u' переполнение буфера фифо для приема из MAIN
'v' переполнение буфера фифо имен входных буферов фифо
'w' ошибка оунера при приеме данных (это критическая ошибка!)
'x' ошибка оунера при передаче данных (это критическая ошибка!)
'y' сброс процесса чтения SMS-сообщения
'z' ссылка на нулевой указатель
'{' повреждение конфигурации, будет произведена перезагрузка системы
'|' произошел внешний сброс External Reset
'}' софтверный сброс Software reset
'~' сброс от BOR Brown-Out Reset
Что касается команды запроса, то она не изменялась - это заглавная буква 'i' By: sergey
И ещё один вопрос.
Вы не могли бы прислать коды ошибок?
К примеру, я отправляю запрос FFA31, в ответ приходит FFRJ47, где J -явно не ноль, а значит ошибка, но какая неизвестно. By: sergey
Дмитрий, спасибо за пояснения, буду экспериментировать.
Подскажите, пожалуйста, еще один момент. В ответ на запрос о текущем состоянии блока (FFI?33) ) - тишина, при этом команды на закрытие, открытие и т.д (в новом формате, учитывающем номер замка) проходят. Формат данного запроса не менялся? By: Дмитрий Денисов
Приветствую.
Спасибо за хороший отзыв!
Далее попытаюсь ответить по пунктам:
1. Да это так. Нужно разрешить управление замком из ПК.
2. Начиная с октября 2013 года в формат немного изменился: поле [серийный номер, 8 символов] стало длиной 11 символов и в нем может быть передан как серийный номер брелка, так и номер телефона. Были добавлены следующие коды сообщений:
B - выход из режима программирования
C - произошла блокировка телефона
D - произошла разблокировка телефона
E - произошла блокировка ключа
F - произошла разблокировка ключа
G - сработка на Линии (появилась единица)
H - вход 1 логический ноль
I - вход 1 логическая единица
J - вход 2 логический ноль
K - вход 2 логическая единица
Немного изменился и формат команды управления замком. С помощью нее можно управлять несколькими замками.
A[cmd 1b]{[номер замка от 1 до 9 1b]} - управление замком с ПК
номер замка может отсутствовать, в этом случае команда будет принята к замку 0 (он же 1)
cmd = 0 - закрыть (возможна автопостановка под охрану, если разрешена)
cmd = 1 - открыть (возможно автоснятие с охраны, если разрешено)
cmd = 2 - поставить под охрану
cmd = 3 - снять с охраны
Эту команду можно использовать и без явного указания номера замка - по умолчанию он равен 1.
Мне жаль пользователей маков. В будущем некоторые настройки можно будет менять через смс-сообщения.
Понятие boud rate - это скорость работы по интерфейсу. Аналогия, которая вы придумали, вполне уместна) By: sergey
Доброй ночи.
Спасибо за классный замок и начинку. Вы очень крутые. Поставил, ещё не совсем пользуюсь, но уже вовсю радуюсь.
Пара вопросов.
1. Правильно ли я понимаю, что для того, чтобы замок не только отправлял данные, но и принимал команды, нужно выставить специальную опцию в конфигураторе?
2. Информационные сообщения приходят вот в таком виде:
FFI51000000000006A
FFI410000000000069
Кажется, что здесь три лишних нуля. Так и должно быть?
P.S.: мысли в слух.
1. Пользователи MacOS плачут при запуске конфигуратора (даже, если им удаётся его запустить). Благо потребности в его постоянном использовании нте.
2. Не то, чтобы минус, но всё-таки. При взаимодействии с управляющим блоком для меня совсем не очевидна была такая штука как baud rate. Сначала пробовал методом тыка, а потом погуглил по запросу avr default baud rate. Собственно не зная его это как пытаться созвониться с кем-то не зная его номера телефона. By: Дмитрий Денисов
Добавить такую команду не сложно. Надо подумать, как сохранить (и сохранять ли вообще) логику автоматического управления, если пришла команда извне. By: _Pavel_
А можно ждать в новой прошивке? By: Дмитрий Денисов
Павел, в настоящее время таких команд не существует. Управление реле происходит автоматически в зависимости от выбранного режима работы. Ну, еще его можно совсем отключить с помощью дип-переключателя №5. By: _Pavel_
Добрый день!
А как с помощью компьютера можно управлять дополнительным реле (свет/тревога)? Это могло бы очень пригодиться! :)