基于 树莓派/开发板/旧手机 的短信转发方案汇总&请教 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
caneman
V2EX    问与答

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

  • &nsp;
  •   caneman 2024-04-02 10:33:46 +08:00 2680 次点击
    这是一个创建于 558 天前的主题,其中的信息可能已经有所发展或是发生改变。

    功能需求:

    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 条附言    2024-04-08 18:21:47 +08:00
    最终还是选择了合宙的 724UG 的方案

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

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

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

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

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

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

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

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

    老是掉卡,具体表现为绿灯在闪 表明未驻网
    bigtear
        6
    bigtear  
       2024-04-02 11:10:23 +08:00
    @bigtear 你说的我都研究过。除了旧手机再利用,这些方案都没有这个老年机简单好用和成本低,还有 5g,
    我宣布老年机杀死比赛
    bigtear
        7
    bigtear  
       2024-04-02 11:15:32 +08:00
    @bigtear #4 而且最搞的是这个 79 ¥的老年机性能比 1999 ¥的某为 nova 手机处理器性能还强,还能 ROOT ,你想跑个什么其他软件也可以
    Chet1819
        8
    Chet1819  
       2024-04-02 11:52:33 +08:00 via Android
    咦,冒昧问一下,这个转发短信的使用场景是啥啊?
    lycc
        9
    lycc  
       2024-04-02 12:22:01 +08:00
    同样关注一下,已有双卡,giffgaff 卡没地方插了,感觉楼主说的 2 方案用合宙的开发版不错。
    zjsxwc
        10
    zjsxwc  
       2024-04-02 13:02:24 +08:00
    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  
       2024-04-02 17:03:25 +08:00
    之前看过开发板的方法,我目前的方案是 1 。一直插着手机充电器。只不过买个智能插座几十块钱,可以自己控制充电时段规则或者远程打开关闭,我觉得完美解决了我的需求。再搞个 tailscale 把旧手机做个组网,scrcpy 远程 adb 直接控制手机
    caneman
        12
    caneman  
    OP
       2024-04-02 17:36:50 +08:00
    总的看下来似乎大伙用的旧手机的方案最多,其实是想形成服务,比如发送短信、查看短信、删除短信这些,SIM 卡本身我记得是能存 120 条短信的吧,运行个手机,要是部署很多的话,感觉不是很方便 PS: 不是灰产,不违法

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

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

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

    如果完全不想管,全部自动化,开发板的方案会更好一点。
    caneman
        15
    caneman  
    OP
       2024-04-03 09:26:14 +08:00
    @NewYear 推送失败的时候,有个查看历史消息的功能能把这种没能正常推送的短信给找回来
    kingpo
        16
    kingpo  
       2024-04-03 09:48:21 +08:00
    告诉一个冷知识:如果是移动卡的话,有个任我行 app ,移动自己出的,可以托管一个移动手机号,可以直接代收短信和接听电话(不支持拨打),完全不需要搞任何第三方转发服务
    bigtear
        17
    bigtear  
       2024-04-03 13:26:12 +08:00
    @NewYear #13 为什么不行 你百度一搜 5G 老年机就有 现在几个省有活动 过段时间会全国普及 想现在拿到最简单的就是淘宝办个 8 元月租的郑州移动卡然后去存 79 话费就有了。咸鱼上有奸商 200 左右卖这个手机。挺黑的不建议在咸鱼买
    NewYear
        18
    NewYear  
       2024-04-04 02:24:19 +08:00
    @bigtear 谢谢。
    erxiao
        19
    erxiao  
       296 天前
    @kingpo 没收到 只有中国移动 在 app 里?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2726 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 14:42 PVG 22:42 LAX 07:42 JFK 10:42
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86