{"id":14963348,"url":"https://github.com/boris1993/sms_forwarder_air780_esp32","last_synced_at":"2025-04-13T02:07:29.543Z","repository":{"id":157362418,"uuid":"613960575","full_name":"boris1993/sms_forwarder_air780_esp32","owner":"boris1993","description":"使用合宙ESP32和Air780E构建的短信转发器","archived":false,"fork":false,"pushed_at":"2024-12-09T14:15:08.000Z","size":12513,"stargazers_count":196,"open_issues_count":6,"forks_count":39,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-28T04:11:50.502Z","etag":null,"topics":["air780e","esp32","esp32c3","esp32s3","hezhou","lua","luat","luatos","sms-forward","sms-forwarder","sms-forwarding"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/boris1993.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-14T15:59:32.000Z","updated_at":"2025-03-25T06:43:32.000Z","dependencies_parsed_at":"2024-09-13T19:12:11.416Z","dependency_job_id":"932a710e-9f33-44f6-9e57-917d53426190","html_url":"https://github.com/boris1993/sms_forwarder_air780_esp32","commit_stats":{"total_commits":19,"total_committers":6,"mean_commits":"3.1666666666666665","dds":"0.42105263157894735","last_synced_commit":"ddd07e44e63f06036e18d9002ce69e8608e33e45"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boris1993%2Fsms_forwarder_air780_esp32","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boris1993%2Fsms_forwarder_air780_esp32/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boris1993%2Fsms_forwarder_air780_esp32/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boris1993%2Fsms_forwarder_air780_esp32/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boris1993","download_url":"https://codeload.github.com/boris1993/sms_forwarder_air780_esp32/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247123097,"owners_count":20887261,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["air780e","esp32","esp32c3","esp32s3","hezhou","lua","luat","luatos","sms-forward","sms-forwarder","sms-forwarding"],"created_at":"2024-09-24T13:31:23.241Z","updated_at":"2025-04-04T05:02:34.441Z","avatar_url":"https://github.com/boris1993.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Air780E短信转发\n\n利用ESP32驱动Air780E实现短信转发，兼容合宙ESP32S3和ESP32C3。\n\n**⚠ 仅支持联通、移动网络，不支持电信网络 ⚠**\n\n# 功能\n\n- [x] 自动转发收到的短信，短信内容支持多种语言（其实就是ASCII和UCS-2字符集），目前已测试过英文、中文、日语、俄语字符\n- [x] 支持多个推送平台，目前接入：\n  - [x] [LuatOS社区提供的推送服务器](https://push.luatos.org/)\n  - [x] Bark\n  - [x] Server酱\n  - [x] 钉钉机器人\n  - [x] 推送加 PushPlus\n  - [x] Telegram（感谢 [@wongJG](https://github.com/wongJG) 的 Pull Request）\n  - [x] 飞书机器人（感谢 [@mmdjiji](https://github.com/mmdjiji) 的 Pull Request）\n  - [x] 邮件 (SMTP协议，需自行开启邮箱的SMTP功能，使用SMTP协议，在刷写脚本时需要使用 \"firmware\\LuatOS-SoC_V1007_ESP32C3.soc\"，点击“下载底层和脚本”)\n\n# 使用方法\n\n## 硬件组装\n\n- 短接POW键上方的焊盘实现通电即开机\n\n![](/image/shorting_soldering_pad_for_power_key.jpg)\n\n- 按照下图方向为Air780e和ESP32焊上排针和排座。注意合宙不送排座，需要自己买。\n\n| Air780E                  | ESP32S3                  |\n|--------------------------|--------------------------|\n| ![](/image/air780e.jpeg) | ![](/image/esp32s3.jpeg) |\n\n- 按图示方向插入SIM卡\n\n![](/image/sim_card_direction.jpeg)\n\n- 按图示方向将Air780E和ESP32组合\n\n![](/image/put_together.jpeg)\n\n## 为Air780e刷入AT固件\n\nUSB连接Air780e，选择 `Luatools/resource/618_lua_lod/版本号` 目录下的AT固件，将其烧录到Air780e。\n\n## 修改脚本，刷入ESP32\n\n- 修改[`config.lua`](config.lua)\n  - 修改`config.board_type`为正确的型号，可选值见注释\n  - 修改`config.wifi`，填入无线网络的SSID和密码\n  - 修改`config.notification_channel`，将要启用的通知通道的`enabled`配置置为`true`，并填写推送平台相关配置\n- 烧录脚本\n  - 将[`firmware`](firmware)目录中对应的固件烧入开发板\n  - 将所有`lua`脚本下载至开发板\n![](/image/burning_firmware_and_scripts.png)\n  - 将开发板上电开机，等待初始化完成后，即可转发短信到配置的通知通道\n\n# LED灯状态含义\n\n- ESP32\n  - C3的`D4`或S3的`LED A`为初始化状态灯，闪烁代表正在初始化，常亮代表初始化完成，准备转发短信\n  - C3的`D5`或S3的`LED B`为工作状态灯，平时长灭，收到新短信后高频闪烁，转发完成后熄灭\n\n| ESP32C3                     | ESP32S3                     |\n|-----------------------------|-----------------------------|\n| ![](/image/esp32c3_led.jpg) | ![](/image/esp32s3_led.png) |\n\n- Air780\n  - `POW`灯为电源指示灯，通电后常亮。注意，这个LED不代表开机状态，只要板子有电这个灯就会亮\n  - `NET`灯为网络状态指示灯，长亮短灭代表正在初始化蜂窝网络，短亮长灭代表网络注册成功，可以接收短信\n\n# Firmware目录下的文件说明\n\n- `LuatOS-SoC_V1004_ESP32C3_classic.soc`对应`ESP32C3 经典款`\n- `LuatOS-SoC_V1004_ESP32C3_lite.soc`对应`ESP32C3 简约款`\n- `LuatOS-SoC_V1004_ESP32S3.soc`对应`ESP32S3`\n- `LuatOS-SoC_V1007_ESP32C3.soc`对应`ESP32C3官方最新完整版固件(使用SMTP时需刷入此固件)`\n\n固件均通过[合宙云编译](https://wiki.luatos.com/develop/compile/Cloud_compilation.html)精简掉了不需要的功能，以保证内存空间充足。`LuaTools`自动下载的固件不能用，系统启动之后内存就不够用了，发不出去HTTP请求。\n\n目前固件包含`gpio`、`uart`、`pwm`、`wdt`、`crypto`、`rtc`、`network`、`sntp`、`tls`、`wlan`、`pm`、`cjson`、`ntp`、`shell`、`dbg`。\n\n# 保活 API 说明\n\nAPI 提供 GET 和 POST 请求支持。\n\n- GET 请求返回 POST 请求存储的时间戳\n- POST 请求接收 `{ \"expiry\": \"1732622763\" }`，并存储\n\n# 致谢\n\n本项目参考[低成本短信转发器](https://github.com/chenxuuu/sms_forwarding)而来，尤其是PDU相关代码，没有`chenxuuu`的这份项目和[50元内自制短信转发器（Air780E+ESP32C3）](https://www.chenxublog.com/2022/10/28/19-9-sms-forwarding-air780e-esp32c3.html)这篇文章，我不会这么快就完成开发。\n\n# 赞助\n\n| 支付宝 | 微信 | Bitcoin |\n| ------ | ---- | ------- |\n| ![](https://sat02pap001files.storage.live.com/y4mQubRjj6HwFcaRN5WA43bM81G13d2xI-3OAoLSsXXDxJQZ_inF6qA_OFDB51Pg3yfjXu8CSyioCTUI3StB_Dltd7vmBWNHRT0Ok8zMd9Rf_WU42mgDY-pJW_yCrJ0KEUsd32yi5xqB1wjR4lv8jzMboKmpphgwoeOpPR5xgnfhNbfU8ozvDcfnnEiCpvZ6rLk?width=548\u0026height=542\u0026cropmode=none) | ![](https://sat02pap001files.storage.live.com/y4mRChq9zMZbQZK0gVO19Smbyt74YG1QWTI9RAgewZpJKn6BOEg0GK-_AgR9LwdjDSJriEgnz05YSc9fYUiH09i-PKnb40lZI0AqbvtcyXJvqVSdiWbGpeqPFmIktJb2t-bjIXqrupCzZxXWPXmrrFXXdFzgSWstjebkOujhr-ByhKWoLvgn3GHu2WpnGzbKgXs?width=602\u0026height=599\u0026cropmode=none) | ![3H8yBE359vkbpvC4nSP5xwafWThUh4JvGB](https://sat02pap001files.storage.live.com/y4m7ll7ouERuCbkCXI1x-PQJMYTzonfgpFoEL7Odz8HwPC-O2DngJrulJd23PzD6dJnucGf1zC6zGp4PFyVZjJecRWVT69c06Y4OPdjpEh5Z3E6qkRNg1ZMuP9bxQ3R_YKt2HtjzG_BD3_a9gUkRwHm-zmNH1gxJxnSbysa_qbS8xoiFenQioB4RcU-tMZn71z8?width=1044\u0026height=1098\u0026cropmode=none) |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboris1993%2Fsms_forwarder_air780_esp32","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboris1993%2Fsms_forwarder_air780_esp32","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboris1993%2Fsms_forwarder_air780_esp32/lists"}