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);
  else
    while (!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接入物联网平台。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

让AI帮你说话--GPT-SoVITS教程

有时候我们在录制视频的时候,由于周边环境嘈杂或者录音设备问题需要后期配音,这样就比较麻烦。一个比较直观的想法就是能不能将写好的视频脚本直接转换成我们的声音,让AI帮我们完成配音呢?在语音合成领域已经有很多这类工作了&…

[足式机器人]Part3 机构运动学与动力学分析与建模 Ch01-2 完整定常系统——杆组RRR

本文仅供学习使用,总结很多本现有讲述运动学或动力学书籍后的总结,从矢量的角度进行分析,方法比较传统,但更易理解,并且现有的看似抽象方法,两者本质上并无不同。 2024年底本人学位论文发表后方可摘抄 若有帮助请引用 本文参考: 《空间机构的分析与综合(上册)》-张启先…

【程序员英语】【美语从头学】初级篇(入门)(笔记)Lesson10(电话会话Ⅱ)

《美语从头学初级入门篇》 注意:被 删除线 划掉的不一定不正确,只是不是标准答案。 文章目录 Lesson 10 Telephone Conversation Ⅱ 电话会话(二)会话A会话B笔记I would like to do(Id like to to do)我想…

0基础学习VR全景平台篇第139篇:如何用圆周率全景相机拍摄VR全景

新手入门 圆周率科技,成立于2012年,是中国最早投身嵌入式全景算法研发的团队之一,亦是全球市场占有率最大的全景算法供应商。相继推出一体化智能屏、支持一键高清全景直播的智慧全景相机--Pilot Era和Pilot One,为用户带来实时畅…

【智能家居入门之环境信息监测】(STM32、ONENET云平台、微信小程序、HTTP协议)

作为入门本篇只实现微信小程序接收下位机上传的数据,之后会持续发布如下项目:①可以实现微信小程序控制下位机动作,真正意义上的智能家居;②将网络通讯协议换成MQTT协议再实现上述功能,此时的服务器也不再是ONENET&…

电脑风扇控制温度软件 Macs Fan Control Pro 中文

Macs Fan Control Pro是一款专为Mac用户设计的风扇控制软件,旨在提供更精细的风扇转速控制和温度监控。这款软件通过实时监测Mac内部硬件的温度,自动或手动调整风扇的转速,以确保系统温度保持在理想范围内。 Macs Fan Control Pro提供了直观…

C#,广义斐波那契数(Generalised Fibonacci Numbers)的算法

广义斐波那契序列(generalized Fibonacci sequence)是斐波那契数的推广。由递推关系F₁F₂…Fm-10,Fₘ1,FmnFₙFn1…Fnm1,n≥1所产生的序列,称为m级广义斐波那契序列。 计算结果: 源代码: 1 文本格式 …

迅为新品全国产龙芯 3A6000 处理器板卡

龙芯 3A6000 处理器完全自主设计、性能优异,代表了我国自主桌面 CPU 设计领域的最新里程碑成果。龙芯 3A6000 处理器的推出,说明国产 CPU 在自主可控程度和产品性能上已双双达到新高度,也证明了国内有能力在自研 CPU 架构上做出一流的产品。 …

自动验证码解析器:CapSolver的Chrome扩展程序自动解析器

自动验证码解析器:CapSolver的Chrome扩展程序自动解析器 验证码是网站实施的一种安全措施,通常对用户构成挑战。然而,随着技术的进步,验证码解析器已经出现,以简化这一过程。在本文中,我们将探讨专为Googl…

trucksim三车队列仿真 matlab一直闪退问题

Trucksim2019 matlab版本2023a 基本框架应该都清楚 下图是主界面 overlay videos and polots with other runs 模块是 关联另一个车辆模型 核心是下图标红是核心 Number of vehicle codes 选择ALL 不要选

whatsapp相关(五)- frida监测网络请求

Frida监测 网络请求 本文主要记录下frida监测网络请求的过程. 1: 脚本 首先记录下脚本,代码如下: Java.perform(function () {var HttpURLConnection Java.use(java.net.HttpURLConnection);var URL Java.use(java.net.URL);var Proxy Java.use(java.net.Proxy);var ori…

VUE3动漫影视视频网站模板源码

文章目录 1.视频设计来源1.1 主界面1.2 动漫、电视剧、电影视频界面1.3 播放视频界面1.4 娱乐前线新闻界面1.5 关于我们界面 2.效果和源码2.1 动态效果2.2 源码结构 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/deta…

2024最值得入手的运动耳机有哪些?运动耳机品牌推荐

如果你在寻找一款实用、舒适且音质卓越的运动耳机,那么开放式耳机可能是理想的选择。开放式耳机设计稳固,佩戴舒适,音质自然真实。以下是我为大家精心挑选的几款适合运动佩戴的开放式耳机,它们不仅性能出色、耐用性强,…

Linux实验记录:使用LVM(逻辑卷管理器)

前言: 本文是一篇关于Linux系统初学者的实验记录。 参考书籍:《Linux就该这么学》 实验环境: VmwareWorkStation 17——虚拟机软件 RedHatEnterpriseLinux[RHEL]8——红帽操作系统 备注: 硬盘分好区或者部署为RAID磁盘阵列…

如何在 VM 虚拟机中安装 Red Hat Enterprise Linux 9.3 操作系统保姆级教程(附链接)

一、VMware Workstation 虚拟机 先得安装 VM 虚拟机,没有的可以参考这篇文章安装 VM 虚拟机 如何在 VM 虚拟机中安装 Win10 操作系统保姆级教程(附链接)https://eclecticism.blog.csdn.net/article/details/135713915 二、Red Hat Linux 镜…

【机器学习】二分类模型评估方法大全

一、模型搭建 导入包、全局设置 import numpy as np import os %matplotlib inline import matplotlib import matplotlib.pyplot as plt plt.rcParams[axes.labelsize] 14 plt.rcParams[xtick.labelsize] 12 plt.rcParams[ytick.labelsize] 12 import warnings warnings.…

基于Java SSM框架实现学生就业服务平台系统项目【项目源码】

基于java的SSM框架实现学生就业服务平台系统演示 JSP技术介绍 JSP技术本身是一种脚本语言,但它的功能是十分强大的,因为它可以使用所有的JAVA类。当它与JavaBeans 类进行结合时,它可以使显示逻辑和内容分开,这就极大的方便了学生…

leetcode 26.删除有序数组中的重复项(python版)

需求 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 , 返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k &#x…

Windows下EDK2快速搭建(详细)过程总结附软件包地址

目录 简介一、软件包下载安装VS2019下载NASM安下载LLVM/CLANG下载IASL下载安装Python安装OpenSSL下载EDK2 二、设置环境变量新增python系统变量新增NASM系统变量 三、编译3.1 在edk2目录直接输入cmd3.2 在cmd目录输入:edksetup.bat3.3 打开edk2编译窗口3.4 确认编译…

【算法专题】动态规划综合篇

动态规划7.0 1. 最长公共子序列2. 不相交的线3. 不同的子序列4. 通配符匹配5. 正则表达式匹配6. 交错字符串7. 两个字符串的最小ASCII删除和8. 最长重复子数组 1. 最长公共子序列 题目链接 -> Leetcode -1143.最长公共子序列 Leetcode -1143.最长公共子序列 题目&#xf…