2016-11-12 6 views
0

Я работаю над проектом, который требует подключения GPRS и отправки SMS одновременно.Программирование: adafruit Fona gprs + sms?

Я использую малину Pi и adafruit fona.

Я установил соединение GPRS, следуя этому руководству FONA Tethering to Raspberry Pi.

Я не использую ttyAMA0. Я изменил это на ttyUSB0, а затем использовал соединение USB с TTL.

Я успешно установил соединение GPRS, но проблема в том, что когда мой код Python пытается отправить SMS с помощью команды AT, он не будет работать.

Это, как я посылаю SMS:

modem=serial.Serial('/dev/ttyUSB0',115200,timeout=5) 
modem.write("AT+CMGF=1\r".encode()) 
time.sleep(1) 
modem.write('AT+CMGS="00*******"\r\n'.encode()) 
time.sleep(1) 
modem.write("message\r".encode()) 
time.sleep(1) 
modem.write(ascii.ctrl('z').encode()) 
time.sleep(1) 

Почему только код отправки SMS, если GPRS не работает?

ответ

0

Я также использую fona начиная с примерно 1 года для смс и http сообщений. SMS для приема команд и сообщений для отправки обновлений в облако.

Прежде всего, чтобы получить sms надежно fona необходимо включить в течение 20 секунд (я запускаю свою систему на солнечной энергии - так что я полностью отключился, когда это не понадобится).

Отправка SMS можно быстрее, чем 20 секунд, но я все равно пришел со следующим циклом при включении Fona в качестве лучшей практики:

  1. FONA включается
  2. GPRS включен
  3. сообщение данных отправляется (занимает несколько секунд)
  4. выключить GPRS
  5. ожидания до тех пор, пока прошло не менее 20 секунд, так как FONA был включен, чтобы убедиться, что смс было получено
  6. проверка смс
  7. отправить ответ смс, если требуется

Так что я думаю, что в то время, выключая GPRS необходимо для смс, чтобы быть получены или отправлены. Он также потребляет больше энергии.

Смежные вопросы