项目简介
本项目是一个基于ESP-IDF框架的蜂窝网络通信模块,主要展示如何使用ESP32与蜂窝网络模块(如SIM7xxx系列)进行通信。通过ESP32的UART接口和蜂窝网络模块通信,项目提供了初始化、配置、控制等功能的函数库,支持数据的发送和接收。
项目的主要特性和功能
- 支持蜂窝网络模块的初始化和配置,包含SIM卡激活和网络注册。
- 可通过蜂窝网络模块发送和接收数据,支持加密传输以及与多种云服务(如Azure IoT Hub)集成。
- 设备具备低功耗模式,可通过触摸或震动唤醒。
- 提供详细日志输出,便于调试和监控设备状态。
- 提供预编译的固件,方便用户快速部署和测试。
安装使用步骤
假设用户已经下载了本项目的源码文件,按以下步骤操作: 1. 硬件准备:准备ESP32开发板和蜂窝网络模块(如SIM7xxx系列)。 2. 硬件连接:将蜂窝网络模块通过UART接口连接到ESP32开发板。 3. 编译与烧录:使用ESP-IDF工具链编译源代码,并通过烧录工具将固件烧录到ESP32开发板。 4. 运行与测试:启动设备,设备将自动连接到蜂窝网络并发送数据。可以通过Onomondo平台实时监控数据传输情况。
注意事项
- 确保蜂窝网络模块的SIM卡已激活,并且设备能够正常注册到网络。
- 确保设备所在区域有良好的蜂窝网络覆盖。
- 使用ESP-IDF提供的串口监视器或其他调试工具查看设备日志,以便排查问题。
示例输出
以下是一个示例输出,展示了设备初始化、网络连接和数据发送的过程:
bash
I (451) main: Cpu freq: 160 MhZ
I (451) ACC: Config i2c param
I (461) ACC: Install i2c driver
I (461) ACC: Reading register....
I (481) main: Temperature: 26.500000
I (481) gpio: GPIO[4]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (481) gpio: GPIO[5]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (491) gpio: GPIO[25]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (511) touch_driver: test init: touch pad [6] val is 686
I (511) uart: queue free spaces: 30
I (511) sim800: PWR pin 27
I (511) gpio: GPIO[27]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (521) AT CMD: AT
I (721) AT RESP: OK
I (731) sim800: Modem is on!
I (751) AT CMD: ATE0
I (761) AT RESP: OK
I (761) AT CMD: AT+CGMM
I (781) AT RESP: SIMCOM_SIM7070
I (791) AT CMD: AT+CGSN
I (791) AT RESP: 861340049970997
I (801) AT CMD: AT+COPS?
I (811) AT RESP: +COPS: 1,0,"TDC",7
I (821) AT CMD: AT+CREG?
I (831) AT RESP: +CREG: 0,5
I (841) AT CMD: AT+CBANDCFG="CAT-M",3,8,20
I (851) AT RESP: OK
I (1341) sim800: Modem INIT OK, 0x3ffbf604
I (1341) AT CMD: AT+IFC=0,0
I (1341) AT RESP: OK
I (1351) AT CMD: AT+CREG?
I (1361) AT RESP: +CREG: 0,5
I (1371) cellular: Module: SIMCOM_SIM7070
I (1371) cellular: Operator: "TDC"
I (1371) cellular: IMEI: 861340049970997
I (1381) AT CMD: AT+CSQ
I (1391) AT RESP: +CSQ: 31,99
I (1401) cellular: rssi: 31, ber: 99
I (1411) AT CMD: AT+CEDRXS=1,4,"0010"
I (1421) AT RESP: OK
I (1431) AT CMD: AT+CEDRXRDP
I (1441) AT RESP: +CEDRXRDP: 4,"0010","0010","0000"
I (1451) eDRX CHECK: Supported
I (1461) AT CMD: AT+CPSMRDP
I (1471) AT RESP: +CPSMRDP: 0,20,14400,0,0,3600
I (1481) PSM CHECK: Active: 0
I (1491) AT CMD: AT+CPSI?
I (1501) AT RESP: +CPSI: LTE CAT-M1,Online,238-01,0x07D0,12024586,465,EUTRAN-BAND20,6350,5,5,-16,-83,-53,10
I (1511) AT CMD: AT+CPSMRDP
I (1521) AT RESP: +CPSMRDP: 0,20,14400,0,0,3600
I (1531) PSM CHECK: Active: 0
I (1541) AT CMD: AT+CGDCONT=1,"IP","onomondo"
I (1551) AT RESP: OK
I (1561) dce_service: define pdp context ok
I (1561) sim800: Working mode is changed! :D
I (1561) AT CMD: ATD*99#
I (1561) AT RESP: CONNECT 150000000
I (1671) cellular: Modem PPP Started
I (1711) esp-netif_lwip-ppp: Connected
I (1721) cellular: Modem Connect to PPP Server
I (1731) cellular: IP : 100.68.57.55
I (1741) cellular: Netmask : 255.255.255.255
I (1751) cellular: Gateway : 10.64.64.64
I (1761) cellular: Name Server1: 10.85.59.251
I (1771) cellular: Name Server2: 10.85.59.242
I (1781) cellular: GOT ip event!!!
I (1791) cellular: Socket created, connecting to 1.2.3.4:4321
I (3161) Transmit: {"battery": 0.284000,"signal": 31.000000,"temperature": 26.625000}
该输出展示了设备初始化、网络连接建立和数据发送的过程。具体的输出可能因模块型号和代码实现而有所不同。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】