共计 1013 个字符,预计需要花费 3 分钟才能阅读完成。
功能需求:
-
收到短信,转发到指定接口
-
发短信
-
查看短信历史
-
删除短信
完全不懂硬件,可能文中有很多低级或者常识性错误,如感到冒犯,还望大佬们海涵, 不要嘲讽
首先,自己尝试着搜索了一些现成的解决方案,主要分为 4 类
-
旧手机,一般推荐安卓 ROOT,有现成的转发软件,上面的需求基本可以全部匹配,参考项目: sms_forword
-
开发板,目前查到的用的比较多的有合宙家的 Air724UG/Air780E 系列,参考项目: air780E+ESP32、air780E、air724ug
-
树莓派 +3G/4G 网卡 +gammu, 参考项目: 基于 Raspberry Pi 的短信网关设计
-
基于 Linux 的随身 wifi 二次开发,参考项目: 基于随身 WiFi 的低成本短信转发 、 随身 WIFI 刷机入门
对已有的 4 种方案,简单做了下评估(主要是参考各种前辈使用后的反馈结果)
-
1,4 方案,扩展性强,稳定性差一些,倒不是软件层面的不靠谱,是硬件层很容易出问题,比如 1 的长期运行,设备卡顿、重启、断电,电池包故障等,整体成本最高
-
3 的话,似乎也有大佬反馈,偶尔的死机,需要重启,然后方案的复杂度要高一下些,成本中等
-
2 的话,是目前比较中意的方案,有现成的完成度很高的项目,搭建起来最简单,成本也是最低的
[Air724UG]
一开始最想采用的方案,但有几个痛点,1 是查看 / 删除历史短信,2 是主动发短信,Air724UG 是基于合宙的 LuaOS 系统开发的,看了下 LuaOS 的 SDK 手册,关于短信方面的功能比较简洁,监听来信事件,然后触发回调函数转发出去
按我的理解,SIM 卡本身是有一定存储空间的,可以存一部分短信,但是 LuaOS 并没有给接口查看历史短信 / 清除历史短信的功能,如果我插入一个本身存在历史短信的 SIM 卡,似乎没有办法获取到信息
发短信的话能想到的方案是收到指定前缀 / 号码的短信,解析内容,然后调用发信接口,比较麻烦,LuaOS 好像也不支持起一个小型的 web server,来做些复杂的需求(接受发短信指令 / 查看 / 删除指定短信之类的)
不支持 WIFI,要接其他板,复杂度又上去一点
[树莓派 +3G/4G 网卡 +gammu]
最贴近需求的方案,目前最中意的方案,复杂度有点高,但是支持 Python,感觉灵活性一下子就上来了,网上的参考项目有点少,不知道大佬们有没有自己做过的,树莓派的型号怎么选?需要支持 SIM 卡 +WIFI,然后能给稳定运行就好,稳定性第一,专机专用,套个壳感觉很合适(使用场景不需要考虑功耗)