无线通信-WIFI通信

文章目录

    • 1. 基础知识
    • 2. 工作模式
    • 3. AT指令
    • 4. 常用AT指令实例
    • 5. 连接原子云
    • 6. 使用usb转ttl模块测试ATK-MW8266D
    • 7. 使用STM32F103ZET6战舰开发板透传模式
    • 8. 使用STM32F103ZET6战舰板连接原子云

1. 基础知识

  • ATK-ESP-01

    ATK-ESP-01模块支持标准的IEEE802.11b/g/n协议,完整的TCP/IP协议栈。我们可以使用该模块为现有的设备添加联网功能,也可以构建独立的网络控制器。

  • 引脚定义

    ATK-ESP-01模组共接出16个接口:

在这里插入图片描述

在这里插入图片描述

  • 工作模式:

    在这里插入图片描述

  • ATK-MW8266d模块

    ATK-MW8266D模块是正点原子推出的一款高性能UART-WIFI(串口-无线)模块, ATK-MW8266D模块板载了正点原子公司自主研发的ATK-ESP-01模块,该模块通过FCC、 CE认证,可直接用于出口欧美地区的产品。

    ATK-MW8266D模块采用串口(LVTTL)与MCU(或其他串口设备)通讯,且内置TCPP协议栈,能够实验串口与WFI之间的转换。通过ATK-MW8266D模块,传统的串口设备只需要简单的串口配置,即可通过网络(WFI)传输自己的数据。

在这里插入图片描述

ATK-MW8266D模块的各个引脚的详细描述:

在这里插入图片描述

2. 工作模式

ATK-MW8266D模块支持三种工作模式,分别为:STA、AP、STA+AP。
在这里插入图片描述

  1. STA模式

    在此模式下,ATK-MW8266D模块可连接其他设备提供的无线网络,例如通过WIFI连接至路由器,从而可以访问互联网,进而实现手机或电脑通过互联网实现对设备的远程控制。

  2. AP模式

    AP模式为默认的模式,在此模式下,ATK-MW8266D模块将作为热点供其他设备连接,从而让手机或电脑直接与模块进行通讯,实现局域网的无线控制。

  3. STA+AP模式

    该模式为STA模式与AP模式共存的一种模式,ATK-MW8266D模块既能连接至其他设备提供的无线网络,又能作为热点,供其他设备连接,以实现广域网与局域网的无缝切换,方便操作使用。

除了上述的三种工作模式外,ATK-MW8266D模块在进行UDP连接或作为TCP客户端连接时,能够进入透传模式,进入透传模式后,ATK-MW8266D将会原封不动地把从TCP服务器或其他UDP终端接收到的消息,通过UART发送至与之连接的设备。

3. AT指令

  • AT指令说明

    类型指令格式描述
    测试指令AT+<CMD>=?该命令用于查询设置指令的参数以及取值范围
    查询指令AT+<CMD>?该命令用于返回参数的当前值
    设置指令AT+<CMD>=<...>该命令用于设置用户自定义的参数值
    执行指令AT+<CMD>该命令用于执行受模块内部程序控制,且参数不可变的的功能
  • 基础AT指令

    指令描述
    AT测试 AT启动
    AT+RST重启模块
    AT+GMR查看版本信息
    ATE开关回显功能
    AT+RESTORE恢复出厂设置
    AT+UARTUART配置

    在这里插入图片描述

    在这里插入图片描述

  • WIFI功能AT指令

    指令描述
    AT+CWMODE设置WIFI模式(STA、AP、STA+AP)
    AT+CWJAP连接 AP
    AT+CWLAP扫描附近的 AP 信息
    AT+CWQAP与 AP 断开连接
    AT+CWSAP设置 AP模式的配置
    AT+CWLIF获取已接入设备的信息
    AT+CWDHCP设置 DHCP
    AT+CWAUTOCONN设置上电时是否自动连接 AP
    AT+CIPSTAMAC设置 STA模式下的 MAC 地址
    AT+CIPAPMAC设置 AP 模式下的 MAC地址
    AT+CIPSTA设置 STA 模式下的 IP 地址
    AT+CIPAP设置 AP模式下的IP地址
    AT+CWSTARTSMART开始 SmartConfig
    AT+CWSTOPSMART停止 SmartConfig
    AT+WPS设置 WPS 功能
    AT+MDNS设置 MDNS 功能
    AT+CWHOSTNAME设置主机名
  • TCP/IP相关AT指令

    指令描述
    AT+CIPSTATUS查询网络连接信息
    AT+CIPDOMAIN域名解析功能
    AT+CIPSTART建立 TCP 连接、UDP 传输或 SSL 连接
    AT+CIPSSLSIZE设置 SSL 缓冲大小
    AT+CIPSEND发送数据
    AT+CIPCLOSE关闭 TCP 连接、UDP 传输或 SSL 连接
    AT+CIFSR查询本地 IP 地址
    AT+CIPMUX设置多连接模式
    AT+CIPSERVER设置TCP服务器
    AT+CIPMODE设置透传模式
    AT+SAVETRANSLINK保存透传连接到 Flash
    AT+CIPSTO设置 TCP 服务器的超时时间
    AT+PINGPing 功能
    AT+ATKCLDSTA连接到原子云服务器
    AT+ATKCLDCLS关闭原子云服务器连接

4. 常用AT指令实例

  • AP模式下作TCP服务器

    发送指令作用
    AT+CWMODE=2设置为 AP 模式
    AT+RST重启生效
    AT+CWSAP=“ATK-MW8266D”, “12345678”,1,4设置AP参数。SSID 为 ATK-MW8266D、密码为12345678、 通道为1、加密方式为WPA_WPA2_PSK
    AT+CIPMUX=1开启多连接
    AT+CIPSERVER=1,8086开启 SERVER 模式,端口号为8086
    AT+CIPSEND=0,25向 ID0 发送25字节数据包
  • AP模式下作TCP客户端

    发送指令作用
    AT+CWMODE=2设置为 AP 模式
    AT+RST重启生效
    AT+CWSAP=“ATK-MW8266D”, “12345678”,1,4设置AP参数。SSID 为ATK-MW8266D、密码为12345678、 通道为1、加密方式为 WPA_WPA2_PSK
    AT+CIPMUX=0开启单连接
    AT+CIPSTART=“TCP”, “192.168.4.XXX”,8086建立 TCP 连接到192.168.4.XXX:8086
    AT+CIPMODE=1开启透传模式(仅单连接Client时支持)
    AT+CIPSEND开始发送数据
  • AP模式下作UDP连接

    发送指令作用
    AT+CWMODE=2设置为 AP 模式
    AT+RST重启生效
    AT+CWSAP=“ATK-MW8266D”, “12345678”,1,4设置 AP参数。SSID 为ATK-MW8266D、密码为12345678、 通道为1、加密方式为WPAWPA2PSK
    AT+CIPMUX=0开启单连接
    AT+CIPSTART=“UDP”, ““192.168.4.XXX”,8086建立 UDP 连接到192.168.4.XXX:8086
    AT+CIPSEND=25向目标 UDP发送25字节数据
  • STA模式下作TCP服务器

    发送指令作用
    AT+CWMODE=1设置为STA 模式
    AT+RST重启生效
    AT+CWJAP=“ATK-MW8266D” “12345678”加入WiFi热点。SSID:ATK-MW8266D、密码:12345678
    AT+CIPMUX=1开启多连接
    AT+CIPSERVER=1,8086开启 SERVER 模式,端口号为8086
    AT+CIPSEND=0,25向 ID0发送25字节数据包
  • STA模式下作TCP客户器

    发送指令作用
    AT+CWMODE=1设置为 STA 模式
    AT+RST重启生效
    AT+CWJAP=“ATK-MW8266D”, “12345678"”加入WiFi热点。SSID:ATK-MW8266D、密码:12345678
    AT+CIPMUX=0开启单连接
    AT+CIPSTART="TCP’, “192.168.4.XXX”,8086建立 TCP 连接到192.168.4.XXX:8086
    AT+CIPMODE=1开启透传模式(仅单连接Client 时支持)
    AT+CIPSEND开始发送数据
  • STA模式下作UDP连接

    作用
    AT+CWMODE=1设置为 STA 模式
    AT+RST重启生效
    AT+CWJAP=“ATK-MW8266D”, “12345678"”加入WiFi热点。SSID:ATK-MW8266D、密码:12345678
    AT+CIPMUX=0开启单连接
    AT+CIPSTART=“UDP”, “192.168.4.XXX",8086建立 UDP 连接到192.168.4.XXX:8086
    AT+CIPSEND=25向目标 UDP 发送 25 字节数据
  • AP+STA模式下作TCP服务器

    发送指令作用
    AT+CWMODE=3设置为AP+STA 模式
    AT+RST重启生效
    AT+CWSAP=“ATK-MW8266D”,“12345678”,1,4设置 AP参数。SSID 为ATK-MW8266D、密码为12345678、
    AT+CWJAP=“ALIENTEK”,“12345678”通道为1、加密方式为WPA_WPA2_PSK 加入WiFi热点。SSID:ALIENTEK、密码:12345678
    AT+CIPMUX=1开启多连接
    AT+CIPSERVER=1,8086开启SERVER 模式,端口号为8086
    AT+CIPSTO=1200设置服务器超时时间1200s
    AT+CIPSEND=0,25向 IDO 发送数据
    AT+CIPSEND=1,25向 ID1 发送数据
  • AP+STA模式下作TCP客户器

    发送指令作用
    AT+CWMODE=3设置为AP+STA 模式
    AT+RST重启生效
    AT+CWSAP=“ATK-MW8266D”, “12345678”,1,4设置 AP参数。SSID 为 ATK-MW8266D、密码为12345678、 通道为1、加密方式为 WPA_WPA2_PSK
    AT+CWJAP=“ALIENTEK”, “12345678”加入WiFi热点。SSID:ALIENTEK、密码:12345678
    AT+CIPMUX=1开启多连接
    AT+CIPSTART=O,“TCP”, “192.168.4.XXX”,8086建立 TCP 连接到 192.168.4.XXX:8086
    AT+CIPSEND=0,25向 IDO 发送数据
    AT+CIPSEND=1,25向 ID1 发送数据
  • AP+STA模式下作UDP连接

    发送指令作用
    AT+CWMODE=3设置为 AP+STA 模式
    AT+RST重启生效
    AT+CWSAP=“ATK-MW8266D”, “12345678”,1,4设置 AP 参数。SSID 为 ATK-MW8266D、密码为 12345678、 通道为1、加密方式为WPA_WPA2_PSK
    AT+CWJAP=“ALIENTEK”, “12345678"”加入WiFi热点。SSID:ALIENTEK、密码:12345678
    AT+CIPMUX=1开启多连接
    AT+CIPSERVER=1,8086开启服务器,端口号8086
    AT+CIPSTO=1200设置服务器超时时间1200s
    AT+CIPSTART=O,“UDP”, ““192.168.1.XXX”,8086STA 作为 ID0 连接到192.168.1.XXX:8086
    AT+CIPSEND=0,25向 IDO 发送数据
    AT+CIPSEND=1,25向 ID1 发送数据

5. 连接原子云

原子云即原子云服务器,是正点原子推出的互联网云服务平台,它可以实现数据的远程监控、转发和管理等功能,在未来也会持续更新更多的功能以满足用户的需求。原子云域名为:cloud.alientek.com,端口号为:59666。

使用步骤:

  1. 登录"https://cloud.alientek.com/"创建并登录账号

    在这里插入图片描述

  2. 点击设备管理->新增设备->ESP8266

    在这里插入图片描述

  3. 设置新增设备名称和密码

    在这里插入图片描述

  4. 点击新增,创建完成

    在这里插入图片描述

  5. 点击分组管理->新增分组

    在这里插入图片描述

  6. 选中序号->移入->保存

    在这里插入图片描述

6. 使用usb转ttl模块测试ATK-MW8266D

  • 硬件连接:

    在这里插入图片描述

  • 打开串口调试助手,发送AT指令进行测试

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

7. 使用STM32F103ZET6战舰开发板透传模式

  • 硬件连接:

    在这里插入图片描述
    过程中发现很多问题,然后一直无法完成硬件初始化,是因为线路连接问题,这里USART3的跳线帽要连接到 GBC;USART1要把PA9、PA10连接到RXD和TXD,使用USB数据线连接USB_UART,wifi模块插入方式如上 图所示。

  • 软件设置:

    //1.恢复出厂设置
    atk_mw8266d_send_at_cmd("AT+RESTORE", "ready", 3000);
    //2.AT测试
    atk_mw8266d_send_at_cmd("AT", "OK", 500);
    //3.STA模式
    atk_mw8266d_send_at_cmd("AT+CWMODE=1", "OK", 500); 
    //4.软件复位
    atk_mw8266d_send_at_cmd("AT+RST", "OK", 500);
    //5.关闭回显
    atk_mw8266d_send_at_cmd("ATE0", "OK", 500);
    //6.连接EIFI
    sprintf(cmd, "AT+CWJAP=\"%s\",\"%s\"", ssid, pwd);
    atk_mw8266d_send_at_cmd(cmd, "WIFI GOT IP", 10000);
    //7.获取IP地址
    atk_mw8266d_send_at_cmd("AT+CIFSR", "OK", 500);
    //8.连接TCP服务器
    sprintf(cmd, "AT+CIPSTART=\"TCP\",\"%s\",%s", server_ip, server_port);
    atk_mw8266d_send_at_cmd(cmd, "CONNECT", 5000);
    //9.开启透传模式
    atk_mw8266d_send_at_cmd("AT+CIPMODE=1", "OK", 500);
    //10.开始发送数据
    atk_mw8266d_send_at_cmd("AT+CIPSEND", ">", 500);
    

    从上述软件配置过程可以看出,基本与我们使用usb转ttl相同。

  • 注意事项:

    1. 模块的wifi要与电脑的wifi连接到同一个AP上面

    2. 修改代码:

      在这里插入图片描述

  • 实验结果:
    在这里插入图片描述

    从实验结果分析,已经建立连接,并开启透传模式,成功发送数据。

8. 使用STM32F103ZET6战舰板连接原子云

  • 硬件连接:

    与透传模式硬件连接图相同。

  • 软件设置:

    //1.恢复出厂设置
    atk_mw8266d_send_at_cmd("AT+RESTORE", "ready", 3000);
    //2.AT测试
    atk_mw8266d_send_at_cmd("AT", "OK", 500);
    //3.STA模式
    atk_mw8266d_send_at_cmd("AT+CWMODE=1", "OK", 500); 
    //4.软件复位
    atk_mw8266d_send_at_cmd("AT+RST", "OK", 500);
    //5.关闭回显
    atk_mw8266d_send_at_cmd("ATE0", "OK", 500);
    //6.连接EIFI
    sprintf(cmd, "AT+CWJAP=\"%s\",\"%s\"", ssid, pwd);
    atk_mw8266d_send_at_cmd(cmd, "WIFI GOT IP", 10000);
    //7.获取IP地址
    atk_mw8266d_send_at_cmd("AT+CIFSR", "OK", 500);
    //8.连接原子云
    sprintf(cmd, "AT+ATKCLDSTA=\"%s\",\"%s\"", id, pwd);
    ret = atk_mw8266d_send_at_cmd(cmd, "CLOUD CONNECTED", 10000);
    //9.接收原子云发送的数据
    atk_mw8266d_uart_rx_restart();
    
  • 注意事项:

    在这里插入图片描述

  • 实验结果:

    在这里插入图片描述

    原子云向单片机发送的信息,我们代码中设置了发送数据控制LED0的亮灭,发送1控制LED0点亮,然后回传灯亮。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】文件魔法师:时间与日历的解密

欢迎来到 CILMY23 的博客 &#x1f3c6;本篇主题为&#xff1a;文件魔法师&#xff1a;时间与日历的解密 &#x1f3c6;个人主页&#xff1a;CILMY23-CSDN博客 &#x1f3c6;系列专栏&#xff1a;Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux | 算法专题 | 代码…

【uniapp重大bug】uni-data-select的localdata改变,也会触发@change方法

bug描述 uni-data-select的下拉列表值localdata是动态获取的&#xff0c;且绑定了change方法&#xff0c;在页面加载后&#xff0c;请求localdata的列表数据&#xff0c;给localdata重新赋值&#xff0c;此时发现自动触发了change方法 当前uni版本&#xff1a;^2.0.2-30709202…

Axure RP10安装教程(Pro版)

下载链接 https://ga90eobypbb.feishu.cn/docx/UyzSd4q8SoXySjxtrcac4QnVn3f Axure RP 是一款专业的快速原型设计工具。它能帮助用户高效地创建网页和移动应用的线框图、流程图、原型和规格说明文档。拥有丰富的交互组件&#xff0c;可模拟各种复杂交互效果&#xff0c;如点击…

【千帆AppBuilder】使用Python调用基于官方的API创建图片故事的应用,一起体验下全代码模式下是怎样的效果

欢迎来到《小5讲堂》 这是《千帆》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 背景基本信息名称简介角色指令 能力扩展组件对话开场白推荐问 模型选…

98.SAP MII功能详解(12)Workbench-Transaction Logic(For Next Loop)

目录 1.Logic->For Next Loop 2.演示 配置对象 配置连接 for循环的整体演示 1.Logic->For Next Loop 此操作用于在预定义的次数内执行任务。每次迭代都会执行直接跟随For Next循环操作的所有操作&#xff0c;直到达到To限制。 若要在达到To属性限制之前停止&…

旅行追踪和行程规划工具AdventureLog

什么是 AdventureLog &#xff1f; AdventureLog 是一种记录您的旅行并与世界分享的简单方法。您可以在日志中添加照片、笔记等。跟踪您访问过的国家、探索去过的地区和地方。您还可以查看您的旅行统计数据和里程碑。AdventureLog 旨在成为您终极的旅行伴侣&#xff0c;帮助您记…

【LLM】文生视频相关开源数据集(VidGen、Panda、Cogvideox等)

note 总结了VidGen数据集、Panda-70m数据集、Openvid数据集、OpenVid-1M数据集、Cogvideox训练数据准备过程、ShareGPT4Video数据集等在一篇综述中还总结了评估指标包括&#xff1a;峰值信噪比&#xff08;PSNR&#xff09;、结构相似性指数&#xff08;SSIM&#xff09;、Inc…

matlab 将数组从左向右翻转

目录 一、概述1、算法概述2、主要函数二、代码示例1、翻转行向量2、翻转字符元胞数组3、翻转多维数组三、参考链接本文由CSDN点云侠翻译,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的抄袭狗。 一、概述 1、算法概述 将数组从左向右翻转 2、主要…

C++实现彩虹猫时空隧道特效(无害)

#include <Windows.h> // 如果不是在Visual Studio环境下运行的话W最好改小写。 using namespace std;int main() {for (int i 1; i < 10; i) {HDC hdc GetWindowDC(GetDesktopWindow());RECT rect;GetWindowRect(GetDesktopWindow(), &rect);StretchBlt(hdc, r…

[工具使用]ellisys

工具打开&#xff1a; 1.连接ellisys电源&#xff0c;ellisys Computer接口USB连接电脑&#xff0c;Logic接口与板子出信号的GPIO口连接 工具配置 1.点击"Configure" 2.在打开的Recording options中选择Wireless选项卡 2.选择Wired选项卡​ i.勾选Logic transit…

中秋佳节,悦动之选,精选热门骨传导耳机深度推荐

在这个金秋送爽、月圆人团圆的中秋佳节&#xff0c;我们不仅仅沉浸在月饼的香甜与家人的温馨之中&#xff0c;更渴望一份能够连接心与自然的独特礼物&#xff0c;让这份团聚的时光更加丰富多彩。在这个充满诗意的季节里&#xff0c;我满怀欣喜地向您推荐一款集科技、健康与时尚…

Maven的相关配置和使用

Maven的配置&#xff1a; Maven的配置和Java差不多&#xff0c;从镜像站下载相关的Maven版本压缩包&#xff0c;然后解压到自己的D盘&#xff0c;在进行系统变量的配置&#xff0c;新建变量Maven_HOME&#xff0c;然后值设置为Maven的地址&#xff0c;一定是点开文件后就能出现…

页面间对象传递的几种方法

页面间对象传递的几种方法 1. 使用request对象传递2. 使用session对象传递3. 使用application对象传递4. 使用cookie传递 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在Web开发中&#xff0c;页面间的数据传递是一个常见的需求。本文将…

java 实现文本转音频

文章目录 一、前言二、实现流程2.1 下载jacob-1.18.zip2.2 拷贝jacob-1.18-x64.dll2.3 pom 添加依赖2.4 代码实现 一、前言 本文基于Windows自带的SAPI.SpVoice&#xff0c;通过java代码实现文本转语音的功能。 二、实现流程 2.1 下载jacob-1.18.zip 链接&#xff1a;https…

号称史上最强AI的Google Gemini,通过大语言模型的帮助如何实现智能交互?

导读&#xff1a; 本文旨在探索一条创新的路径&#xff0c;即通过利用Google的Gemini Flash而非广为人知的LangChain&#xff0c;来实现与CSV文件的智能交互。本文将构建一个简单的CSV解释器&#xff0c;利用大型语言模型&#xff08;LLM&#xff09;来生成代码并解析数据&…

2024年互联网公司时薪排行榜大曝光!看完我酸了,第一竟是他…

大家好呀&#xff0c;我是胡广&#xff0c;今天看到千峰教育公众号分享一个对于选择公司非常有用的参考&#xff1a;“互联网时薪”。特地分享给各位看看 很多小伙伴在选择一家公司的时候更关注总收入package (除了基本的月薪&#xff0c;加上其他的所有的收入&#xff0c;包括…

惊喜!万博智云亮相2024数博会和第三届828 B2B企业节

摘要 万博智云作为2024 828 B2B企业节铂金合作伙伴&#xff0c;在2024中国国际大数据产业博览会的828 B2B企业节开幕式上亮相&#xff0c;并参加了本次828企业节的一系列活动&#xff0c;包括在华为展台现场开展的“‘云上大咖团’直面数博会现场”的直播上发表了主题分享。 8…

华为OD机试 - 最大报酬 - 0/1 背包问题,动态规划(Java 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;E卷D卷A卷B卷C卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加…

借老系统重构机会我写了个groovy规则引擎

公司老系统的重构计划早就有了&#xff0c;为了对Java硬编码的各种校验规则进行重构&#xff0c;特地参考了相关技术&#xff0c;最终选择了groovy进行了系统的学习&#xff0c;并编写了一个即插即用的轻量级规则引擎。 文章目录 项目背景技术选型groovy的性能groovy脚本执行线…

数据结构---双向链表---循环链表---栈

目录 一、双向链表 1.1.创建双向链表 1.2.头插法 1.3.尾插法 1.4.查询节点 1.5.修改节点 1.6.删除节点 1.7.打印节点 1.8.销毁链表 二、循环链表 2.1.单循环链表 2.2.双循环链表 三、栈 3.1.顺序栈 1.创建栈 2.判断栈是否满 3.判断栈是否为空 4.进栈 5.出栈…