V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
caneman
V2EX  ›  问与答

基于 树莓派/开发板/旧手机 的短信转发方案汇总&请教

  •  
  •   caneman · 234 天前 · 1644 次点击
    这是一个创建于 234 天前的主题,其中的信息可能已经有所发展或是发生改变。

    功能需求:

    1. 收到短信,转发到指定接口

    2. 发短信

    3. 查看短信历史

    4. 删除短信

    完全不懂硬件,可能文中有很多低级或者常识性错误,如感到冒犯,还望大佬们海涵, 不要嘲讽

    首先,自己尝试着搜索了一些现成的解决方案,主要分为 4 类

    1. 旧手机,一般推荐安卓 ROOT ,有现成的转发软件,上面的需求基本可以全部匹配,参考项目: sms_forword

    2. 开发板,目前查到的用的比较多的有合宙家的 Air724UG/Air780E 系列,参考项目: air780E+ESP32air780Eair724ug

    3. 树莓派+3G/4G 网卡+gammu, 参考项目: 基于 Raspberry Pi 的短信网关设计

    4. 基于 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 ,然后能给稳定运行就好,稳定性第一,专机专用,套个壳感觉很合适(使用场景不需要考虑功耗)

    第 1 条附言  ·  227 天前
    最终还是选择了合宙的 724UG 的方案

    官方的文档写的不全,去下了最新的官方 lib 库,发现自己需要的功能都能实现

    另外发现板子是支持 mqtt 协议的,搭了个私有的 MQTT 服务器

    写了一套接口,现在所有的功能都可以实现了

    api 接口控制设备发短信/删除短信/短信历史/读取指定短信

    板子收到短信的时候,往指定 api 接口传送数据

    完美解决,撒花
    18 条回复    2024-04-04 02:24:19 +08:00
    getupshow
        1
    getupshow  
       234 天前
    1 最省钱省力,旧手机加超级电容改直供电,tasker 转发,稳定运行一年多了
    caneman
        2
    caneman  
    OP
       234 天前
    @getupshow 目前想在 2 、3 中选择,1 、4 的话,基于成本/稳定/扩展/灵活性考虑,不是很想选
    tool2d
        3
    tool2d  
       234 天前
    我就是旧手机收短信,24 小时插的充电器,平均 2 ~ 3 年鼓包换一次电池。

    放在公司没人的地方,别晒太阳就行,一般来说不会炸。

    很久以前的手机,可以启动后把电池拆下来,用 USB 供电,现在的手机都不行了。
    bigtear
        4
    bigtear  
       234 天前
    移动充 79 话费送一个老年机,双卡双待、支持 SD 卡、5g 、安卓 13 、可拆卸电池,非常适合你拿来转发短信。
    timeance
        5
    timeance  
       234 天前
    Air780E 搭配了一个 WiFi 板子做转发。

    老是掉卡,具体表现为绿灯在闪 表明未驻网
    bigtear
        6
    bigtear  
       234 天前
    @bigtear 你说的我都研究过。除了旧手机再利用,这些方案都没有这个老年机简单好用和成本低,还有 5g🤣,
    我宣布老年机杀死比赛🤣
    bigtear
        7
    bigtear  
       234 天前
    @bigtear #4 而且最搞的是这个 79 ¥的老年机性能比 1999 ¥的某为 nova 手机处理器性能还强,还能 ROOT ,你想跑个什么其他软件也可以
    Chet1819
        8
    Chet1819  
       234 天前 via Android
    咦,冒昧问一下,这个转发短信的使用场景是啥啊?
    lycc
        9
    lycc  
       234 天前
    同样关注一下,已有双卡,giffgaff 卡没地方插了,感觉楼主说的 2 方案用合宙的开发版不错。
    zjsxwc
        10
    zjsxwc  
       234 天前
    25 元的成本。

    10 块钱的 esp8266 + 15 元的 sim800l

    收短信的参考代码:
    https://github.com/Piashsarker/send_receive_sms_arduino/blob/master/arduino_send_receive_sms/arduino_send_receive_sms.ino#L47
    zfb
        11
    zfb  
       233 天前
    之前看过开发板的方法,我目前的方案是 1 。一直插着手机充电器。只不过买个智能插座几十块钱,可以自己控制充电时段规则或者远程打开关闭,我觉得完美解决了我的需求。再搞个 tailscale 把旧手机做个组网,scrcpy 远程 adb 直接控制手机
    caneman
        12
    caneman  
    OP
       233 天前
    总的看下来似乎大伙用的旧手机的方案最多,其实是想形成服务,比如发送短信、查看短信、删除短信这些,SIM 卡本身我记得是能存 120 条短信的吧,运行个手机,要是部署很多的话,感觉不是很方便 PS: 不是灰产,不违法

    注册服务,然后还有一些登录需要验证码的,可能 2-3 个人用这样子会很不方便,查看历史信息/删除这些,单纯想着既然要做就一次性做到位,提前为未来可能的需求做些工作,目前是没有这个需求的

    @bigtear
    @Chet1819
    @zfb
    @tool2d
    @tool2d
    NewYear
        13
    NewYear  
       233 天前
    @bigtear 你说的这个手机,我们其他人是可以获得的吗,要不然意义不大哦。
    NewYear
        14
    NewYear  
       233 天前
    看了你的回复,其实还是建议旧手机,几十块钱一个,安装 SmsForwarder (不需要 root ),信息自动发到企业微信群、钉钉群都可以,信息不用清理,多人看信息也没什么问题(当然你想每个人只看到自己的肯定不行)。不知道为什么你一直惦记着 SIM 卡自带的容量存短信,意义是啥。

    唯一的缺点,插电不会自动开机,反正我是这样用的,还用来做 WIFI 热点。还能登小号玩。所有方案里这个最好用。。

    如果完全不想管,全部自动化,开发板的方案会更好一点。
    caneman
        15
    caneman  
    OP
       233 天前
    @NewYear 推送失败的时候,有个查看历史消息的功能能把这种没能正常推送的短信给找回来
    kingpo
        16
    kingpo  
       233 天前
    告诉一个冷知识:如果是移动卡的话,有个任我行 app ,移动自己出的,可以托管一个移动手机号,可以直接代收短信和接听电话(不支持拨打),完全不需要搞任何第三方转发服务
    bigtear
        17
    bigtear  
       233 天前
    @NewYear #13 为什么不行 你百度一搜 5G 老年机就有 现在几个省有活动 过段时间会全国普及 想现在拿到最简单的就是淘宝办个 8 元月租的郑州移动卡然后去存 79 话费就有了。咸鱼上有奸商 200 左右卖这个手机。挺黑的不建议在咸鱼买
    NewYear
        18
    NewYear  
       232 天前
    @bigtear 谢谢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3970 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 05:26 · PVG 13:26 · LAX 21:26 · JFK 00:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.