当前位置: 首页 > news >正文

ESP8266模块(2)

实例1

查看附近的WiFi

步骤1:进入AT指令模式
  1. 使用USB转串口适配器将ESP8266模块连接到电脑。
  2. 打开串口终端软件,并设置正确的串口和波特率(通常为115200)。
  3. 输入以下命令并按回车确认:
AT

如果模块响应OK,则说明它处于AT指令模式。

步骤2:扫描WiFi网络

输入以下命令来扫描附近的WiFi网络:

AT+CWLAP

模块将开始扫描,并返回一系列的WiFi网络信息,包括每个网络的SSID、信号强度(RSSI)、加密类型和安全状态。

查看连接的WiFi

  1. 发送AT指令

    • 打开串口通信软件,并连接到ESP8266模块的串口。
    • 输入以下AT指令并按回车发送:
AT+CWMODE?  # 查询当前工作模式

该指令会返回当前ESP8266的工作模式(1:Station模式,2:AP模式,3:Station+AP模式)。

接下来,使用以下指令来查询已连接的WiFi信息:

AT+CWLAP     # 列出可用的WiFi网络
AT+CWJAP?    # 查询当前连接的WiFi网络信息

如果模块已经连接到一个WiFi网络,AT+CWJAP?指令将返回以下信息:

+CWJAP:"SSID","MAC",ch,ecn

这里的SSID是连接的WiFi网络的名称,MAC是该网络的MAC地址,ch是连接的频道,ecn是加密类型。

  1. 断开连接(如果需要):

AT+CWQAP     # 断开当前连接的WiFi网络

请确保在发送AT指令时,每个指令后都要按回车键,并且等待模块的响应。如果ESP8266模块没有响应,可能需要检查串口连接是否正确,或者确认模块是否已经进入了AT指令模式。有时候,可能还需要重置模块,或者发送AT+RST指令来重启模块。

  1. 连接到WiFi网络

  2.  使用以下命令连接到您的WiFi网络。您需要替换"SSID"为您的WiFi网络名称,"PASSWORD"为您的WiFi密码。

    AT+CWJAP="SSID","PASSWORD"
    

    如果连接成功,模块将返回OK。如果失败,通常会返回错误信息。

实现连接服务器

1. 设置Wi-Fi模式

将ESP8266设置为Station模式(客户端模式):

AT+CWMODE=1

2. 连接到Wi-Fi网络

连接到您的Wi-Fi网络:

AT+CWJAP="SSID","PASSWORD"

SSID替换为您的Wi-Fi网络名称,PASSWORD替换为Wi-Fi密码。

3. 查看IP地址

获取ESP8266分配的IP地址:

AT+CIFSR

4. 设置为单连接模式

(可选)如果需要,可以将ESP8266设置为单连接模式:

AT+CIPMUX=0

5. 连接到服务器

使用以下指令连接到服务器,这里以TCP连接为例:

AT+CIPSTART="TCP","SERVER_IP",SERVER_PORT

SERVER_IP替换为服务器的IP地址,SERVER_PORT替换为服务器的端口号。

6. 发送数据

连接成功后,发送数据到服务器:

AT+CIPSEND=LENGTH

替换LENGTH为您要发送的数据的长度。在发送此命令后,串口监视器将进入发送模式,您可以输入要发送的数据。

9. 接收数据

配置ESP8266以接收服务器发送的数据:

AT+CIPRECVMODE=1

设置接收超时:

AT+CIPRECVDATA=TIMEOUT

替换TIMEOUT为期望的超时时间(毫秒)。

10. 关闭连接

完成数据交换后,关闭连接:

AT+CIPCLOSE

 实现服务器端

1. 初始化ESP8266

首先,确保您的ESP8266模块已经通过串口与您的计算机或其他设备连接,并准备好接收AT指令。

2. 设置为SoftAP模式

将ESP8266设置为SoftAP模式,允许其他设备连接到它:

AT+CWMODE=2

3. 创建SoftAP

配置ESP8266创建一个热点:

AT+CWSAP="ESP8266_Server","password",1,3

这里,"ESP8266_Server"是热点名称,"password"是连接密码。

4. 设置多连接模式

允许ESP8266处理多个连接:

AT+CIPMUX=1

5. 开启TCP服务器

开启TCP服务器并指定端口:

AT+CIPSERVER=1,80

这里,80是端口号,可以根据需要更改。

6. 监听连接和数据(不用管)

一旦服务器开启,它将监听指定端口上的连接。如果有客户端连接并发送数据,ESP8266将通过以下响应通知:

plaintext

复制

+WIFI:station:xx:xx:xx:xx:xx:xx join, AID=1

这里,xx:xx:xx:xx:xx:xx是客户端的MAC地址。

当客户端发送数据时,ESP8266会响应:

+IPD,id,len:data

这里,id是连接的ID,len是数据的长度,data是接收到的数据。

ID是0

7. 发送数据到客户端ID看上图

向客户端发送数据:

AT+CIPSEND=id,len

发送此指令后,输入要发送的数据。

8. 关闭连接

当完成与客户端的数据交换后,可以关闭特定的连接:

AT+CIPCLOSE=id

9. 关闭服务器

如果需要关闭服务器,可以使用以下指令:

AT+CIPSERVER=0

查询esp8266的IP

1. 查询SoftAP IP地址

在SoftAP模式下,可以使用以下AT指令来查询ESP8266分配给自身的IP地址:

AT+CIPAP?

这个指令将返回SoftAP的IP地址、网关和子网掩码。以下是可能的响应:

+CIPAP:ip:"192.168.4.1"
+CIPAP:gateway:"192.168.4.1"
+CIPAP:netmask:"255.255.255.0"

这里的192.168.4.1是ESP8266作为SoftAP时的默认IP地址。当然,您也可以通过以下AT指令自定义SoftAP的IP地址:

AT+CIPAP="192.168.4.2","192.168.4.1","255.255.255.0"

2. 查询Station IP地址

如果您同时将ESP8266设置为Station模式(例如,Station+SoftAP模式,AT+CWMODE=3),并连接到了一个外部路由器,那么您可能还想查询分配给Station模式的IP地址。这可以通过以下AT指令完成:

AT+CIFSR

这个指令将返回ESP8266在Station模式下的本地IP地址、MAC地址、网关和子网掩码。以下是可能的响应:

+CIFSR:STAIP:"192.168.1.100"
+CIFSR:STAMAC:"5c:cf:7f:34:45:ab"
+CIFSR:Gateway:"192.168.1.1"
+CIFSR:NetMask:"255.255.255.0"

这里的192.168.1.100是外部路由器分配给ESP8266的IP地址。

 

相关文章:

ESP8266模块(2)

实例1 查看附近的WiFi 步骤1:进入AT指令模式 使用USB转串口适配器将ESP8266模块连接到电脑。打开串口终端软件,并设置正确的串口和波特率(通常为115200)。输入以下命令并按回车确认: AT如果模块响应OK,…...

Docker安装笔记

1. Mac安装Docker 1.1 Docker安装包下载 1.1.1 阿里云 对于10.10.3以下的用户 推荐使用 对于10.10.3以上的用户 推荐使用 1.1.2 官网下载 系统和芯片选择适合自己的安装包 1.2 镜像加速 【推荐】阿里镜像 登陆后,左侧菜单选中镜像加速器就可以看到你的专属地…...

《昇思25天学习打卡营第21天|Pix2Pix实现图像转换》

Pix2Pix 是一种图像转换模型,使用条件生成对抗网络(Conditional Generative Adversarial Networks,cGANs)实现图像到图像的转换。它主要由生成器(Generator)和判别器(Discriminator)…...

Python和MATLAB网络尺度结构和幂律度大型图生成式模型算法

🎯要点 🎯算法随机图模型数学概率 | 🎯图预期度序列数学定义 | 🎯生成具有任意指数的大型幂律网络,数学计算幂律指数和平均度 | 🎯随机图分析中巨型连接分量数学理论和推论 | 🎯生成式多层网络…...

在jsPsych中使用Vue

jspsych 介绍 jsPsych是一个非常好用的心理学实验插件,可以用来构建心理学实验。具体的就不多介绍了,大家可以去看官网:https://www.jspsych.org/latest/ 但是大家在使用时就会发现,这个插件只能使用js绘制界面,或者…...

机器学习·概率论基础

概率论 概率基础 这部分太简单,直接略过 条件概率 独立性 独立事件A和B的交集如下 非独立事件 非独立事件A和B的交集如下 贝叶斯定理 先验 事件 后验 在概率论和统计学中,先验概率和后验概率是贝叶斯统计的核心概念 简单来说后验概率就是结合了先验概…...

c生万物系列(面向对象:封装)

本系列博客主要介绍c语言的一些屠龙技,里面包含了笔者本人的一些奇思妙想。 该系列博客笔者只是用作记录。如果你偶然找到了这篇博客,但是发现不知所云,请不要过多投入时间,可能笔者本人那时候也看不懂了。 笔者决定用c语言模仿…...

当当网数据采集:Scrapy框架的异步处理能力

在互联网数据采集领域,Scrapy框架以其强大的异步处理能力而著称。Scrapy利用了Python的异步网络请求库,如twisted,来实现高效的并发数据采集。本文将深入探讨Scrapy框架的异步处理能力,并展示如何在当当网数据采集项目中应用这一能…...

React——useEffect和自定义useUpdateEffect

useEffect 是React的一个内置Hook,用于在组件渲染后执行副作用(例如数据获取、订阅或手动更改DOM)。它将在第一次渲染后和每次更新后都会执行。 useEffect(() > {// 这里的代码将在组件挂载和更新时执行。 }, [dependencies]); // depend…...

Hadoop大数据处理架构中ODB、DIM、DWD、DWS

在Hadoop的大数据处理架构中,ODS、DIM、DWD和DWS分别代表了数据仓库体系中不同的层次和功能。下面解释这几个概念: ODS (Operational Data Store) 想象你有一家超市,每天营业结束后,你会把当天所有的销售记录、顾客信息、商品库…...

【刷题汇总 -- 爱丽丝的人偶、集合、最长回文子序列】

C日常刷题积累 今日刷题汇总 - day0211、爱丽丝的人偶1.1、题目1.2、思路1.3、程序实现 2、集合2.1、题目2.2、思路2.3、程序实现 -- set 3、最长回文子序列3.1、题目3.2、思路3.3、程序实现 -- dp 4、题目链接 今日刷题汇总 - day021 1、爱丽丝的人偶 1.1、题目 1.2、思路 …...

基于vue3 + vite产生的 TypeError: Failed to fetch dynamically imported module

具体参考这篇衔接: Vue3报错:Failed to fetch dynamically imported module-CSDN博客 反正挺扯淡的,错误来源于基于ry-vue-plus来进行二次开发的时候遇到的问题。 错误起因 我创建了一个广告管理页面。然后发现访问一直在加载中。报的是这样…...

批量自动添加好友,高效拓展人脉圈.

随着微信使用数量的不断增加,手动添加好友成为了一项耗时且繁琐的任务。为了帮助大家解决这个问题,下面分享一款高效的微信管理系统,它能够帮助你实现批量自动添加好友,极大提升了人脉拓展的效率。 这款微信管理系统可以同时管理多…...

Web开发:一个可拖拽的模态框(HTML、CSS、JavaScript)

目录 一、需求描述 二、实现效果 三、完整代码 四、实现过程 1、HTML 页面结构 2、CSS 元素样式 3、JavaScript动态控制 (1)获取元素 (2)显示\隐藏遮罩层与模态框 (3)实现模态框拖动效果 一、需求…...

【深度学习】fooocusapi,docker,inpainting图像

基础镜像制作来源 fooocusapi接口官方写的: docker run -d --gpusall \-e NVIDIA_DRIVER_CAPABILITIEScompute,utility \-e NVIDIA_VISIBLE_DEVICESall \-p 8888:8888 konieshadow/fooocus-api会下载一些模型,下载完后推这个镜像 docker commit 4dfd1…...

算法017:二分查找

二分查找. - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/binary-search/ 二分查找,其实是双指针的一种特殊情况,但是时间复杂度极低&#…...

谷粒商城实战笔记-37-前端基础-Vue-基本语法插件安装

文章目录 一,v-model1,双向绑定2,vue的双向绑定2.1 html元素上使用指令v-model2.2 model中声明对应属性2.3,验证view绑定modelmodel绑定view 完整代码 二,v-on1,指令简介2,在button按钮中添加v-…...

mybatis中的缓存(一级缓存、二级缓存)

文章目录 前言一、MyBatis 缓存概述二、一级缓存1_初识一级缓存2_一级缓存命中原则1_StatementId相同2_查询参数相同3_分页参数相同4_sql 语句5_环境 3_一级缓存的生命周期1_缓存的产生2_缓存的销毁3_网传的一些谣言 4_一级缓存核心源码5_总结 三、二级缓存1_开启二级缓存2_二级…...

实现自动化采购:食堂采购系统源码开发详解

本篇文章,笔者将详细介绍食堂采购系统的开发过程,从需求分析、系统设计到实现和测试,为您全面解析如何构建一个高效的自动化采购系统。 一、需求分析 1.采购计划管理 2.供应商管理 3.订单管理 4.库存管理 5.财务管理 6.数据分析与报告 …...

linux、windows、macos清空本地DNS缓存

文章目录 Linux:Windows:macOS: Linux: 对于使用systemd的操作系统(如CentOS 7、Ubuntu 16.04),可以使用以下命令重启systemd-resolved服务来清除缓存: sudo systemctl restart sys…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

Xela矩阵三轴触觉传感器的工作原理解析与应用场景

Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知&#xff0c;帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量&#xff0c;能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度&#xff0c;还为机器人、医疗设备和制造业的智…...

Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践

在 Kubernetes 集群中&#xff0c;如何在保障应用高可用的同时有效地管理资源&#xff0c;一直是运维人员和开发者关注的重点。随着微服务架构的普及&#xff0c;集群内各个服务的负载波动日趋明显&#xff0c;传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...