esp8266开发板指导说明书_第1页
esp8266开发板指导说明书_第2页
esp8266开发板指导说明书_第3页
esp8266开发板指导说明书_第4页
esp8266开发板指导说明书_第5页
已阅读5页,还剩146页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

oWorld输 程序到开发 SDKAPI介 TCP-通 说明:如果不考虑从头安装开发环境IDE和SDK,可以使用 习,从1.3节“开发板介绍”开始学习即可。使用的是安信可开发环境,它是基于Windows+Cygwin+Eclipse+GCC的综合环境。参考安信可:ide1.1.1.下面是地址,二选一:安信可网盘地址使用提供的资料文件:.\开发软件\安信可ESP系列新IDE(20180710).rar 注:如果打不开ConfigTool.exe,打开DoFx40Framework快捷方式安IDE 右键选择工程“esp8266_at”尝试编译,先选择 project”清除编译文件,接着选择 不进行演示,因为 会讲解如何基于NONOS_SDK-2.2.1创建自己的工程。1.2.1.使用的是2.2.1版本NONOS_SDK,地址,二选一:料 开发软件\ESP8266NONOSSDK- “examples”下文件夹“IoT_Demo”到根 SDK修改完,到第一章的工程project 下(即开发环境的IDE 下,F盘是安装的 File→ImportC/C+ExistingCodeasMakefile 到project finish注:工程名 可以选中工程后按下F2进行重命名USBUSB接口的设备上,如电脑、充电宝和 注:CH340串口驱动的在 重要说明:从这一章开始 以打包好例程的IDE开始学解。请先解压资料 下的文AiThinkerIDE_V0.5.rar到根盘符下,如C盘、D盘等,解压的 根据1.1.3节配置就可以使用了。 IDE打 左边workspace有很多工程,每个工程都有一个序号,在学习的过程中, 打开 在app->user下的文件user_ma,它里面有一个函数user_init(),就是ESP8266的主函数,相当于以前学习过的main()函数。函数user_init()里的几行代码实现串口输出为o第126行:主函数,相当于C语言的main()函数。第128行:设置不启动wifi,可以不设置。第131行:串口0输出 oworld。 要在user_ma里包含头文件“#lude"driver/uart.h"”和#lude"osapi.h"。注:关于wifi_set_opmode、uart_init和uart0_sendStr相关函数,都可以通过<<手册>> 开发板使用的是ESP8266ex,它对应的flash是32M的。程序地址,请参考 编译出来的是两个文件:eagle.flash.bineagle.irom0text.bin,4个文件,编译化文件,在SDK下一般会给出,一定要。 选择文件的路径;最后是文件的地址。重新复位开发板即可以。 此时先按下开发板的S2键不松开,接着再按一下S1RESET键,即进入过程(如果不能,请调小波特率),然后就可以松开S2键了: ESP8266提供了两种定时器:软件定时器和硬件定时器,在这个实验里 把手册的部分内容列出来。在 <<手册>>下的文硬件定时器在SDK里给出了代码, 了3个函数:在文件user_ma 第129行:程序。第116~118行:定时一个1000ms的软件定时器,定时器时间到调用第100行的函数。102行:通过串口输出软件定时器时间到的信息:"SoftTimerCb1000ms\r\n"。2右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程序到开发板上提供的8266开发板上有一个彩灯,对应着三个LED灯,这一课 第133行:把GPIO15初始化为IO口,即对应的IO口。136行:把GPIO13输出低电平,即关闭红灯。第138行:把GPIO15输出低电平,即关闭。灯和的目的。右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程序到开发板上LED进入状态。S3是接到GPIO12上。SDKAPI关于按键是如何检测的,SDK已经 只要把key.c和key.h加app下的driver 编译使用即可。下面 件,首先打开key.h,内容如下:一个函数指针——两个结构体:single_key_param和两个初始化函数——key_init_single和结构体Key.c就是按键的功能实现,由于不用修改,并且也比较简单,因此 们学习如何使用key_init_single和key_init函数。第164行:没有写长按键回调函数。165行:短按键回调函数为Switch_ShortPress_key1()。第167~168行:把按键到GPIO12上。170行:短按键回调函数为Switch_ShortPress_key2()1732注:程序编译和过程如果不太清楚,请看一下第二章。右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程序到开发板上代码对应IDE下的工程“7relay”。 右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程序到开发板上代码对应IDE下的工程“8DHT11”。 IODHT11传感器的线协议 -v1.4-20170508.pdf>>有详细说明,以下内容全部从此文档。1I/ODHT11DATADHT11122引脚处于输出状态,输出83微秒的低电平作为应答信号,紧接着输出87微秒的通知外设准I/OI/O(DHT11)后,等待87微秒的后的数据接收,发送信号如图所示:3平加68-74微秒的位数据“0”、“1”格式信号如图所示:3湿度:00110101(整数)=35H=53%RH00000000(小数)=00H=0.0%RH=>53%RH0.0%RH注:更详细的说明请自己 档, <手册>下的<<DHT11数字型温湿度模通过软件定时器3秒一次DHT11的温度和湿度值,然后通过串口打印出来。注:程序编译和下右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程序到开发板上IDE“9taskDHT11传感器数据,然后从串口输出DHT11第168行:系统初始化完成回调函数。170行:彩灯初始化,默认关。第155行:创建任务的消息队列,一共有4个消息,也就是任务最多可以 最多4个未处理消息。第156行:创建任务,任务的优先给是1,任务的函数是test_task函数。第139~143行:case1表 第163行:消息类型是1,任务收到会读温湿度。注:程序编译和过程如果不太清楚,请看一下第二章。右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程序到开发板上根据文档说明,要测试外部电路的电压,就要把esp_init_data_default.bin107byte设置为 第157行:系统初始化完成回调函数 第159行:彩灯初始化,默认关。应着0x7FC扇区:第147行:定时器超时函数 第151行:ADC。注:程序编译和过程如果不太清楚,请看一下第二章。右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程序到开发板上开关uart_init(app\driver\uart.c 是由界面的245115200。第247行:系统启动完成回调函数第186行:根据11.2节的串口控制命令得知,每一个控制命令都是以#号结尾的,所以 据的时候要调用CtrlLed()函数去控制传感器。下面只列出了控制红灯部分,全部代码请打开IED分析原码:右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程序到开发板上先输入所有令,如下图:以通过接收串口数据修改,设备开机时自动从flash出来。FlashDHT11Flash(2)数(3)第335行:系统初始化完成回调函数。338行:彩灯初始化,默认关。340341行:开机flash保存的数据开机flash保存的数1404个字节组成的数据是uint32第146行:如果校验和正确151~152行:校验和不正确,使用默认的温湿度阈值解析串口数据得到阈值用于写解析数据代码,接收的数据格式是“T=50&H=70#”,其中50和70是 第191行:把解析出来的温湿度数据保存到flash,方便下次开。温湿度数据保存到flash:第297行:温度和湿度数据第306~308行:判断湿度是否超过阈值第312~313行:温度或者湿度有,点亮红灯和打开蜂鸣器。第315~316行:温度和湿度都没有,关闭红灯和蜂鸣器。第320~324行:温度正常亮,如果不正常,灭。右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程序到开发板上 是指温度阈值为50,“H=70”是指湿度阈值为70。 ” 控制GPIO13、GPIO14和GPIO15输出波形,以达到控制彩灯颜色变化的目的。(1)初始第185行:彩灯初始化,这里是使 波特的GPIO口数组第141行:初始化 的周期为1000us,即1ms,也就是1KHz的 第145~147行:关闭红绿,函数实现下一步分析。第109行的22222就是1KHz 的占空比的最大值,这个值的计算方法:duty=(period*1000)/45, 的这个实验里period=1000,所以算出duty=22222。和154~171行:根据type去用level去设置当前灯的亮度174~180行:level递增,type右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程序到开发板上向终端适配器(TerminalAdapter,TA)或数据电路终端设备(DircuitTerminalEquipment,DCE)发送AT 以AT+TEST命令为例,at_cm 在voidat_port_print(constchar*str);//AT第273行:增加令是”+LED”,命令长度是4个字节,后面分别对应着测试、查询、设置和执行第二个参数是0~255之间的数字。205行:收到设置指令后执行此函数,参数pdata为包括”=”209行:跳过”=”第213行:一串字符串,直到逗号结束。第343行:AT命令列表at_custom_cmd[]。关于彩灯初始化,设置RGB亮度值的请往回 右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject 下面的AT命令文档“4a-esp8266_at_instruction_set_cn.pdf”,逐一尝试默认支持了哪些AT命令。代码对应IDE下的工程“15WiFi-STA”。无线网卡的计算机,也可以是有WiFi模块的智能,可以是移动的,也可以是固定的。AP 第149行:程序启动函AP第88~104行:通过while输出所有扫描到的AP信息。第110行:开始连接AP。AP49STAIP信息出模块的IP,最多重联7次。 右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程序到开发板上AP(AccessPoint):无线接入点,是一个无线网络的创建者,是网络的节点,一般家庭或使用的无线路由器就一个AP。APIP Wi-FiStationSoftAPIPESP8266SoftAPDHCP第192行:主函数第194行:系统初始化完成函数。196行:初始化并关闭彩灯。166行:设置WiFiSoftAp模式。第134~136行:修改名称和。第141~144行:设置网关IP。145行:启动DHCPAP。第147~148行:取出模块的IP,并从串口显示。右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程序到开发板上打开或者电脑,使用wifi查询名字为“”的接入点,对应的是IDE“17UDPAPSTAUDP通信。APUDPSTAUDP参数三是TCP连接的结构体:(1)接收数据回调函(2)发送成功回调函 第214行:这是预编译宏。如果是”#if0”就执行229~236行代码;如果是”#if 代码;注:修改代码后,要重新编译程序到模块。第228行:AP模式运行,创建UDP连接。UDP第73行:接收到数据的回调函数,即收到数据就调用函数user_udp_recv_cb()第77行:数据发送成功回调函数,即数据发送成功就调用函数user_udp_sent_cb()。第80行:创建UDP连接。 的MAC地址发出去。注:程序编译和过程如果不太清楚,请看一下第二章。工作在AP模式,如下图所示:因为不能预知,将连接到wifiIP地址,所以在这里修改为广播发送数据,右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程序到开发板上电脑连接到名称为"smartsnail"的wifi,他的是”12345678”。(7)使用串口工具打开wifi模块生成的串口如果有多台电脑或者,也可以同时连接到名称为"smartsnail"的wifi,他的打开IDE下工程“17UDP”,打开文件“\app\user\user_ma 修改214行为“#if1”,即模块工作在STA模式,如下图所示: 打开文件“\app\user\user_ma”。在函数scan_done()里,修改160行和161行的名称和,修改为自己真实存在的WiFi。如下图所示右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程序到开发板上61行:广播STA+AP接口发送注释68行代码。TCP-通代码对应IDE下的工程“18TCP-”。本实验通APSTATCP的客户端通信。册接收数据回调函数、发送成功回调函数、断开连接回调函数和创建TCP客户端。 调函数(recv_callback)、发送成功回调函数(sent_callback)、断开连接回调函数(disconnect_callback)和写如果要使用函数进行回调函数,对应的6个函数分别为:espconn_regist_recvcb()、espconn_regist_write_finish()。创建函数第190行:这是预编译宏。如果是”#if0”就执行193~194行代码;如果是”#if 代码;注:修改代码后,要重新编译程序到模块。第203行:wifi回调函数,在AP模式下,有设备接入,就会触发。205行:APAP模式下wifi回调函数,并启动TCP客户第144行:有客户端连接就会触发此接入设备IP相关信息。定时器的回调函数check_station()第130行:创建TCP客户端连接,端为10000。如何创建下一步讲解。第135行:如果没有设备接入,启动定时器,2秒后继续检测。WifiIP后启动TCP第45行:表示 第56行:创建TCP客户端连接,端为10000。如何创建下一步讲解。TCP创建TCP客户端连接代码在文件\app\user\.c里。首先介绍上面使用过的创建连接函数my_station_init():第44行:函数 ,共3个参数:服务器IP(remote_ip)、ESP8266模块IP(local_ip)和服务器端口第54~59行:6个回调函数赋值。9行:TCP第33行:重新连接回调函数,然后 调用了espconn_connect进行重新连接。 注:程序编译和过程如果不太清楚,请看一下第二章。工作在AP模式,如下图所示:右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject工作在STA模式,如下图所示:码,修改为自己真实存在的WiFi。如下图所示IP(注:开发板、路由器和电脑在同一个网络中)。如下图所示:右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject试助手打开的情况下,按一下开发板的reset键即可。收到后会从串口输出收到的数据,同时返回"esp8226recvdata\r\nIDE“19TCP-SERVER册接收数据回调函数、发送成功回调函数、断开连接回调函数和创建TCP客户端。 如果要使用函数进行回调函数,对应的6个函数分别为:espconn_regist_recvcb()、espconn_regist_write_finish()。 第163行:这是预编译宏。如果是”#if0”就执行166~167行代码;如果是”#if 代码;注:修改代码后,要重新编译程序到模块。第173行:设置为AP模式。的讲解AP模式启动。APTCPWifi模块成功加入网络,取得IP后启动TCP第46行:取出wifi模块的IP。TCP 第35行:类型为TCP。第40~45行:6个回调函数赋值。第17行:TCP数据发送成功回调函数 工作在AP模式,如下图所示:右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject就知道模块的IP,端口是10000。10000.工作在STA模式,如下图所示:右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject就知道模块的IP00,端口是10000。10000.DNS是系统( 和对应IP地址,并具有将转换为IP地址功能的服务器。。STA根据解析出IP地址,并从串口输出 可以得到IP地址。(2)(2)Wifi连接 (3)(3)第38行:开始解析,解析的是""。第39行:解析的回调函数user_esp_tform_dns_found()。第30行:解析回调函数。33行:输出解析到的IP。ESP8266模块启动后,会从串口工具输出要解析的的IP地址。注:程序编译和过程如果不太清楚,请看一下第二章。右键工程先选择“cleanproject”清除编译文件,接着选择“buildprojectIDE“21http-GET”个实验是基于第1820章基础上实现。TCPDNSGETTCP-使用和第20章的DNS使用一种网络协议,所有的WWW文件都必须遵守这个标准。HTTP是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是。通HTTP请求。 以打开首页为例,然后在IE浏览器中按下F12,打开”开发人员工具”,切换到”网络”,然对着前面的请求头格式看,第一行里请求后面的值包括了3部分内容:请求方法GET、URL地 知道要发起一个http请求,首先要DNS解析出IP地址,接着根据IP地址去连TCP服务器(port80)http要修改连接的wifi名称和。第19行:请求的第31行:开始DNS解析,参数HOST在文件 .h有定义,上一步说明过了。第27行:DNS解析成功后,发起TCP服务器连接。请起http请求接着 第42行:发起TCP服务器连接的函数,在第18章“tcp- 第34行:连接TCP服务器成功的回调函数。第37行:生成请求头字符串,两个宏HEAD和HOST在 .h里有定义。第38行:把请求头发送到服务器31行:串口打印出接收到的数据进行解析,然后根据解析出来的IP地址,连接服务器,发起http请求,最后服务器返回注:程序编译和过程如果不太清楚,请看一下第二章右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程序到开发板上第21章 实现的是ESP8266请求服务器的信息,然后从串口输出的源码,ESP8266是做为TCP客户端使用的。 服务器,主要功能是提供网上信息浏览服务HTTP响应(response)HTML页面。为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或,进行页面跳转(redirect),或者把动态响应(dynamicresponse)的产生委托(delegate)给一些其它的程序例如CGI,JSP(JavaServerPages),servlets,ASP(ActiveServerPages),服务器端(server-side)JavaScript,或者一些其它的服务器端(server-side)技术。http请求头,然后返回一个html网页。和上一节不同的是网页,这个网页会在IE上显示出来。关于html网页的编写,可以从()去学习STAESP8266集成webwerver在实验里index.html\dreamweaver8(网页编程软件).exe)打开查看,或者使用notepad打开也可以:回顾一下第2章,一共要下4个文件,其中文件”eagle.irom0text.bin”在地址为保存用户数据,一个扇区是4K字节,0x10000+0x5C000108扇区。要修改连接的wifi名称和。 打开文件\app\user\server.c里,首先 19章”19TCP-SERVER”有比较详细解释。 第54行:如果接收的数据带有“GET”方法。第59行:读出第108扇区的内容, 的index.html就保存在这个扇区里。第60行:index.html的长度是158字节, 61行:通过data_send()html63行:如果请求是错误的,通过data_send()第11行:response_OK为true表示返回成功第16~19行:带有消息体的成功响应处理,增加返回的消息体, 要返回的index.html内容就在这第26~27行:没有失败响应。注:程序编译和过程如果不太清楚,请看一下第二章右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject”当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程序到开发板上。这一章的会多一个index.html,配置如下: index.html。注意:ESP8266和电脑必须要连接在同一个路由器下。STAESP8266集成webwerver 页编程软件).exe)打开查看,或者使用notepad打开也可以:135html网页以<html>开头,以</html>结尾。第10行:设置标题为“ESP8266验证POST方法”。第14行:表单内使用了一个表格,这一行是表格开始。17行:AP名字的输入框。第22行:AP的输入框。27行:AP网关的输入框。回顾一下第2章 一共要下4个文件,其中文件”eagle.irom0text.bin”在地址保存用户数据,一个扇区是4K字节,0x10000+0x5C000108扇区。要修改连接的wifi名称和。 打开文件\app\user\server.c里,首先 19章”19TCP-SERVER”有比较详细解释。 第120行:读出第108扇区的内容, 的index.html就保存在这个扇区里。第121行:index.html的长度是925字节, 122行:通过data_send()html内容给请求端。第123行:判断是否是POST方法save_param(),如下:42行:这是一行注释,举例说明函数save_param()precv格式。第51~59行:取出名字。第63~71行:取出。第74~82行:取出IP。102行:设置ESP8266APIP。注:程序编译和过程如果不太清楚,请看一下第二章右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject”当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程 index.html。注意:ESP8266和电脑必须要连接在同一个路由器下。如:12345678)、IP(IP4,如:)。重新启动开发板,使用或者电脑查询周围存在的wifi信号, 的wifi,这就是 的ESP8266的AP模式的wifi名称。sntp是简单网络时间协议(SimplworkProtocol)的客户端,可以用来查询或修正NTP服务器STA通过设置SNTP服务器IPSNTPSNTP第153行:系统初始化完成165行:SNTP第135~138行:SNTP服务器初始化,初始化了两个 一个IP地址。第139行:SNTP初始化。第147行:SNTP时间戳编译和过程如果不太清楚,请看一下第二章。右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程序到开发板上 可以定义一个按键(IO口)去唤醒CPU。STAlight-sleepGPIOLight-sleep按键部分有需要请看实验5。192行:系统唤醒后的回调函数194行:系统唤醒后,关闭系统睡眠第196行:连接到之前的AP。198行:输出串口201行:按键key1进入睡眠的函数。203LOG205wifi连接207行:进入睡眠前,设置睡眠模式为模块工作电流变小;睡眠后按下key2键,会进入睡眠唤醒函数,重新连接上之前的AP,电流也正常。注:程序编译和过程如果不太清楚,请看一下第二章右键工程先选择“cleanproject”清除编译文件,接着选择“buildproject当没有错误后,通过工具FLASH_DOWNLOAD_TOOLS把程序到开发板上发板电流约80ma。ESP8266的TCPjava1继电器状态,10蜂鸣器状态,107

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论