我正在使用Gammu通过华为USB棒-带RPi发送短信。运行良好。就在前一段时间,它开始了一种奇怪的行为。
我正在使用以下命令通过Python插入SMS文本:
"""
send an sms
"""
def sim_send_sms(number, text):
command = ['sudo', 'gammu-smsd-inject', 'TEXT', number]
p = subprocess.Popen(command, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
output = p.communicate(input=text.encode("iso-8859-1"))[0]
return output.decode("iso-8859-1")
自一开始以来,效果就很好。 Gammu服务正在发送SMS。没问题。但是...它并没有删除数据库“发件箱”表中的条目。因此,它正在发送并发送并发送它...
我刚刚检查了日志文件,上面写着:
Sat 2018/09/29 13:42:32 gammu-smsd[762]: New message to send: 140
Sat 2018/09/29 13:42:32 gammu-smsd[762]: Message without SMSC, assuming you want to use the one from phone
Sat 2018/09/29 13:42:36 gammu-smsd[762]: SMS sent on device: "/dev/ttyUSB_utps_modem" status=0, reference=169
Sat 2018/09/29 13:42:36 gammu-smsd[762]: Transmitted 140 (total: 1) to ***
Sat 2018/09/29 13:42:36 gammu-smsd[762]: Error code: 1062, Error: Duplicate entry '140-1' for key 'PRIMARY'
Sat 2018/09/29 13:42:36 gammu-smsd[762]: SQL failure: 79
Sat 2018/09/29 13:42:36 gammu-smsd[762]: Error writing to database (SMSDSQL_AddSentSMSInfo)
Sat 2018/09/29 13:42:36 gammu-smsd[762]: Error setting sent status: Fehler beim Ausf▒hren der SQL Anfrage. (SQL[79])
Sat 2018/09/29 13:52:37 gammu-smsd[762]: New message to send: 140
Sat 2018/09/29 13:52:37 gammu-smsd[762]: Message without SMSC, assuming you want to use the one from phone
Sat 2018/09/29 13:52:39 gammu-smsd[762]: SMS sent on device: "/dev/ttyUSB_utps_modem" status=0, reference=170
Sat 2018/09/29 13:52:39 gammu-smsd[762]: Transmitted 140 (total: 1) to ***
Sat 2018/09/29 13:52:39 gammu-smsd[762]: Error code: 1062, Error: Duplicate entry '140-1' for key 'PRIMARY'
Sat 2018/09/29 13:52:39 gammu-smsd[762]: SQL failure: 79
Sat 2018/09/29 13:52:39 gammu-smsd[762]: Error writing to database (SMSDSQL_AddSentSMSInfo)
Sat 2018/09/29 13:52:39 gammu-smsd[762]: Error setting sent status: Fehler beim Ausf▒hren der SQL Anfrage. (SQL[79])
我看到重复的输入错误。 “发件箱”中的最后一个ID是140。这是正确的。但是,gammu为什么要在“发件箱”中写入新的数据库条目?这没有道理。它应该发送短信,在“表情”中输入内容,并在“发件箱”中删除该内容。 (到目前为止,我的逻辑……我错了吗?)。 我总是必须手动删除发件箱条目...否则它将发送短信,直到充值金额为空:-(
为什么日志文件仅包含一些条目?它一定很大...但是不是。有什么限制(我可以更改)?我现在只有今天的最新错误。但是我想要/需要全部。
有人知道为什么我会有这个问题以及如何解决吗?
---------解决方案----------
好的,与此同时,我自己找到了解决方案。重复条目 不指向“发件箱”。 Gammu尝试执行以下操作时发生错误 在“情感”中重新输入。它使用与中相同的ID “发件箱”。无论出于何种原因,已经有更高的条目 我的senditems表中的ID。还有一个140(在这种情况下)。所以, 由于此问题,新条目将失败。整个脚本是 精加工。但是下一步将是删除 “发件箱”。然后我们开始...它一圈又一圈地旋转。
我不得不截断我的“表情”,现在它又可以正常工作了。只有一个 问题仍然存在:在“句子”中已经有一个更高的ID了吗?