C51单片机连接wifi模块,发送AT指令

news2024/11/23 12:11:26

一、AT指令

AT 指令集是从终端设备( Terminal Equipment , TE) 或 数据终端设备 ( Data Terminal
Equipment , DTE) 向终端适配器 (Terminal Adapter , TA) 或 数据电路终端设备 (Data Circuit
Terminal Equipment , DCE) 发送的。
其对所传输的数据包大小有定义:即对于 AT 指令的发送,除 AT 两个字符外,最多可以接收 1056 个 字符的长度(包括最后的空字符)。
每个 AT 命令行中只能包含一条 AT 指令;对于由终端设备主动向 PC 端报告的 URC 指示或者 response 响应,也要求一行最多有一个,不允许上报的一行中有多条指示或者响应。AT 指令以回车作为结 尾,响应或上报以回车换行为结尾。

AT指令简单来说:就是终端设备(单片机)向终端适配器(PC机)发送指令,目的是,请求驱动我们的终端适配器(PC机)干活,比如说联网,比如说数据传输等。

二、初始wifi模块配置和验证

  1. 连接前的东西准备:wifi模块、usb转ttl串口工具

  1. 线的连接方式

  • wifi模块的RXD接到usb转ttl串口工具上的TXD上(交叉接线)

  • wifi模块的TXD接到usb转ttl串口工具上的RXD上(交叉接线)

  • wifi模块的正极、负极接到usb转ttl串口工具的正极、负极

  • 通过一下命令配置成9600波特率,本人是使用安信可串口调试助手进行调试的

  • 重启wifi模块命令

三、wifi模块入网设置

  • 设置工作模式

  • 以设备模式接入家中路由器配置

连接成功提示

  • 查询 IP 地址

四、wifi模块连接到 TCP server(服务器)

  1. 打开网络调试助手工具

  1. 连接服务器

  1. 打开串口工具,把命令输入到下方的串口调试助手中

  1. 发送数据

  • 注意:输入发送数据命令时,要勾选"发送新行",当真正发送数据时,要取消"发送新行"的勾选

  1. 透传

  • 上一节每次发送数据都要进行字符长度设定,如果设置成透传,就有点像蓝牙模块的玩法

  • 退出透传模式

先取消"发送新行"勾选,然后在发送行输入“+++”,连续点击发送两次,则退出透传发送

五、通过单片机向wifi模块发送AT指令

  1. 编写发送AT指令代码

  • 验证上述代码,把代码烧录到单片机中,验证单片机通过串口发送AT指令,如下图所示,单片机通过串口发送AT指令成功

  1. 单片机向wifi模块发送AT指令,wifi模块再向串口发送AT指令

  • 连接前的东西准备:C51单片机、wifi模块、usb转ttl串口工具

  • 接线方式:

  • C51单片机的TXD线接到wifi模块的RXD线上

  • wifi模块的TXD线接到usb转ttl串口工具的RXD线上

  • C51单片机的正极、负极与wifi模块的正极、负极相连

  • 模拟连接图

  • 实物连接图

  1. 单片机向wifi模块发送数据,wifi模块接收到数据后,再向usb转ttl串口发送数据,因为usb转ttl串口接到了PC机上,所以用电脑打开串口工具,来查看接收到的数据

由上述结果得知:wifi模块成功被C51单片机驱动起来了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/142066.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CDGA|企业数字化转型进展得越快就越好吗?

数据治理并不是一件简单的事情。即使是行业知名公司,在高度重视和确保投入的情况下,完成全公司“数据底座”/“数据中台”的所耗时间也往往以年计。并且,还需要注意到,数据规范只是数字化转型的一个维度而已: 在国标《…

SQL INSERT INTO 语句

INSERT INTO 语句用于向表中插入新记录。 SQL INSERT INTO 语句 INSERT INTO 语句用于向表中插入新记录。 SQL INSERT INTO 语法 INSERT INTO 语句可以有两种编写形式。 第一种形式无需指定要插入数据的列名,只需提供被插入的值即可: INSERT INTO t…

Python爬虫常用哪些库?

经常游弋在互联网爬虫行业的程序员来说,如何快速的实现程序自动化,高效化都是自身技术的一种沉淀的结果,那么使用Python爬虫都会需要那些数据库支持?下文就是有关于我经常使用的库的一些见解。 请求库: 1、urllib&a…

matlab复杂函数多元函数拟合

简介 本文介绍了基于matlab实现的复杂函数以及多元函数的拟合。在工程和研究中偶尔会遇到要用一个非常复杂的数学公式来拟合实验测量数据,对这些复杂的数学公式拟合时,采用常见的拟合方法往往会失败,或者得不到足够精确的结果。本文以笔者多…

AVL树:高度平衡的二叉搜索树

AVL树 AVL树和BST树的联系   答:BST树(二叉排序树)当节点的数据key有序时是一棵单支树,查找时效率直接降低到O(N)而不是树高,为了使树尽量两边均匀,设计出了AVL树,AVL树的左右高度差不超过1。…

sql语句练习题1

1、选择部门30中的所有员工; 要注意到查的是所有员工 代码如下: mysql> select * from emp where deptno 30;2、列出所有办事员(CLERK)的姓名,编号和部门编号; 注意的是要查的是姓名,编号和部门编号 范围限定的是…

并发编程的原子性 != 事务ACID的原子性

△Hollis, 一个对Coding有着独特追求的人△这是Hollis的第 412 篇原创分享作者 l Hollis来源 l Hollis(ID:hollischuang)关于原子性,很多人在多个地方都听说过,大家也都背的很熟悉。在事务的ACID中,有原子性…

儒家思想和道家思想的三个主要差异

孔子、孟子、老子、庄子,这四位古代思想家被称为“中国四哲”,他们分别代表了儒家和道家思想。这两大思想流派,是数千年来中国人智慧的结晶和文化的瑰宝。01先秦儒家思想的发展,经过了三个阶段,第一阶段是孔子&#xf…

CHAPTER 7 Ansible playbook(四)

ansible-playbook7.1 roles(角色)7.1.1 Ansible Roles 介绍7.1.2 Roles结构7.1.3 存储和查找角色7.1.4 制作一个Role7.1.5 使用角色7.1.5.1 经典方法7.1.5.2 import_role7.1.6 如何使用Galaxy7.1 roles(角色) 7.1.1 Ansible Role…

windows docker安装prometheus和grafana

文章目录docker安装prometheusdocker安装grafanawindows安装windows_exporterprometheus配置新增windows_exporter的job,配置grafana导入windows模板即可出现酷炫大屏出现酷炫画面完成docker安装prometheus 拉取镜像,在D盘下创建prometheus.yml配置文件,映射到docker里面d:/se…

【pandas】教程:8-如何组合多个表格的数据

Pandas 组合多个表格的数据 本节使用的数据为 data/air_quality_no2_long.csv,链接为 pandas案例和教程所使用的数据-机器学习文档类资源-CSDN文库 导入数据 NO2NO_2NO2​ import pandas as pd air_quality_no2 pd.read_csv("data/air_quality_no2_long.cs…

二、python编程进阶02:模块和包

目录 1. python中的模块是什么 2. 导入模块: 学习import语句 2.1 import语句介绍 2.2 import导入模块的语法 2.3 导入自己的模块 2.4 导入数字开头或者带空格的模块 3. 编写自定义模块 3.1 给自定义模块编写测试代码 3.2 给自定义模块模块编写说明文档 4. 模块的搜索…

1215. 小朋友排队(树状数组应用 -- 逆序对个数)

题目如下: 思路 or 题解 我们可以得出交换的次数 > 逆序对个数 kkk 我们可以发现 所有 位置 左边大于它的个数 右边小于它的个数和 kik_iki​ 等于 k∗2k*2k∗2 我们可以简单证明出(感觉出):答案就是 ∑1n(1ki)∗ki2\sum^n_1 \frac{(1 k_i) * k_i}…

JavaScript 错误

文章目录JavaScript 错误 - throw、try 和 catchJavaScript 错误JavaScript 抛出(throw)错误JavaScript try 和 catchThrow 语句实例实例JavaScript 错误 - throw、try 和 catch try 语句测试代码块的错误。 catch 语句处理错误。 throw 语句创建自定义错…

string的使用介绍

目录 标准库中的string类 string类(了解) 编码介绍 string类的常用接口说明 Member functions 测试一:创建对象 测试二:遍历字符串 Iterators 测试三:反向迭代器(Iterators) Capacity 测试四:容器相关(Capacity) 测试…

Redis企业云如何通过缓存轻松扩展到亿级请求?

你是否在春运抢票过程中遇到12306 APP瘫痪? 你是否在双十一抢好物的时候显示系统繁忙? 你是否在微博刷某个爆了的娱乐新闻时显示页面走丢了? 前几天热搜上好像又说小红书又崩溃了? 当用户请求量过高,数据库无法支撑时&…

Annotation(注解)

一、注解概述1.从 JDK 5.0 开始,Java 增加了对元数据(MetaData) 的支持,也就是Annotation(注解)2.Annotation 其实就是代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过使用 Annotation,程序员可以在不改变原有逻辑的情况下,在源文件中嵌入一些…

Go第 6 章:函数、包和错误处理

Go第 6 章:函数、包和错误处理 6.1 为什么需要函数 6.1.1请大家完成这样一个需求: 输入两个数,再输入一个运算符(,-,*,/),得到结果.。 6.1.2使用传统的方法解决 分析一下上面代码问题 上面的写法是可以完成功能, 但是代码冗余同时不利于代码维护函数…

SAP FICO 成本对象控制解析

成本对象控制(Cost Object Cotrol)是指对不同的成本对象,比如成本收集器、生产订单、销售订单等进行成本的期末结算。基于这些不同的成本对象,SAP在成本对象控制菜单下面细分了相应的操作(SAP 菜单 →会计核算 →控制 …

JavaScript篇.day10-面向对象,对象,构造函数,this关键字,原型

目录面向对象对象构造函数this关键字原型面向对象面向过程: 在开发过程中,关注过程的开发方式. 在开发时关注每一个细节,步骤和顺序.面向对象: 在开发过程中,只需要找一个对象来完成事情的开发思想对象: 在生活中,万物皆对象 封装: 将完成步骤封装在对象内部属性: 对象的特征核…