当前位置: 首页 > 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…...

龙虎榜——20250610

上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

<6>-MySQL表的增删查改

目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表&#xf…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...