低价自制合宙780E短信转发保姆级方案

短信转发器一般是给备用卡,开一个保号套餐,然后用来接收验证码短信之类。市面上的方案大部分都是用一个安卓手机,开着有这类功能的一个软件来实现

优点是只要有一台不用的安卓手机就可以,基本无成本。缺点是需要按时充电或者一直插电中,有起火风险

本次方案是使用前几天买的9.9元包邮合宙Air780E,因为4G Cat.1模组本身就是可编程的,所以有以下两种方案

第一种:合宙Air780E自行处理接收短信+推送到服务器的功能。

这个方案的问题在于,合宙Air780E本身不带wifi功能,需要备用卡自带流量

方案建设中…..(需等待官方开放780E的csdk)

第二种:外接一个Wi-Fi板子,使用Wi-Fi芯片通过AT命令控制780E模组,并使用Wi-Fi芯片上传消息到服务器。

一、主要准备工作

1. 合宙Air780E开发板

相信大部分人手一个,没有的可以去官方淘宝店铺买一个,这里就不放链接了
8542e0872833526acfc533ec0edd7100d831ede4

合宙Air780E

2. 合宙ESP32-C3开发板简约款

合宙淘宝/拼多多官方店9.9元包邮的简约款即可,不用买经典款。支持Wi-Fi,功能多易上手。

002a537be1602ba13a788c162a0bce1cdcc0136e

合宙ESP32-C3

 

3. 焊接工具与必要的排针、排母上面板子附赠排针);

4. 用来接收短信用的卡;

5. 2.4G Hz的Wi-Fi,用来联网;

6. 对接的服务器有几个选择:

  • LuatOS社区提供的推送服务器
    https://push.luatos.org/

    注:点击GitHub图标即可登录,然后点击左边的消息通道新建一个推送方式。
  • server酱
    https://sct.ftqq.com
    注:免费用户每天只能发送五条。
  • 你也可以对接自己的推送服务器,但是代码要自己稍微改改。

二、硬件对接实操

由于Air780E开发板需要按下开机键才能开机,而我们需要上电即开机,所以可通过短接此处的焊盘,实现Air780E开发板上电即开机的功能:
e00cfa3c24889ecbe34e52c06471e84700928c6f

接着,我们需要将Air780E开发板ESP32-C3开发板电源引脚相连(5V与GND)、将ESP32-C3开发板UART1Air780E开发板MAIN_UART相连,引脚如下(两组的实际位置是相同的):
6c6b13652198a6ae0af94779a3b602d4270ad94f
QQ截图202210281149091-1

QQ截图202210281149581-1

分别将两块板子焊接上排针与排母,像这样(能一对一插上就行):
baa509d383ccb51bc99e7a0a98d337737419374d特别提醒:别忘了给Air780开发板插上SIM卡
全搞定后,直接对齐插上去就行了。对接后两侧如下图所示:
50b4ae69569291df312157e48a258cb29e0cc6ff
6f5184490373aa7d1163abe6297c09f4413b89ec
三、刷入固件与脚本

接下来需要为ESP32-C3刷入写好的固件与脚本。如果不会烧录,请先看一下烧录教程:

图文教程:
esp32c3烧录教程

这里我们需要使用新版的V10xx固件,注意更新版本,可以直接去下载快照版固件

脚本下载:
https://github.com/chenxuuu/sms_forwarding,这个项目使用的工程在script文件夹中,别选错了

我们需要修改脚本中的notify.lua,按注释要求改为自己的逻辑:

--你的wifi名称和密码
local wifiName = ""
local wifiPasswd = ""

--这里默认用的是LuatOS社区提供的推送服务,无使用限制
--官网:https://push.luatos.org/ 点击GitHub图标登陆即可
--支持邮件/企业微信/钉钉/飞书/电报/IOS Bark

--是否使用server酱,false则使用LuatOS社区提供的推送服务
local useServerChan = false

--LuatOS社区提供的推送服务 https://push.luatos.org/
--这里填.send前的字符串就好了
--如:https://push.luatos.org/ABCDEF1234567890ABCD.send/{title}/{data} 填入 ABCDEF1234567890ABCD
local luatosPush = "ABCDEF1234567890ABCD"

--server酱的配置,免费用户每天仅可发送五条推送消息
--server酱的SendKey,如果你用的是这个就需要填一个
--https://sct.ftqq.com/sendkey 申请一个
local serverKey = ""

如果需要用自己的推送服务,还可以把下面的http请求改成自己服务器支持的格式。

四、测试短信功能

烧录脚本和固件后,可以看到设备的日志,正常连上wifi与连上了基站:

[time] I/user.air780    got recv    AT
[time] I/user.air780    check sim card
[time] D/wlan esp_wifi_init ret 0
[time] D/wlan wifi event 2
[time] D/wlan esp_wifi_start ret 0
[time] D/wlan esp_wifi_connect ret 0
[time] I/user.wlan  wait for IP_READY
[time] I/user.air780    got recv    AT+CPIN?
[time] I/user.air780    configrate
[time] D/wlan wifi event 4
[time] D/wlan wifi station start
[time] D/wlan wifi connected!!!
[time] I/user.air780    got recv    AT+CMGF=0
[time] D/wlan ip event 0
[time] D/wlan IP_EVENT_STA_GOT_IP 192.168.0.128
[time] I/user.wlan  ready !!
[time] I/user.notify    wait for a new sms~
[time] I/user.air780    got recv    AT+CSCS="UCS2"
[time] D/sntp time sync done
[time] I/user.air780    got recv    AT+CNMI=2,2,0,0,0
[time] I/user.air780    wait for connection
[time] I/user.air780    got recv    AT+CGATT?
[time] I/user.air780    connection status   true
[time] I/user.air780    connected! wait sms

接下来我们发一条短信试试,脚本内部对长短信进行了处理,所以长短信也可以完美支持。可以看到设备端的日志:

[time] I/user.air780    connected! wait sms
[time] I/user.sms   recv    13112341234 这是一条长短信【领5G流量活动推荐】尊敬的客户:您目前的手机支持5G网络,现邀请您参与“用5G网络,领5G流量”活动。即日起,使用5G 22/10/28,11:39:38+32    true    2   1
[time] I/user.air780    found a long sms    2   1
[time] I/user.sms   recv    13112341234 网络流量,次月即可领取流量。多用多领,最高可领取5GB国内通用流量。活动参与请点击xxx我们百倍努力,只为您10分满意。【中国移动】  22/10/28,11:39:38+32    true    2   2
[time] I/user.air780    a part of long sms  2   2
[time] I/user.air780    got a long sms  这是一条长短信【领5G流量活动推荐】尊敬的客户:您目前的手机支持5G网络,现邀请您参与“用5G网络,领5G流量”活动。即日起,使用5G网络流量,次月即可领取流量。多用多领,最高可领取5GB国内通用流量。活动参与请点击xxx我们百倍努力,只为您10分满意。【中国移动】
[time] I/user.notify    got sms 13112341234 这是一条长短信【领5G流量活动推荐】尊敬的客户:您目前的手机支持5G网络,现邀请您参与“用5G网络,领5G流量”活动。即日起,使用5G网络流量,次月即可领取流量。多用多领,最高可领取5GB国内通用流量。活动参与请点击xxx我们百倍努力,只为您10分满意。【中国移动】
[time] I/http HTTP POST
[time] D/http esp_http_client_perform 0
[time] I/user.notify    pushed sms notify   200 {"code":0,"message":"","data":{"pushid":"xxxxxx","readkey":"xxxxxxxx","error":"SUCCESS","errno":0}} 13112341234 这是一条长短信【领5G流量活动推荐】尊敬的客户:您目前的手机支持5G网络,现邀请您参与“用5G网络,领5G流量”活动。即日起,使用5G网络流量,次月即可领取流量。多用多领,最高可领取5GB国内通用流量。活动参与请点击xxx我们百倍努力,只为您10分满意。【中国移动】
[time] I/user.notify    wait for a new sms~

同时我们收到了推送来的消息:
faeb75daada227152c9ee9b27d27875051f5400b
如果是server酱,那么是这样的:
4dec177abb9f429ba8452d1aea7ef1da4eae7630
使用4G Cat.1模组+Wi-Fi自制短信转发器,是不是很简单呢~欢迎文末留言

参考

1. https://www.chenxublog.com/2022/10/28/19-9-sms-forwarding-air780e-esp32c3.html

2. https://mp.weixin.qq.com/s/8tAQcF0OBcFBIGprSQiSwQ

3.https://web.archive.org/web/20221026074816/https://blog.okwlan.com/article/air724ug.html

Related Post

发表回复