轻松使用8266

简介: 今天算是做好了板子啦!做了一块直接用串口配置8266的板子,,也可以无线配置,配置完一次,上电自动运行...这篇文章也是写给一个朋友看的,朋友的项目做了很长时间了,遇到了AT指令的问题....我在学习了用lua开发后就渐渐摒弃了AT指令了,,,,,因为用lua开发方便快捷,大部分功能直接用lua写入芯片内部.

今天算是做好了板子啦!做了一块直接用串口配置8266的板子,,也可以无线配置,配置完一次,上电自动运行...这篇文章也是写给一个朋友看的,朋友的项目做了很长时间了,遇到了AT指令的问题....我在学习了用lua开发后就渐渐摒弃了AT指令了,,,,,因为用lua开发方便快捷,大部分功能直接用lua写入芯片内部.....配置好以后都是网络数据自动发送到串口,,,串口数据自动发送到网络

配合了历程....

 

安排上呢

一, ESP8266下载和刷固件(Lua开发----体验一下lua开发的魅力所在)

二, 控制一个灯亮灭

三, TCP服务器

四, TCP客户端

五, UDP

六, 文件操作(保存数据到8266内部)

七, 外设操作(SPI,ADC)

八, 再说......

写完一篇就更新一篇

用AT指令版本的

一,  http://www.cnblogs.com/yangfengwu/p/5205570.html    发AT指令,,其实AT指令就是事先用SDK内部写好了

二,  http://www.cnblogs.com/yangfengwu/p/5295632.html    这个呢是配合路由器实现远程,,其实可以买个域名,或者用云端

三,  http://www.cnblogs.com/yangfengwu/p/5220919.html   这是做了一个用手机控制的WIFI小车

 

用LUA语言的,更灵活,功能更强

一   http://www.cnblogs.com/yangfengwu/p/7514336.html      下载自己选择功能的固件,刷固件,写LUA的软件

二    http://www.cnblogs.com/yangfengwu/p/7520260.html     GPIO,串口,注意事项,空闲中断

三    http://www.cnblogs.com/yangfengwu/p/7524297.html      SPI通信介绍,,STM32 SPI 从机

四    http://www.cnblogs.com/yangfengwu/p/7524326.html      TCP服务器,单个连接

五    http://www.cnblogs.com/yangfengwu/p/7531730.html      TCP服务器,多个客户端连接,CRC校验

六    http://www.cnblogs.com/yangfengwu/p/7533302.html       TCP Client 断开自动重连,AD采集

七    http://www.cnblogs.com/yangfengwu/p/7533845.html      UDP支持一路默认,3路动态连接,ssid 与 pwd 的读取

八  http://www.cnblogs.com/yangfengwu/p/7534521.html       文件保存数据

Android 软件

一,  http://www.cnblogs.com/yangfengwu/p/5212570.html    Android TCP客户端

二,  http://www.cnblogs.com/yangfengwu/p/5294921.html    Android TCP服务器

 

 

先说做了一个什么东西:先看板子

 

 

上位机配置软件

现在先用串口配置

连接

或者

 先说一下各配置选项

一,

这是设置模块的工作模式AP   Station   和AP+Station  

二,

 作为TCP服务器的时候,端口号为监听的端口号(支持最多4个客户端同时连接通信,,,如果再有连接会循环断开原先的连接)

作为TCP客户端的时候......IP地址是模块连接的服务器的IP地址,,端口号是模块连接的服务器的端口号

UDP收发的时候,,,,,,我设置的最多可以同时和7个UDP通信....上面设置的IP地址和端口号是模块默认一直通信的一个(信息总会发向这一个),,,,,,

其余的六个呢是后面又连接的六个,,如果已经连接六个了,再有连接会断开这六个连接中的最先连接的那个,然后就是循环这样子

对了上面的端口号也是内部UDP监听的端口号

三,

 

 这是设置模块连接的路由器名称和密码 和 模块为AP模式时的wifi名称和密码

关于密码,,,如果设置的密码小于8位或者大于16位就会当成没有密码(模块内部是这样的)

三,

 

设置模块在AP模式下的IP地址,,子网掩码,,和默认网关

设置模块在Station模式下连接路由器后的IP地址,,子网掩码,,和默认网关(也就是可以固定IP地址)

 

 四,

设置和读取各引脚状态

本来呢加了引脚的SPI功能,,没想到啥都想好了就是没想到写的模块的内存不够了.............所以就去掉了SPI功能,,只做普通的GPIO使用

所以其实自己也倍感伤心,,为了内存的原因重写了好几遍程序.............

五,

可以通过连接模块的无线来配置模块,,,不仅如此哈,自己还做了手机APP来配置模块

            

本打算昨天就写好APP了,,,,可是呢因为布局嵌套出现了问题,,,所以就只能推迟两三天了..............

 

 

进入正题,,先用串口方式配置模块为TCP服务器

 

 这个先不设置,先按照默认的,,,其实很有用,,,,待会再设置(是为了固定IP)

 

 然后点击

   

 

 还可以发送命令查看

命令是++MDIP?

 可以固定住模块连接路由器后分得的IP

如果没有连接路由器的IP会回复 +STAIP:nil

 软件正好是TCP客户端

 

 现在测试发送数据

 

 现在测试多个连接

 

 客户端发给服务器

 

 

 

 

服务器发给客户端

 

 

 现在再连接两个,超过四个会自动断开第一个连接,,意思就是腾出个位置

 对了客户端断开的时候会有提示

 

 现在固定IP

我让模块连接路由器后的IP是192.168.1.123

 

 

 

 这样就能防止分得的IP会变了,通信的时候

 在AP+Station模式下好处就是连接模块的无线进行通信

 

模块默认默认默认默认的IP是192.168.4.1......当然如果必要也可以设置

 

 

好了看TCP Client

我用电脑的TCP软件建立的服务器,,我的电脑的ip是192.168.1.103

 

模块是断线自动重连

亲们自己体验吧

 

 

再看UDP

模块默认会把数据发给192.168.1.103,的8080端口,,自己监听的也是8080端口

现在看一下模块是不是默认发给指定的ip和端口号

现在让另一个UDP把数据发给模块,,这样的话模块就记录了这个UDP的IP地址和端口号,,,那么数据也能发给它了

 

现在让模块再发数据,,两个UDP都会接收到数据

 

亲们可以自己去测试好多个UDP连接哈,,,,,,和TCP Sever一样会循环断开.............

用这个地方来控制板子上的继电器和各个引脚吧!!

协议

++MD61(1代表输出高电平,0代表输出低电平) 0 (0-控制继电器,1-CS引脚,2-MOSI引脚,3--MISO引脚,4--CLK引脚)

 

 

 

 

好了现在用无线配置

为了快捷起见我加了一个按钮

 

这样的话,如果忘记了自己配置的了或者因为特殊情况无法和模块进行串口通信了(没带电脑,,没有串口模块),而我想配置...

点击着左上角的那个按钮然后断电上电或者按一下复位

然后呢连接模块的无线

 

                 

然后就去配置把

上面说没带电脑但是一定要带个手机哈,,,,,,APP两三天后做好吧,,,,,,,,,,

实物在这

https://item.taobao.com/item.htm?spm=0.7095261.0.0.67c286e3NS59Y&id=558508797404

上位机软件

链接:http://pan.baidu.com/s/1i4PqzuX 密码:7bhc

 

最后附一张部分协议

 

注意亲们的数据不要以++MD开头,因为这样的数据会被当成命令而不发向串口或者网络

 

                                 发送                    回复

读取AD值          ++MD9            ++MDAD=132     真实电压=132/1024

 

置低继电器引脚       ++MD600          OK

置低CS引脚               ++MD601          OK

置低MOSI引脚           ++MD602          OK

置低MISO引脚           ++MD603          OK

置低CLK引脚             ++MD604          OK 

 

置高继电器引脚         ++MD610          OK

置高CS引脚               ++MD611          OK

置高MOSI引脚           ++MD612          OK

置高MISO引脚           ++MD613          OK

置高CLK引脚              ++MD614          OK

 

读取继电器引脚      ++MD80          ++MDIO0=1(/0)  (1代表高电平,0代表低电平)

读取CS引脚            ++MD81          ++MDIO1=1(/0)  (1代表高电平,0代表低电平)

读取MOSI引脚        ++MD82          ++MDIO2=1(/0)  (1代表高电平,0代表低电平)

读取MISO引脚        ++MD83          ++MDIO3=1(/0)  (1代表高电平,0代表低电平)

读取CLK引脚          ++MD84          ++MDIO4=1(/0)  (1代表高电平,0代表低电平)

 

读取模块的IP地址    ++MDIP?       +APIP:192.168.4.1(自身的IP)                                    

                                                       +STAIP:192.168.1.123 (连接路由器后分得的IP,没有则回复+STAIP:nil)          

 

复位重启模块        ++MDA(CRC16校验) 或以16进制发送 2B 2B 4D 44 41 4E C5

其余的指令哈我直接提供源码,,亲们自己在程序中看

 

目录
相关文章
|
Web App开发 移动开发 编解码
melonJS 2 - 全新轻量级 2D 开源游戏引擎,采用现代化构建
介绍一个采用 ES6 重建的开源前端游戏框架。
|
4小时前
|
运维 监控 Cloud Native
如何设计与构建 FinOps 流程、团队、体系与目标
企业 FinOps 实施不是一蹴而就的项目,如果您正在推进企业云原生 FinOps 落地,除了选择合适的技术手段,企业内部的流程和体系建设也尤为重要。
162111 2
|
3小时前
|
分布式计算 Java API
Java8 Lambda实现源码解析
Java8的lambda应该大家都比较熟悉了,本文主要从源码层面探讨一下lambda的设计和实现。
162528 4
|
3小时前
|
关系型数据库 Serverless 分布式数据库
PolarDB PostgreSQL版Serverless技术原理解读
数据库是现代企业IT系统中非常重要的一部分。在创建数据库时,客户往往需要比较保守地去配置数据库集群的资源,包括CPU、内存、存储以及连接数等多种参数配置,以确保业务能够在波峰和波谷都能平稳运行。在这种情况下,客户购买的集群资源在业务波谷时期会被闲置,导致整体成本偏高;而在业务压力增长阶段,集群资源又应对不足。Serverless数据库可以很好地解决这个问题。它能够让数据库集群资源随客户业务负载动态弹性扩缩,将客户从复杂的业务资源评估和运维工作中解放出来。 本文描述PolarDB PostgreSQL版Serverless的构建中, 如何实现弹得快、弹得准、弹得稳、弹得广的几个关键技术点。
75567 1
PolarDB PostgreSQL版Serverless技术原理解读
|
3小时前
|
存储 关系型数据库 MySQL
数据管理的艺术:PolarDB开源版详评与实战部署策略(一)
PolarDB-X是阿里巴巴自研的高性能云原生分布式数据库,基于共享存储的Shared-nothing架构,支持MySQL生态,具备金融级高可用、分布式水平扩展、HTAP混合负载等能力。它通过CN(计算节点)和DN(存储节点)实现计算与存储分离,保证数据强一致性,并支持全局二级索引和多主多写。PolarDB-X开源版提供更高程度的定制化和控制权,适合追求技术自主性和成本优化的开发者。部署方式包括RPM包、PXD工具和Kubernetes,其中PXD工具提供了一键部署的便利性。
46748 11
|
3小时前
|
存储 NoSQL 数据库
为什么要用 Tair 来服务低延时场景 - 从购物车升级说起
“购物车升级”是今年双十一期间提升用户体验的关键项目,展示了大淘宝技术团队致力于通过技术突破消费者和商家体验的天花板。低延迟是这些挑战中的核心,内存数据库Tair因其高吞吐、大连接数、热点请求处理、异常流量管理和复杂计算逻辑优化等特点,在低延迟场景下表现出色。Tair使用内存/SCM混合存储和各种索引来提供低延迟服务,并通过无锁并发、水平扩展分区等技术应对高并发。此外,Tair还通过热点策略、流控和执行流程优化等手段确保在大促时的稳定性和性能。Tair在双十一期间支持了购物车、销量统计、卖家优惠券召回和互动场景等多种业务,展现其低延迟和高并发的能力。
76573 10
|
3小时前
|
人工智能 安全 Devops
让研发规范管得住 - 我们为什么在流水线之上又做了研发流程?
研发规范的目标,是为了解决或降低出现软件危机的风险。但传统流水线受限于工具的定位,无法解决研发规范的落地问题,需要在更高的层面来解决。阿里云云效团队经过内部启发后推出的新产品:云效应用交付平台 AppStack 给出了解决方案,快来使用体验吧!
78359 3
|
3小时前
|
关系型数据库 Serverless 分布式数据库
高峰无忧,探索PolarDB PG版Serverless的弹性魅力
在数字经济时代,数据库成为企业命脉,面对爆炸式增长的数据,企业面临管理挑战。云原生和Serverless技术革新数据库领域,PolarDB PG Serverless作为阿里云的云原生数据库解决方案,融合Serverless与PostgreSQL,实现自动弹性扩展,按需计费,降低运维成本。它通过计算与存储分离技术,提供高可用性、灾备策略和简化运维。PolarDB PG Serverless智能应变业务峰值,实时监控与调整资源,确保性能稳定。通过免费体验,用户可观察其弹性性能和价格力,感受技术优势。
|
4小时前
|
API 网络安全 Swift
【一文看懂】Havenask创建表
本次分享内容为Havenask的创建表,共3个部分组成(直写表与全量表、 创建直写表、创建全量表),希望可以帮助大家更好了解和使用Havenask。
158231 1
【一文看懂】Havenask创建表
|
4小时前
|
SQL 消息中间件 Swift
【一文看懂】Havenask单机模式创建
本次分享内容为Havenask单机模式,由下面3个部分组成(Hape工具介绍、创建单机版Havenask、Hape问题排查),希望可以帮助大家更好了解和使用Havenask。
127211 1