![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ESP8266
文章平均质量分 74
Willliam_william
这个作者很懒,什么都没留下…
展开
-
ESP8266 Arduino开发之路(12)— HTTP网络服务器
ESP8266 Arduino开发之路(11)— HTTP网络服务器一、前言超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上,它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应,,我们使用浏览器打开的网页使用的就是HTTP协议。接下来我们会参数在ESP8266-NodeMCU上建立一个HTTP网络服务器,然后通过浏览器来访问它。二、编写代码接下来我们编写代码实现网络服务器的功能,其中需要用到ESP826原创 2021-08-06 22:37:49 · 3238 阅读 · 1 评论 -
ESP8266 Arduino开发之路(11)— ESP8266中的JSON解析
ESP8266 Arduino开发之路(10)— ESP8266中的JSON解析一、前言解析JSON格式信息是一个较为繁琐的工作,因此我们可以借助ArduionJson库来解析Arduino-ESP8266平台中的SON格式信息。ArduionJson库的相关信息:作者:BENOIT BLANCHON官网:https://arduinojson.org/GitHub: https://github.com/bblanchon/ArduinoJson第三方下载地址:太极创客网站下载页Ardu原创 2021-07-24 20:39:11 · 4593 阅读 · 0 评论 -
ESP8266 Arduino开发之路(10)— JSON基础
ESP8266 Arduino开发之路(10)— JSON基础一、前言JSON(JavaScript Object Notation) 是一种通用的轻量级数据交换文本格式。它很容易让人阅读和编写,也便于机器进行解析和生成。它使用JavaScript语法来存储和描述数据对象,但是JSON完全独立于JavaScript。JSON可适用于多种流行编程语言。这些特性使JSON成为理想的数据交换格式。参考自:JSON基础二、JSON数据组成JSON数据是以“名”“值”对呈现的,数据中名和值由冒号分隔。原创 2021-07-24 18:20:38 · 1229 阅读 · 1 评论 -
ESP8266 Arduino开发之路(9)— OLED的UI显示控制
ESP8266 Arduino开发之路(9)— OLED的UI显示控制一、前言在上一节中,我们使用了esp8266-oled-ssd1306库来实现OLED屏幕的显示,该库函数还提供了UI显示的文件库:OLEDDisplayUi.cpp,我们可以使用其提供的库来实现一些很炫酷的UI界面。二、...原创 2021-07-23 10:57:12 · 5116 阅读 · 2 评论 -
ESP8266 Arduino开发之路(8)— 使用OLED显示文字和图片
ESP8266 Arduino开发之路(8)— 使用OLED显示文字和图片一、前言OLED是一种利用多层有机薄膜结构产生电致发光的器件,它很容易制作,而且只需要低的驱动电压,这些主要的特征使得OLED在满足平面显示器的应用上显得非常突出。OLED显示屏比LCD更轻薄、亮度高、功耗低、响应快、清晰度高、柔性好、发光效率高,能满足消费者对显示技术的新需求。我们最常用的是OLED 0.96 IIC 128×64模块,如下所示,其中0.96指的是屏幕的显示尺寸0.96inch, 128×64指的是屏幕的分原创 2021-07-13 22:27:19 · 20451 阅读 · 7 评论 -
ESP8266 Arduino开发之路(7)— 使用I2C读写EEPROM
ESP8266 Arduino开发之路(7)— 使用I2C读写24C02一、前言I2C是一种典型的低速硬件通信协议,在ArduinoIDE中可以使用Wire库来使用I2C通信,SDA 和 SCL 的引脚需要通过调用begin方法设置,否则它们默认为引脚 GPIO4(SDA) 和 GPIO5(SCL)。AT24C02是最常用的IIC通信器件,我们的I2C通信也从AT24C02开始。AT24C02模块和NodeMCU连线如下所示:二、...原创 2021-07-09 15:23:46 · 7518 阅读 · 0 评论 -
ESP8266 Arduino开发之路(6)— 使用Ticker库的软件定时器
ESP8266 Arduino开发之路(6)— 使用Ticker库的软件定时器一、前言Ticker库是ESP8266在ArduinoIDE上自带的软件定时器库,我们可以使用他来实现软件定时器功能。参考文章:ESP8266多任务处理 – Ticker库使用说明ESP8266内置的定时器库–Ticker库二、定时闪烁LED编写代码如下所示:/* * Ticker库的基本使用 * * 每个Ticker需要建立一个回调函数,当定时时间到了后,回调函数将被调用; * 理论上可以新建足够原创 2021-07-09 12:46:24 · 6132 阅读 · 3 评论 -
ESP8266 Arduino开发之路(5)— 使用PWM实现LED呼吸灯
ESP8266 Arduino开发之路(5)— 使用PWM实现LED呼吸灯一、前言ESP8266的PWM(Pulse Width Modulation)由FRC1在软件上实现,可实现同频率、不同占空比的最多8路的PWM波形输出。需要注意如下:PWM驱动接口不能跟硬件定时器接口函数同时使用,因为二者共用同一个硬件定时器;PWM驱动使用NMI中断,为最高优先级中断,可以保证PWM输出波形的准确度;不能将自动睡眠模式设置为Light Sleep,Light Sleep模式下停用CPU不能响应NMI中断原创 2021-06-25 23:21:29 · 8427 阅读 · 4 评论 -
ESP8266 Arduino开发之路(4)— 通过HTTP进行网络通信
ESP8266 Arduino开发之路(4)— 通过HTTP进行网络通信一、前言在我们上网过程中,经常使用网页浏览器来浏览网站信息,浏览网页使用的网络协议即是HTTP协议,实际上,我们的浏览器就是作为一个TCP客户端向向服务器发送网络请求。服务器在接收到客户端请求后会将请求的信息回复给客户端。参考自: ESP8266网络客户端基本操作...原创 2021-06-20 23:16:18 · 5505 阅读 · 3 评论 -
ESP8266 Arduino开发之路(3)— 作为TCP客户端连接到服务器
ESP8266 Arduino开发之路(3)— 作为TCP客户端连接到服务器一、前言在上一篇我们已经成功连接到网络了,接下来就可以尝试建立TCP连接了。接下来我们将ESP8266作为TCP客户端来连接到服务器。二、建立连接...原创 2021-06-20 22:58:38 · 7390 阅读 · 4 评论 -
ESP8266 Arduino开发之路(2)— 连接到无线WiFi路由器
ESP8266 Arduino开发之路(2)— 连接到无线WiFi路由器一、前言ESP8266可以通过WiFi连接到无线路由器,这种方式和手机通过WiFi连接无线路由器的模式是相同的,我们称该模式为无线终端模式(Wireless Station),即STA工作模式。二、编写程序编写程序如下所示/* ESP8266-NodeMCU无线终端模式连接WiFi*/ #include <ESP8266WiFi.h> // 本程序使用ESP8原创 2021-06-20 21:41:23 · 9758 阅读 · 2 评论 -
ESP8266 Arduino开发之路(1)— 搭建开发环境并点亮LED
ESP8266 Arduino开发之路(1)— 搭建开发环境并点亮LED一、前言NodeMCU是一个开源的IoT物联网硬件开发板,它支持WIFI功能且使用方法十分类似Arduino开发板,并且也可以使用Arduino IDE 对它进行开发。ESP8266-NodeMCU其板载模组为ESP12E,flash大小为32Mbit,图片如下:对于ESP8266-NodeMCU开发板来说,其主要技术参数如下所示核心模块工作电压GPIO引脚PWM引脚模拟输入引脚WIFI标准工作模式重量原创 2021-06-20 18:35:52 · 4744 阅读 · 1 评论 -
ESP8266 RTOS开发之路(2)— 搭建在Windows下的开发环境
ESP8266 RTOS开发之路(2)— 搭建在Windows下的开发环境一、前言本次基于windows10系统,搭建ESP8266的编译环境,使用的模块是ESP12F,32Mbit的flash。官方的参考链接为:https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/index.html另外也可以参照这个大佬的博客https://xuhong.blog.csdn.net/article/details/104736261二、原创 2021-04-29 18:27:47 · 690 阅读 · 0 评论 -
ESP8266 RTOS开发之路(5)— ESP8266连接到MQTT服务器
ESP8266 RTOS开发之路(5)— ESP32连接到MQTT服务器本次开发是在Ubuntu下的,使用的模块是ESP12F,32Mbit的flash。程序基于ESP8266_RTOS_SDK-3.x的工程 。一、代码准备从上个工程:ESP8266 RTOS开发之路(4)— 连接到WiFi,将其中的代码封装成一个wifi_connect_init()函数,新建app_wifi.c文件,在a...原创 2020-04-20 16:57:28 · 4645 阅读 · 5 评论 -
ESP8266 RTOS开发之路(4)— 连接到WiFi
ESP8266 RTOS开发之路(4)— 连接到WiFi本次开发是在Ubuntu下的,使用的模块是ESP12F,32Mbit的flash。程序基于ESP8266_RTOS_SDK-3.x的工程 。一、使用ssid和password连接到wifi在ESP8266_RTOS_SDK的例程里面,设置wifi连接之前初始化了NVS,我猜想可能WiFi连接需要用到NVS,所以我们也将NVS初始化,然后...原创 2020-04-20 13:38:38 · 4759 阅读 · 8 评论 -
ESP8266 RTOS开发之路(3)— 点亮第一个LED灯及按键输入
ESP8266 RTOS开发之路(3)— 点亮第一个LED灯及按键输入本次开发是在Ubuntu下的,使用的模块是ESP12F,32Mbit的flash。程序基于ESP8266_RTOS_SDK-3.x的工程 。一、点亮第一个LED灯复制hello_world文件并命名为led_key,修改hello_world_main.c为app_main.c;然后将工作区保存在led_key文件夹下...原创 2020-04-11 00:09:37 · 2483 阅读 · 1 评论 -
ESP8266 RTOS开发之路(1)— 搭建在Ubuntu下的开发环境
ESP8266 RTOS开发之路(2)— 基于SDK-3.0的HelloWorld工程本次开发是在Ubuntu下的,使用的模块是ESP12F,32Mbit的flash。一、开发环境搭建开发环境搭建参照这个大佬的博客https://xuhong.blog.csdn.net/article/details/104736261其中需要注意的一点是,在git拉取代码的时候,不要加sudo,要特别注...原创 2020-04-08 19:46:24 · 1560 阅读 · 0 评论 -
ESP8266 RTOS2.0学习之旅(5)— MQTT通信
ESP8266 RTOS学习之旅(5)— MQTT通信一、前言在上一节:ESP8266 RTOS学习之旅(4)— UDP通信和TCP客户端通信 的基础上,将ESP8266_RTOS_SDK-2.0.0\examples\mqtt_demo\下出去user_main.c的文件复制到app目录下(提示覆盖则确认)。二、开始MQTT通信编写app_main.c文件如下:#include "esp_common.h"#include "lwip/sockets.h"#include "mqtt/MQT原创 2020-05-10 19:08:01 · 978 阅读 · 1 评论 -
ESP8266 RTOS2.0学习之旅(4)— UDP通信和TCP客户端通信
UDP通信和TCP客户端通信一、前言在之前的基础上开始:ESP8266 RTOS学习之旅(3)— 连接到WiFi在user文件夹下新建一个文件app_main.c,然后再wifi连接成功后创建一个任务,任务函数为app_main(),这样我们就可以在app_main.c中的app_main()函数实现UDP和TCP通信。xTaskCreate(app_main, "app main", 256, NULL, 8, NULL);二、UDP通信app_main.c如下所示:#include "e原创 2020-05-10 17:42:07 · 1100 阅读 · 0 评论 -
ESP8266 RTOS2.0学习之旅(3)— 连接到WiFi
连接到WiFi一、初始化wifi连接在user_init()里设置WiFi 连接的参数,然后开始WiFi连接 wifi_set_opmode(STATION_MODE); /* 设置为STATION模式 */ struct station_config config; /* 新建WiFi连接初始化结构体 */ sprintf(config.ssid, "WiFi-William"); /* 设置WiFi名称 */ sprintf(config.password, "ps原创 2020-05-10 16:18:07 · 1009 阅读 · 0 评论 -
ESP8266 RTOS2.0学习之旅(2)— 点亮第一个LED灯及按键输入
点亮第一个LED灯及按键输入一、点亮第一个LED灯在user_init()函数中设置IO2为GPIO模式,如下所示:PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2); /* 设置IO2为GPIO模式 */然后将其设置为输出模式,并设置为低电平,从而将LED点亮:GPIO_OUTPUT_SET(GPIO_ID_PIN(2), 0); /* 使能GPIO2位输出模式并设置为低电平,点亮LED */然后编译下载运行,可以看到,LED已经点亮了原创 2020-05-10 12:20:59 · 1728 阅读 · 0 评论 -
ESP8266 RTOS2.0学习之旅(1)— 基于SDK-2.0.0的HelloWorld工程
ESP8266 RTOS开发之路(1)— 基于SDK-2.0.0的HelloWorld工程本次开发基于Windows下的安信可集成开发环境(基于 Windows + Cygwin + Eclipse + GCC 的综合 IDE 环境),使用版本为AiThinkerIDE_V0.5。一、开发环境搭建我看了一下,安信可官网好像不通过V0.5版本的开发环境下载了,我贴上我的百度云链接:https:...原创 2020-04-08 14:29:49 · 1387 阅读 · 2 评论