功能需求:
收到短信,转发到指定接口
发短信
查看短信历史
删除短信
完全不懂硬件,可能文中有很多低级或者常识性错误,如感到冒犯,还望大佬们海涵, 不要嘲讽
首先,自己尝试着搜索了一些现成的解决方案,主要分为 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 ,然后能给稳定运行就好,稳定性第一,专机专用,套个壳感觉很合适(使用场景不需要考虑功耗)