ESP8266硬件机理

  • 1.ESP8266简介
  • 2.硬件结构
  • 3.运行机理
    • 3.1 Warning
    • 3.2 机理
  • 4.快速搭建服务器
    • Attention
    • 4.1进入STA模式
    • 4.2复位
    • 4.3获取附近能够连接上的wifi
    • 4.4找到你要接入的wifi,添加账号和密码
    • 4.5获取此时esp8266的IP地址
    • 4.6开启多通道模式
    • 4.7开启服务器,设置服务端口
  • 5.esp8266的定位
  • 总结

1.ESP8266简介

ESP8266是上海乐鑫信息科技设计的低功耗WiFi芯片,集成完整的TCP/IP协议栈和MCU。而ESP8266模块是深圳安信可公司基于ESP8266芯片研发(增加必要外围电路、串口flash、板载天线等)的串口WiFi模块,成本低、使用简便、功能强大。

和串口蓝牙模块一样,串口WiFi模块也是扩展单片机功能的又一神器。在没有接触8266之前,我对单片机如何联网的问题很是好奇,在书里看过用笨重繁琐的以太网模块实现,但一点都不帅好吧。而小巧的 ESP8266 WiFi模块通过串口AT指令与单片机通讯,实现串口透传,非常好上手。

esp8266可以用作很多用途,而我想把esp8266用做一个用于系统监视和数据处理的服务器转接口!

系统监视和数据处理这两个应用会在之后的博客中发布!

但是在开发这两个应用之前得先要对esp8266这个模块进行熟悉。

2.硬件结构

我使用的esp8266是正点原子的ATK-esp8266。样子长什么样我就不贴图了。

使用这个wifi模块非常简单,是通过串口进行通讯的。直接用USB转串口模块调试就可以了。

PS:像一般的调试用一些小模块然后配合上位机调试是很方便的。先要验证是不是可行然后再进行下一步。

3.运行机理

3.1 Warning

在讲这个运行机理之前,先说明一下,这个机理仅仅只是针对于ATK-esp8266。

3.2 机理

  • esp8266最多能够接受5个客户端。ID0 ~ ID4
  • 客户端不能一直占着茅坑不拉屎,超过最大服务时间就会把客户端踹开。并返回ID,CLOSED\r\n比如“0,CLOSED\r\n”
  • esp8266是通过串口与目标板卡进行数据交互和命令收发
  • 最重要的一点:新加入的客户端被分配的ID号总是当前ID号列表中的最小的

以上,第四点是最重要的,我再说明一下:

假如有这样一种情况。

现在esp8266接待了5个客户端,他们的ID号分别为 ID0 ID1 ID2 ID3 ID4

但现在ID3 和 ID0这两个客户端退出了,不需要esp8266的服务了。那么此时,esp8266的服务列表中就只有 ID1 ID2 ID4

那么,如果此时又有一个新的用户进来了,那它被分配的ID号是什么呢?

答案是 : ID0

这个机理希望大家都能够自己亲自去验证,非常容易实现,顺便说一句:matlab非常好用,用一行命令就可以生成一个客户端,而不需要你自己去开多个网络调试助手。

PS:有的时候我发现,上位机其实是不能给很好的适用于任何场景,只能在某些特定的场景下可以适用,但是如果你对matlab和python编程的话,你就可以快速的调用相应的工具包,因此,我觉得,如果你向提高你的嵌入式开发效率,你真的需要学习一下matlab和python,建议两个都学,因为都是面向数据处理的语言,只是语法不同,组织代码块的形式不同。

4.快速搭建服务器

我在全网看了这么多篇博客,我发现他们都是以AP模式充当服务器。我觉得这其实是非常麻烦的一件事。

如果你用你电脑上的上位机与esp8266进行网络通信的话,前提是你的电脑要连入esp8266组好的局域网内,那你的电脑此时就不能给上网了,而你此时有需要查资料,那你怎么办。

因此,我觉得上面那种方法搭建服务器是非常愚蠢的。

你直接让esp8266连入你电脑连入的局域网,然后再建立服务器不就可以 了吗。

Attention

AT指令发送的时候记得加\r\n

4.1进入STA模式

AT+CWMODE=1

4.2复位

AT+RST

4.3获取附近能够连接上的wifi

AT+CWLAP

4.4找到你要接入的wifi,添加账号和密码

AT+CWJAP="s008","dianxin132"

4.5获取此时esp8266的IP地址

AT+CIFSR

Attention:记住这个IP地址,你访问esp8266的时候需要这个ip地址

4.6开启多通道模式

AT+CIPMUX=1

4.7开启服务器,设置服务端口

AT+CIPSERVER=1,1001

好了,你已经esp8266已经进入的服务器模式了,这个时候怎么验证呢,你怎么去找一个客户端去访问esp8266呢

  1. 使用网络调试工具
  2. 使用matlab创建客户端对象

5.esp8266的定位

esp8266并不是一个严格意义上的服务器,我更愿意把esp8266当作是一个前台小姐,它的作用是接待客户。每当有一个新的客户来享受服务的时候,前台小姐先问你需要什么服务,然后客户提出自己的需求,当前台小姐获知客户的需求之后,就把这个需求告诉仓库管理员(目标板卡),仓库管理员把相应的资料递给前台小姐,前台小姐再将资料给客户。

由于客户最多有5个,但是前台小姐只有一个,它一个人服务5个客户肯定是会忙不过来的,因此服务质量肯定会随着客户数量的增加而降低,并且前台小姐从仓库管理员获取资料,再把资料给客户这一个过程中,每一次拿的资料里量都是有限的。因此,客户端获取数据的速度在质量保证的情况下可能要低一点。

总结

本篇博文总的来说是介绍esp8266硬件知识,它的机理。我觉得上面一张图足以说明了esp8266为什么要加入到嵌入式平台。

在这个服务器搭建好之后,我想弄两个APP:

系统监视和数据处理

但是,现在只是把esp8266的最基本的机理解决完了接下来就是实现服务器了,下一篇博客将的就是esp8266服务器的实现。

ESP8266之硬件机理相关推荐

  1. ESP8266+MicroPython开发:ESP8266使用硬件SPI驱动TFT屏幕(ST7735)

    由于上次模拟SPI驱动TFT屏幕太慢,所以,本次采用硬件SPI来进行驱动,但是,当我直接把对应SPI接口更换时,发现TFT屏幕驱动并没有因此得到好转,依然是非常的满,然后只能从对应花点铺色,显示字符串 ...

  2. 启明云端分享|大家都知道ESP32-C3是乐鑫5月刚量产的芯片,大家都传是取代ESP8266的,目前也确实有很多客户升级应用选择替换,那Esp8266与Esp32-C3 从硬件到应用开发有哪些不同呢

    提示:ESP32-C3是乐鑫5月刚量产的芯片,大家都传是取代ESP8266的,目前也确实有很多客户升级应用时,选择了ESP32-C3,特别是电工照明类客户,因为ESP32-C3功耗低,又自带蓝牙,价格 ...

  3. 【微信小程序控制硬件 第13篇】安信可B站直播学习总结,微信小程序MQTT远程控制ESP8266 NodeMCU,谈谈微信生态那些事;

    [微信小程序控制硬件第1篇 ] 全网首发,借助 emq 消息服务器带你如何搭建微信小程序的mqtt服务器,轻松控制智能硬件! [微信小程序控制硬件第2篇 ] 开始微信小程序之旅,导入小程序Mqtt客户 ...

  4. esp8266~GPIO中断和硬件定时器的正确使用

    最近项目需要检测IO口下降沿信号和定时计数,于是就用到了GPIO中断和硬件定时器.有点可惜,github上面RTOS版sdk没有硬件定时器的使用方法,能够参考的只有1.5的sdk,然而我不会移植,只能 ...

  5. ESP8266-SDK的硬件定时器

    ESP8266的硬件定时器的使用也比较简单 1.设置定时器的时钟源和自动重装载 hw_timer_init(FRC1_SOURCE, 1);//设置时钟源 和定时器自动重装载 时钟源有两个 NMI 中 ...

  6. 零基础教你玩转ESP8266(一) 重识ESP8266

    零基础教你玩转ESP8266(一) 重识ESP8266     单片机菜鸟 单片机菜鸟 当前离线 积分 24734 TA的每日心情 开心 2018-10-25 09:07 签到天数: 507 天 [L ...

  7. STM32 ESP8266和Java服务器透传模式下的双向通信

    系列文章: ESP8266的AP模式与STA模式简单测试 简单的Java服务器和客户端的通信 STM32 ESP8266和Java服务器透传模式下的双向通信 jsp向servlet传输数据 Servl ...

  8. 基于 ESP8266 的智能家居开源解决方案 【文章结尾有资料】

    物联网连接  IoT Connect 是一个建立在 esp8266 之上的开源物联网平台,它允许用户以最有效的方式远程连接和控制他们的家用电器. 该项目主要分为3个主要部分,即硬件.固件和Web UI ...

  9. 和ESP8266 Arduino谈场恋爱 01 一条具有中国特色的开发环境安装道路

    前言 废话不多说,环境先搞起来. 非著名情感博主 IoT小能手 twowinter,耗费数月心血,编著长篇言情小说<和ESP8266 Arduino谈场恋爱>,为广大技术宅男传授深度撩妹技 ...

最新文章

  1. Google宣布5.5亿美元投资京东
  2. my java note ---- 绑定
  3. POJ 2987 Firing(最大权闭合图)
  4. MTK tee.img的打包原理介绍
  5. 2019河南对口高职高专计算机,2019年河南普通高招最后一个批次 高职高专批正式投档...
  6. C# 系统应用之无标题窗体移动的两种方法
  7. 小黑框如何连接mysql_珍藏版(cmd小黑框)数据库命令及操作
  8. android平台应用技术特点,Android平台应用安全关键技术研究
  9. 新世相难看的吃相:昨天你交智商税了吗?
  10. 我用九天时间,深挖一条闲鱼诈骗黑色产业链。
  11. Python 编程语言
  12. 修改计算机系统参数软件,机器码修改专家(修改电脑机器码工具) v2.0官方版
  13. Python-pandas-Excel排序、筛选
  14. 微信检测器 微信过滤工具
  15. AUTOCAD——弧形文字排列
  16. 宏基4752g 开机进度条卡到75%左右,解决办法
  17. Java设计模式:模板模式
  18. 我的jQuery学习之路(笔记)——四
  19. 东软、天健、金仕达、杭创、中联..HIS比较
  20. linux查看固态硬盘寿命,CentOS下查看 ssd 寿命

热门文章

  1. WPS如何制作流程图
  2. Xilinx FPGA控制器的Everspin STT-DDR4设计指南
  3. 景区剧本杀app游戏项目
  4. ztl 2.0版本基本架构
  5. mysql数据库在线测试_5个免费在线 SQL 数据库环境,学习测试太方便了!
  6. c++实验2——标准体重
  7. 无法枚举容器内对象 访问被拒绝?
  8. mate10pro升级鸿蒙吗,Mate40 Pro用户升级鸿蒙OS, 客观谈论了个人一天使用感受
  9. 测试案例编写规范总结
  10. 最新uni-app实现本地(离线)安卓打包