一、目的
这一节我们学习如何使用我们的ESP32开发板来控制合宙4g Air724U模块。
二、环境
ESP32 + 合宙4g Air724U模块 + Thonny IDE + 几根杜邦线
接线方法:
注意连接方式:
ESP32的RX2----->4G模块的TX
ESP32的TX2----->4G模块的RX
三、介绍
1,数据流通图
ESP32----->4G模块----->服务器(腾讯云、华为云等)
2,服务端
我们需要一个连接外网的服务器,大家可以用阿里、腾讯、华为等的服务器。
可以使用Linux
、Windows
,如果有经验就用Linux
,如果想更快速的测试4G
功能 所以可以在Windows
上使用网络调试助手
- 服务器安装Windows系列的系统
- 下载安装网络调试助手 NetAssist网络调试助手 V5.0.3-软件工具-野人家园
- 修改防火墙的规则,允许某些用到的端口(在本节课中服务器端我用的是8080端口,因此防火墙一定要放行这个端口,否则收不到数据)
- 运行网络调试助手
3、客户端
3.1 控制方式
ESP32与4G模块的通信使用的是UART串口通信协议。ESP32---->UART串口---->4G模块
3.2 UART怎样用?
MicroPython已经提供了对UART协议的支持,且ESP32上有对应的UART串口引脚,链接上就可以直接用(是不是超级简单)。ESP32开发板上的串口0/2是可以直接用的,串口1用来链接电脑的Thonny了,所以不要用。
四、配置4G模块连接服务器
购买的4G模块厂家不同,配置方式肯定不同,一定要问商家要具体的配置文档。下面我以我自己购买的设备进行讲解。
1、验证SIM卡插的是否合适,运行下面代码:
from machine import UART
uart = UART(2, 115200)
uart.write("config,get,imei\r\n") # 向4G设备发送数据
print(uart.read()) # 从4G设备读取数据
如果看到下面的信息 表示SIM安装成功
2、配置IP和port,以下是购买的4G模块厂家给的文章中的部分内容
设置通道 1,绑定串口为 ttluart,打开心跳包,心跳数据为字符串,数据为hello,心跳间隔为60 秒,服务器地址为 47.106.167.188,端口为 80,无数据前置字段,无数据前置字段,无注册信息
config,set,tcp,1,ttluart,1,1,hello,60,47.106.167.188,80,0,0,0,0,0,0\r\n
应答 \r\nconfig,tcp,ok\r\n
核心意思,将47.106.167.188
改为自己服务器的ip,将8080
改为自己服务器的端口,其它不变
config,set,tcp,1,ttluart,1,1,hello,60,115.28.208.190,8080,0,0,0,0,0,0\r\n
Thonny中测试如下:
3、保存配置。如果配置了ip、port,不进行保存是不会生效的,所以需要保存。
config,set,save\r\n
4、检查服务器端连接:
发送数据
五、购买
某宝链接如下:
https://item.taobao.com/item.htm?spm=a230r.1.14.6.2f7f5261wJ5emS&id=621549212058&ns=1&abbucket=8#detail
注意固件选择:AT固件
在没插 SIM 卡的时候,观察 NET LED,如果 NET LED 为慢闪烁,表示是 AT 透传固件,否则为 DTU 透传
固件。
我用的4G模组购买链接(比较贵):
https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-24500067207.15.fab823f4efxE7K&id=680033328839https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-24500067207.15.fab823f4efxE7K&id=680033328839