Arduino Uno R3通过ESP-01S连接网络

一、材料准备

Arduino Uno R3开发板 × 1
USB串口通信数据线(Uno开发板使用) × 1
在这里插入图片描述
ESP8266-01S Wi-Fi模块 × 1
在这里插入图片描述
ESP8266固件烧录下载器(烧录固件使用) × 1
在这里插入图片描述
WiFi无线收发转接板(适用于ESP-01S、ESP-01)
在这里插入图片描述
杜邦线 若干

二、烧录ESP-01S的AT固件

用到的资料链接链接:
https://pan.baidu.com/s/1zYrIcn_DDN5NJKM-Ql0-Ww
提取码:wifi
1、首先按照安装好串口驱动,版本老一点
在这里插入图片描述
2、将esp-01s插入固件烧录下载器,并插入电脑的USB接口
在这里插入图片描述

3、打开资料里面的flash_download_tools_v3.6.8文件夹下的
在这里插入图片描述
在这里插入图片描述
4、从提供资料文件Ai-Thinker_ESP8266_AT_Firmware_DOUT_v1.5.4.1-a_20171130中选择需要烧录的固件文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5、按照如下图配置
在这里插入图片描述

在这里插入图片描述
6、烧录固件
在这里插入图片描述
下载成功后截图
在这里插入图片描述

如果提示串口连接失败,则使用资料里面提供的驱动软件,卸载驱动重新按照
在这里插入图片描述
7、打开资料里面的UartAssist.exe串口调试助手进行测试
请添加图片描述

三、连接网络

1、设置工作模式
还是在串口调试助手中,通过指令AT+CWMODE=Mode来设置工作模式;
Mode = 1,Station模式(客户端);在Station模式下,ESP-01S可以连接到现有的WiFi网络,充当设备的客户端,通过连接到WiFi网络,ESP-01S可以访问Internet,从而实现各种联网应用。
Mode = 2,AP模式(服务器、热点);在Access Point模式下,ESP-01S可以充当WiFi热点,允许其他WiFi设备连接到它,这种模式适用于创建一个独立的局域网络,使设备之间可以直接通信,而无需连接到外部网络。
Mode = 3, Station+AP模式(混合模式);这种模式结合了Station和Access Point两种模式,使ESP-01S既可以连接到现有WiFi网络,又可以充当WiFi热点,这使得ESP-01S可以在连接到外部网络的同时,为其他设备提供WiFi连接。
在这里插入图片描述
2、设置加入AP
AT+CWJAP=“SSID”,“PWD”,返回ok则设置成功
SSID:连接wifi的id
PWD:连接wifi的密码
连接网络后,然后可以通过AT+CIFSR查询本地IP地址
在这里插入图片描述
3、其他指令
查询当前的工作模式AT+CWMODE?
查询当前连接的的APAT+CWJAP?
查看当前无线路由器列表AT+CWLAP
在这里插入图片描述
复位指令(重启):AT+RST
设置波特率:AT+CIOBAUD=BaudRate
路由器分配给 ESP8266 的局域网 IP 以及网关地址和子网掩码:AT+CIPSTA?

四、TCP透传

1、首先需要建立一个TCP 服务器,需要借助资料包中的NetAssist.exe网络调试助手 + 自己的电脑
打开网络调试助手,按照图片配置
在这里插入图片描述
2、利用串口助手将 ESP8266 连接到 TCP 服务器
通过AT+CIPSTART="协议模式","服务端IP地址",端口号建立连接,成功返回CONNECT OK
在这里插入图片描述
3、这个时候,在输入框发送内容的话,依然是默认为指令。如果我们想把数据直接发送给 TCP 服务器,那么就需要开启透传模式。所谓的透传模式,可以视为 ESP8266 为透明状态,客户端发送的信息直接就传输给服务端。
发送AT+CIPMODE=1,开启透传模式。
发送AT+CIPMODE?,查询是否为透传
在这里插入图片描述
这时候通过网络调试助手可以向ESP-01S发送消息了,但是想通过ESP-01向网络调试助手发消息需要再发送AT+CIPSEND
在这里插入图片描述
发送AT+CIPSEND,发送的任何数据,就直接传输到服务器了
在这里插入图片描述
退出透传:先发送 +++(不要带回车),再发送 AT+CIPMODE=0
断开 TCP 连接:AT+CWCLOSE
断开热点:AT+CWQAP

五、实现Arduino Uno R3与服务器的通信

通过三、四部我们实现了ESP-01S与服务器通信,接下来实现Arduino Uno R3通过ESP-01S与服务器通信
按照如图将Arduino Uno R3、ESP-01S、WiFi无线收发转接板连接起来
在这里插入图片描述
接线方式如下:

Arduino Uno R3WiFi无线收发转接板
5VVCC
GNDGND
0TX
1RX

打开Arduino编辑器,将下面代码烧录至Arduino Uno R3,烧录的时候拔掉0、1(RX,TX)引脚的线

void setup() {Serial.begin(9600);//while (!send_cmd("AT", "OK"));//while (!send_cmd("AT+CWMODE=3", "OK"));                                         //工作模式   //while (!send_cmd("AT+CWJAP=\"HUAWEI nova3\",\"1234567#%$\"", "OK"));       //接入AP while (!send_cmd("AT+CIPSTART=\"TCP\",\"192.168.1.180\",8080", "OK"));      //接入服务器while (!send_cmd("AT+CIPMODE=1", "OK"));                                   //透传模式while (!send_cmd("AT+CIPSEND", ">"));                                          //开始发送Serial.println("connect success");                        //发送报文信息}void loop() {if(Serial.available()>0){char cmd = Serial.read();//读取蓝牙模块发送到串口的数据Serial.print(cmd);}}//boolean 成功返回true,失败返回false
boolean send_cmd(String data, char *keyword)
{boolean result = false;if (data != "")   //对于tcp连接命令,直接等待第二次回复{Serial.println(data);  //发送AT指令}if (data == "AT")              //寻找esp8266是否正常工作delay(1000);elsewhile (!Serial.available());              // 等待wifi模块应答delay(200); if (Serial.find(keyword))       //返回关键词判断,比如ok{return true;}else{return false;}while (Serial.available()) Serial.read();      //清空串口缓存delay(500); 
}

结果如图:
在这里插入图片描述
程序是将服务发送给Arduino Uno R3的消息转发回服务器,因而结果如上,根据自己需求更改代码即可。
后续还会写文章,使用ESP-01S mqtt将Arduino Uno R3接入物联网平台。

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

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

相关文章

java设计模式:工厂模式

1:在平常的开发工作中,我们可能会用到不同的设计模式,合理的使用设计模式,可以提高开发效率,提高代码质量,提高系统的可拓展性,今天来简单聊聊工厂模式。 2:工厂模式是一种创建对象的…

如何查看某网站的谷歌流量的组成情况

在独立站跨境贸易当中,很多时候我们都会重复一个动作,那就是查看对手网站或者某一网站的流量,以此来分析和总结如何优化自己的站点,借鉴对手优秀的地方来补足自己的缺点,或者某些时候会模仿甚至抄袭竞品网站。那么如何…

C++ 类与对象(上)

目录 本节目标 1.面向过程和面向对象初步认识 2.类的引入 3.类的定义 4.类的访问限定符及封装 4.1 访问限定符 4.2 封装 5. 类的作用域 6. 类的实例化 7.类对象模型 7.1 如何计算类对象的大小 7.2 类对象的存储方式猜测 7.3 结构体内存对齐规则 8.this指针 8.1 thi…

数据结构(一)------顺序表

文章目录 前言一、什么是顺序表二、实现顺序表1.静态顺序表2.动态顺序表总结 前言 制作不易!三连支持一下呗!!! 从今天起我们将会进入数据结构的学习! 我们先来了解 什么是数据结构 数据结构是计算机存储、组织数…

LeetCode(2)

目录 概念解释 栈 队列 树 树的概念 结点的分类 有序树 无序树 森林 二叉树 满二叉树 完全二叉树 二叉排序树 平衡二叉树 1.用栈实现队列 解法:双栈 2.字符串解码 解法:栈 3.二叉树的中序遍历 解法一:递归 解法二&#xff…

云微呼探索人工智能机器人对话:过去、现在和未来

随着科技的迅速发展,人工智能(AI)机器人已经成为我们日常生活中的重要一部分。从简单的语音助手到能够进行复杂对话的智能机器人,AI技术正在改变着我们与机器之间的互动方式。本文将探讨人工智能机器人对话的历史、现状以及未来发…

[SwiftUI]系统弹窗和自定义弹窗

一、系统弹窗 在 SwiftUI 中,.alert 是一个修饰符,用于在某些条件下显示一个警告对话框。Alert 可以配置标题、消息和一系列的按钮。每个按钮可以是默认样式、取消样式,或者是破坏性的样式,它们分别对应不同的用户操作。 1.Aler…

前端qrcode生成二维码详解

文章目录 前言1、浏览器支持2、优点3、缺点4、相关方法5、安装及使用示例 前言 qrcode 是一个基于JavaScript的二维码生成库,主要是通过获取 DOM 的标签,再通过 HTML5 Canvas 绘制而成,不依赖任何库。 官方文档:https://www.npm…

Kafka-服务端-GroupCoordinator

在每一个Broker上都会实例化一个GroupCoordinator对象,Kafka按照Consumer Group的名称将其分配给对应的GroupCoordinator进行管理; 每个GroupCoordinator只负责管理Consumer Group的一个子集,而非集群中全部的Consumer Group。 请注意与Kaf…

Java项目:基于SSM框架实现的企业员工岗前培训管理系统(ssm+B/S架构+源码+数据库+毕业论文)

一、项目简介 本项目是一套ssm821基于ssm框架实现的企业员工岗前培训管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格…

NetExec:一款功能强大的自动化网络安全评估与漏洞测试工具

关于NetExec NetExec是一款功能强大的自动化网络安全评估与漏洞测试工具,该工具可以帮助广大研究人员以自动化的形式测试大型网络的安全,并通过利用网络服务漏洞来评估目标网络的安全态势。 支持的协议 1、SMB协议 2、LDAP协议 3、WinRM协议 4、MSSQL协…

go语言函数进阶

1.变量作用域 全局变量 全局变量是定义在函数外部的变量,它在程序整个运行周期内都有效。 在函数中可以访问到全局变量。 package mainimport "fmt"//定义全局变量num var num int64 10func testGlobalVar() {fmt.Printf("num%d\n", num) /…

vue-head 插件设置浏览器顶部 favicon 图标 - 动态管理 html 文档头部标签内容

目录 需求实现11. 安装插件2. 项目内 main.js 引入3. vue页面使用 实现2其他 需求 vue项目中浏览器页面顶部图标可配置 实现1 使用 vue-head 插件实现 vue-head 插件可实现 html 文档中 head 标签中的内容动态配置(npm 官网 vue-head 插件) 1. 安装插件 …

promethues基础概念

promethues是一个开源的系统监控以及报警系统,整个zabbix的功能,系统,网络,设备 promethues可以兼容网络和设置被,容器监控,告警系统,因为他和k8s是一个项目基金开发的产品,天生匹配…

代码随想录算法训练营第34天 | 1005.K次取反后最大化的数组和 134.加油站 135.分发糖果

K次取反后最大化的数组和 贪心局部最优:将绝对值大的负数变为正数,当前和变为最大;全局最优:整体获得最大和。 如果负数都变成正数之后,k > 0,仍然需要继续翻转,贪心局部最优:将最…

14.STM32F4 LCD屏幕概念及源码下载(LCD之一)

一、LCD液晶显示屏介绍 1、常见的显示设备 在目前市面上,常见的显示设备种类有:LED、显示数码管、点阵LED显示屏、LCD液晶显示屏,这几种设备的特点是: (1)LED LED灯是最简单的显示设备,它只有两…

天拓四方:物联网网关在机械制造企业的应用

随着物联网技术的不断发展,越来越多的机械制造企业开始探索如何利用物联网技术提升生产效率、降低运营成本。物联网网关作为物联网架构中的关键设备,能够实现设备间的数据交互与远程控制,为机械制造企业带来了巨大的商业价值。它能够实现设备…

漏洞原理XSS存贮型漏洞

漏洞原理XSS存贮型漏洞 XSS(跨站脚本攻击)是一种常见的Web安全漏洞,它允许攻击者将恶意代码注入到网页中,进而攻击用户的浏览器。存储型XSS漏洞是一种特定类型的XSS漏洞,它发生在Web应用程序中,其中用户输入…

小红叒战小紫

概率dp #include <iostream> #include <string> #include <stack> #include <vector> #include <queue> #include <deque> #include <set> #include <map> #include <unordered_map> #include <unordered_set> #…

在租户内启用SharePoint Embedded

要开启 SharePoint Embedded&#xff0c;你得是管理员&#xff0c;然后按照这些步骤操作&#xff1a; 登录到你的 SharePoint 管理中心。在左边的菜单里找到“设置”选项&#xff0c;点进去。 3. 在设置页面里找到“SharePoint Embedded 应用”。 4.如果这个功能还没开启&…