学习STC51单片机26(芯片为STC89C52RCRC)
每日一言
真正的强者,不是没有眼泪,而是含着泪依然奔跑。
硬件:4G模块
这个是接线原理,我们也只要知道这个4根线的连接就好了,我们也是连接到USB转TTL的模块上
要插卡哈.........
随后我们下载一个叫做亿佰特的调试助手,这个助手的话可以节省很多很多的AT指令的输入,可以自己马上就配好
就是这个哈
那么配置之前我们要先去安装‘花生壳’这个是一个免费的配置内网穿透的软件
我们自定义映射有个添加哈,点开之后就会到这个页面,然后就根据要求填
外网域名是自动分配的(自己想自定义要钱哈哈),外网端口也是选动态端口(静态要钱哈哈),内网主机就是自己的IP,内网端口也是自己设置的端口
配完后就会成这样
内网穿透是什么意思呢???
内网IP穿透
内网穿透,为局域网的设备提供一个外网可访问的地址和端口
这边的外网就指的是我们4G模块的IP地址,配置好内网穿透了之后
我们来配置亿佰特助手
根据图片一步一步配置就好了,就不用打AT指令了,那个服务器地址可以填写穿透出来的域名或者是域名指向IP
随后我们就可以通过测试来,是否4G模块可以连接外网成功,1.首先我们先调试好亿佰特这个上位机对4G模块的配置2.先开启TCP SERVER 服务器 3开启花生壳进行内网穿透,这样我们的外网地址和端口就有用了,我们就可以利用外网地址和端口来链接我们的非同一个局域网的服务器地址 4.随后我们打开安信可助手,这样我们发送数据4G模块接收到数据后就会往TCP服务器传送,TCP服务器发送信息也发给所有的客户端(此时我们的安信可是客户端的性质的),好的这个的话是利用亿佰特上位机实现的,简单易配置..... 随后我们学习自己敲AT指令来配置4G模块
注意一点:如果不想用官方的这个上位机的话,我们也可以自己去利用安可信助手打AT指令
这个模块有一个好处就是重启之后默认就是数据透传模式
好的现在我来讲讲这个模块的AT指令,当我们不用这个官方的上位机的时候
默认的话这个模块是不会进入AT指令的,我们先输入+++不能发送新行,然后3秒内点击勾选发送新行并随便发送一个AT指令,这样才进入AT指令;
参数位置 | 值 | 含义 |
1 | 9600 | 波特率(bps) |
2 | 8 | 数据位(8 位) |
3 | 1 | 停止位(1 位) |
4 | NONE | 校验位(无校验) |
5 | 0 | 流控(0 = 无流控) |
6 | 1024 | 接收缓冲区大小(字节) |
7 | 0 | 发送超时时间(毫秒,0 = 默认) |
修改完波特率后我们需要重启模块哈
- AT+UART这个是查看当前波特率
- 修改波特率,默认波特率115200 我们修改成9600
-
AT+UART=9600,8,1,NONE,0,1024,0,这个可以看手册来,有些模块是不需要输入那么多参数的
由于我们这个模块是 EC05-485型号
规定了
- 部分模块要求一次性指定所有串口参数,包括缓冲区大小和超时设置。
- 1024 和 0 这两个参数在标准 UART 配置中通常不常见,可能是 EC05-485 模块特有的扩展参数。
- AT+REBT 重启模块
- AT+CSQ 查看当前信号强度
- AT+ICCID 查看SIM卡的电话号码
配置4G模块连接到服务器进行数据交互
以上就是所有的AT指令了,以后记得忘记了还有个手册看
其实有好多的功能我们无法使用AT指令来配置,因为手册上面都没有相关对应的AT指令
所以总结一下
就是他有自己的上位机的软件,可以专门来设置这个东西,那是不是我就可以基本上就是用他那个上位机的软件来设置 然后AT 指令的话,也就是辅助我们来学习,这个模块了,熟悉一下这个模块
这边我们设置了一下心跳包
如果是AT指令的话,真的每个4G模块都是可能不一样的,必须还要看手册,参数也要去看是什么意思,所以我们要结合亿佰特上位机助手来相互的对照学习,修改配置这样才能完美
啥都有啊,而且简单,什么社会了,肯定要用提高自己效率的配置方法啊,反正就是配置参数
配好之后我们通过安信可发送信息到TCP服务器,和服务器发送数据到4G都是可以的,就证明成功了
讲实话有好用的工具就用好用的工具,不然效率太低了。
4G控制LED
代码解释,我们通过内网穿透的IP,让我们的4G模块连接到这个内网服务器(这个服务器就是被穿透的,他的IP被穿透了,这样我们的4G作为外网通过穿透的IP地址和端口号才能连接上我们的内网),这样我们只需要在内网服务器上面发送想要输入的数据,4G模块就是会接收到,随后4G模块会将收到的信息发送给单片机,当然也是一个一个字符的发送,然后存放在SUBF里面,然后我们的代码就会把它读取出来,如果有相匹配的字符就会执行指令
这边我们是让在TCP服务器输入 ’:op’ 或者是 ’:cl’ 这样我们来控制LED灯的亮灭,并且我们的TCP服务器也会有心跳包的显示....