Originally Posted by
ConstAntz
Тестовая версия скрипта чтения смс
2 dlukanidin, скелет готов - если есть желание, можете дорабатывать под нужды общества.
Хорошая работа. У меня пока нет возможности посвятить этому достаточно времени, но у Вас и у самого получается отлично. Может проделаете ещё несколько шагов ?
Мои предложения:
1. Воспользоваться для выдачи AT команд и кодировки/раскодировки уже написанными функциями в файле /usr/share/modem/bin/state_3g_common (это не потому, что Вы плохо написали, а чтобы сократить объём общего кода для разных скриптов), при необходимости добавить туда нужные функции. (для получения доступа к этим функциям ставите в начале своего скрипта "source /usr/share/modem/bin/state_3g_common", примеры использования в той же папке, если есть вопросы - готов дать пояснения)
2. Весь вывод делать в stdout в формате JSON. Например для чтения:
Code:
{"new_count":"1","old_count":"1","sms":[{"num":"1","status":"new","time":"00:00:00","sender":"111","text":"test sms 1"},{"num":"2","status":"old","time":"00:00:00","sender":"111","text":"test sms 2"}]}
Если ошибка, то
Code:
{"error":"text ERROR"}
это только пример, реальная структура должна соответствовать логике чтения из модема, но хорошо если в ней будет максимум информации.
3. В качестве кодировки использовать UTF-8, соответствующие функции есть в вышеуказанном файле.
4. Добавить в функционал информацию о количестве сообщений (можно как в моём примере вывода), стирание сообщений.
5. Закомментировать, а после отладки убрать совсем отладочную печать (как я понимаю логирование Вы сделали для отладки).
А мы к этому скрипту потом приделаем кусок морды и будет очередное расширение функционала.