python - 编程: adafruit Fona gprs+sms?

标签 python r raspberry-pi gsm gprs

我正在开发一个项目,需要 GPRS 连接并同时发送短信。

我正在使用 Raspberry Pi 和 adafruit fona。

我按照此 FONA Tethering to Raspberry Pi 建立了 GPRS 连接教程。

我没有使用 ttyAMA0。我已将其更改为 ttyUSB0,然后使用 USB 转 TTL 连接。

我已经成功建立了 GPRS 连接,但问题是,当我的 Python 代码尝试使用 AT 命令发送短信时,它将无法工作。

这就是我发送短信的方式:

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)

为什么代码在 GPRS 不工作的情况下只发送短信?

最佳答案

我也使用 fona 来发送短信和 http 帖子大约一年了。通过短信接收命令和帖子以将更新发送到云端。

首先要可靠地接收短信,fona 必须打开 20 秒(我的系统使用太阳能运行 - 所以当不需要时我会完全关闭 fona)。

发送短信的速度可能会快于 20 秒,但无论如何,我在打开 fona 时提出了以下工作周期作为最佳实践:

  1. fona 已开启
  2. GPRS 已开启
  3. 发布数据已发送(需要几秒钟)
  4. 关闭 GPRS
  5. 请等到 fona 打开后至少 20 秒,以确保已收到短信
  6. 检查短信
  7. 如果需要,发送回复短信

所以我认为当时关闭 gprs 对于接收或发送短信是必要的。它还消耗更多电量。

关于python - 编程: adafruit Fona gprs+sms?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40563462/

相关文章:

python - 使用 MxNet 运行 Alexnet

python - 使用 ctypes 模块将 blake 哈希函数 C 实现包装到 Python 中,还包括简单的 python ctypes testvector 脚本

r - Shiny 的模块 : Pass values from renderUI (in server function) to another module's server function

linux - 如何在已部署的应用程序中检查 .NET Core 的版本?

linux - 为什么我不能在 Raspberry Pi 上使用 GHC 7.8.4 安装任何软件包?

python - 从python中的while循环内部返回值

python - 为什么在回归正则化时跳过 theta0?

r - 如果行有相似的元素,则保留较短的行

r - 使用 ggplot2 进行逻辑回归 + 直方图

opencv - 如何配置while循环以使用picamera?