
ESP8266
ESP8266相关
SimonLiu009
半导体行业多年从业经历。现从事AIoT独立研发。
展开
-
ESP8266 RTOS SDK跳过编译并指定串口的命令
ESP8266 RTOS SDK跳过编译并指定串口的命令原创 2025-03-22 20:10:28 · 111 阅读 · 0 评论 -
ESP8266 RTOS SDK 使用make命令编译出现Permission denied问题的解决方法
用户切换导致ESP8266 开发环境的目录权限问题原创 2025-03-22 20:06:42 · 195 阅读 · 0 评论 -
platformio 提示 fatal error: TimeLib.h: No such file or directory 的解决方案
在platformio编译arduino项目的时候,如果提示`fatal error: TimeLib.h: No such file or directory`的解决方法原创 2024-02-16 22:39:26 · 1260 阅读 · 0 评论 -
【转载】ESP8266 基ESP8266_RTOS_SDK (ESP-IDF )中嵌入网页文件
ESP8266/ESP32 基ESP8266_RTOS_SDK (ESP-IDF )中嵌入网页文件转载 2023-07-05 12:19:13 · 450 阅读 · 0 评论 -
esp-aliyun undefined reference to `pthread_create‘错误
esp-aliyun undefined reference to `pthread_create'错误原创 2023-04-27 10:25:32 · 210 阅读 · 0 评论 -
ESP8266 RTOS SDK “cannot find crt1-sim.o” 和error:‘CONFIG_AP_SSID_KEY‘ undeclared问题的解决
最近MBP换了SSD,重新装了系统,重新设置ESP8266开发环境后编译时遇到了`cannot find crt1-sim.o`的问题,以及解决方案。原创 2022-07-03 15:25:41 · 679 阅读 · 0 评论 -
ESP8266/ESP32作为Bluetooth Source向Bluetooth Sink(蓝牙音箱等)发送音频资料收集
使用ESP8266/ESP32作为Bluetooth Source连接Bluetooth Sink(例如蓝牙音箱)原创 2022-06-14 15:09:57 · 3010 阅读 · 2 评论 -
esp-aliyun OTA及版本设置
版本号在这里设置:make menuconfig->Component config ->iotkit embedded -> aliyun linkkit device version -> Device version版本号设置完毕后重新编译,登录智能生活平台,进入项目页面。具体升级步骤参考我的另外一篇博文即可...原创 2020-07-06 21:25:58 · 946 阅读 · 0 评论 -
0.96寸OLED像素排列、汉字显示和取模
以常见的128x64的OLED为例。我们常用的取模软件PC2LCD2002为例,字模选项设置如下:阴码逆向列行式十六进制C51格式一个16x16的宋体“联“字,取模结果是2行,每行16个字节:{0x02,0xFE,0x92,0x92,0xFE,0x02,0x00,0x10,0x11,0x16,0xF0,0x14,0x13,0x10,0x00,0x00},{0x10,0x1F,0x08,0x08,0xFF,0x04,0x81,0x41,0x31,0x0D,0x03,0x0D,0x31,0x原创 2020-06-19 13:42:47 · 6618 阅读 · 0 评论 -
C语言格式化输出日期时间
其实函数就那么几个,具体方法也不少,以下列出几种: char timestr[128]=""; time_t app_time_stamp = 0; //方法1 app_time_stamp = time( 0 ); strftime(timestr, 255, "%a, %d %b %Y %H:%M:%S GMT", localtime(&app_time_stam...原创 2020-04-23 17:22:44 · 10158 阅读 · 0 评论 -
对阿里云生活物联网平台"本地倒计时功能开发实践"的补充
之所以写这篇博文,实在是因为阿里云的帮助文档写得让人难以理解,一如既往地正确而无用,对需要帮助的人帮助甚少。基本上就是懂的人不用看,不懂的人看不懂。先给出官方文档的链接:最新版本地倒计时功能开发实践_最佳实践_生活物联网平台-阿里云旧版(旧版信息多一些,但是举的例子信息还是很模糊)本地倒计时功能开发实践 · 开发指南官方文档举例:CountDownList: {Target...原创 2020-02-20 13:31:22 · 735 阅读 · 2 评论 -
ESP8266和ESP32的nvs操作自定义分区
首先说一下ESP8266和ESP32 nvs的handle在声明的时候有些区别:ESP8266 RTOS中是:nvs_handle my_handle;ESP32的esp-idf中是:nvs_handle_t my_handle;在components/nvs_flash/include/nvs.h中NVS_DEFAULT_PART_NAME宏定义如下#define NVS_D...原创 2020-02-18 18:11:00 · 2211 阅读 · 0 评论 -
ESP8266 RTOS 之 esp-aliyun 例程Flash分区
ESP8266 RTOS的Flash分区和non_os的分区有所区别,在esp-aliyun中又使用了定制的分区表文件partitions_esp8266.csv。以默认的partitions_esp8266.csv内容为例:#Name, Type, SubType, Offset, Size, Flags#Note: if you change the phy_init or ap...原创 2020-02-18 12:01:35 · 1272 阅读 · 6 评论 -
c语言输出编译时间日期行号文件名
打印固件编译日期时间printf(" Firmware compile time:%s %s\n", __DATE__, __TIME__);结果Firmware compile time:Feb 11 2020 19:41:48实现方法是使用C语言预定义宏。ANSIC标准定义了可供C语言使用的预定义宏:1、__ LINE__ : 在源代码中插入当前源代码行号2、__ FILE _...原创 2020-02-11 20:41:33 · 2474 阅读 · 0 评论 -
Task watchdog got triggered错误
今日调试RTOS有时候发生Task watchdog got triggered错误并重启。LOG如下:Task watchdog got triggered.Task stack [heater_task] stack from [0x3fff60f0] to [0x3fff70ec], total [4096] size 0 4...原创 2020-01-07 19:08:34 · 4818 阅读 · 2 评论 -
ESP8266 阿里云智能smartconfig zconfig_get_ssid_passwd:passwd err错误修复
今日测试阿里云固件,在smartconfig配网的时候,始终无法配网成功。错误提示:zconfig_get_ssid_passwd:passwd err实际上ssid和密码已经成功在其他板子上配网成功过,已经自动记忆下来了,可以排除密码错误的问题。后来想来想起,想到一个可能的原因:这块板子用于反复测试多个项目,有些项目是直接在代码或者menuconfig中设置SSID和密码,上电以后就直接连...原创 2019-12-26 18:31:50 · 2106 阅读 · 0 评论 -
ESP8266 reset_reason: RTC reset 2 wakeup 0 store 0, reason is 2 后无消息错误
今日调试ESP2866 RTOS SDK项目的时候,发现出现reset_reason: RTC reset 2 wakeup 0 store 0, reason is 2之后串口便再无信息。后来经过一番查找,发现其实这不是一个错误,正常启动的时候也是这个信息。之所以后面不再出现信息是因为串口初始化输出波特率设置错误。比如代码中设置为9600,而menuconfig中设置make monitor波...原创 2019-12-26 17:41:23 · 1227 阅读 · 0 评论 -
编译freeRTOS “error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token”错误解决
今日编译ESP8266 RTOS SDK的时候有个头文件声明了extern 结构体,结果一旦加入这个头文件编译就各种报错,提示error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token。一通搜索之后并未解决我的问题,回滚编译日志发现错误太多居然超出了log的buffer大小,看不到完整的log。于是再次编译...原创 2019-11-15 18:06:39 · 6629 阅读 · 0 评论 -
ESP8266 RTOS SDK V3.0+ 按键长按短按实现整理
以下代码来自:https://github.com/espressif/ESP8266_RTOS_SDK/issues/284static void gpio_task_example(void *arg){uint32_t io_num;BaseType_t press_key = pdFALSE;BaseType_t lift_key = pdFALSE;int backup_t...原创 2019-11-09 10:44:01 · 1108 阅读 · 0 评论 -
ESP8266/ESP32 NVS获取动态长度的数据
以下代码来自乐鑫官方文档:非易失性存储库 — ESP-IDF 编程指南 v4.1-dev-802-ga45e99853 文档// Example (without error checking) of using nvs_get_str to get a string into dynamic array:size_t required_size;nvs_get_str(my_handle...原创 2019-11-08 21:12:34 · 839 阅读 · 0 评论 -
ESP8266 获取系统上电时间的API (RTOS SDK V3.2)
ESP8266 获取系统上电时间的API在RTOS SDK V3.x之后有些变化。使用方法:声明函数之后即可使用。extern uint32_t esp_get_time(void);...uint32_t last_off_time = esp_get_time();参考资料:系统时间获取的API (GIT8266O-203) · Issue #640 · espressif...原创 2019-11-05 23:52:29 · 2444 阅读 · 10 评论 -
ESP8266/ESP32控制ws2812的几种方法
ESP8266的GPIO有效翻转大约需要2.5us(0.4MHz),而ws2812的控制电平要求精度在百ns级别,所以直接控制GPIO比较难实现。在网上搜索了一下各种可行的方案:Arduino配合ws2812库non_os SDK,配合 Adafruit_NeoPixel.cSPI驱动。将SPI的时钟调整为8MHz,发送一个字节所需时间1.25us,等于ws2812一个位的时间,SP...原创 2019-10-25 14:01:23 · 20265 阅读 · 0 评论 -
SimonLiu的ESP8266与AliOS Things 学习教程系列之十八:uart0和uart1打印的进一步优化以及不同波特率设置
在4. SimonLiu的ESP8266与AliOS Things 学习教程系列之四:uart0和uart1串口打印一文中SimonLiu提供了一个把LOG()重定向到uart1的方法。但是某些情况下,我们还是需要同时使用uart0和uart1,那么如何实现呢?1. 简单版本向uart0发送单个字符uart0_write_char( char c), 例如 uart0_write_ch...原创 2019-04-22 19:10:51 · 2009 阅读 · 0 评论 -
SimonLiu的ESP8266与AliOS Things 学习教程系列之十九:基于linkkitapp自定义新项目
欢迎加入交流群: ESP8266 AliOS Things 群 号: 107723112系列文章目录:SimonLiu的ESP8266与AliOS Things 学习教程系列目录虽然SimonLiu前面有一篇博文讲述了如何以helloworld为基础新建项目的方法,但是实际可用的项目基本上都是基于linkkitapp修改的。本文就详细讲述如何把linkkitapp修改为一个自定义的新...原创 2019-04-29 14:47:48 · 1828 阅读 · 2 评论 -
机智云OTA实践教程
机智云的官方OTA帮助文档说得很不清楚,如果你是第一次尝试OTA看完文档你绝对晕了,这里SimonLiu梳理一下ESP8266 SOC模式的机智云OTA流程,也顺便当做记录,下次查找方便。首先以下图智能开关为例,点击进入项目页面在产品信息-设备日志页面,点击右侧的查看:3. 你可以从页面获得如下信息a)Mac地址b)硬件版本号,此例是00ESP826。c)软件版本号,此例是0...原创 2019-05-14 17:37:44 · 1241 阅读 · 3 评论 -
ESP8266/ESP32链接静态库文件的方法
以libmyapp.a文件为例。ESP8266 non_os 和 ESP8266 RTOS SDK V2.x把libmyapp.a文件放到lib文件夹,然后在app\Makefile中的LINKFLAGS_eagle.app.v6 = \后面添加一行-lmyapp \。其他的相关.c文件和.h文件放在app\myapp文件夹中。ESP8266 RTOS SDK V3.0+ 和ESP-IDF...原创 2019-10-09 20:14:38 · 5029 阅读 · 4 评论 -
SimonLiu的ESP8266与AliOS Things 学习教程系列之九:AliOS Things rel_2.1.0配置/新建/编译项目的方法
欢迎加入交流群: ESP8266 AliOS Things 群 号: 107723112系列文章目录:SimonLiu的ESP8266与AliOS Things 学习教程系列目录AliOS Things rel_2.1.0 发布了,相对于rel_2.0.0,有了较大的变化。下面就跟SimonLiu一起来看看都会对我们开发项目有哪些影响。项目配置:aos make menucon...原创 2019-03-14 21:42:50 · 2248 阅读 · 0 评论 -
ESP8266 烧写选项 Flash Size 32M和32M-c1的区别
在ESP8266烧写的时候,Flash Size有两个选项让很多初学者困惑,一个是32Mbit,一个是32Mbit-C1。那么这两者有什么区别呢?我们知道ESP8266根据不同的Flash容量大小是有布局的区别的,而支持FOTA与不支持FOTA的布局又不一样。32Mbit当然是指的32Mbit的Flash。两者的区别如下:32Mbit 对应 spi_size_map=4 编译选项,布局是...原创 2019-01-13 13:24:35 · 7235 阅读 · 0 评论 -
SimonLiu的ESP8266与AliOS Things 学习教程系列之十七:AliOS Things之OTA和upgrade over err:-17错误解决
欢迎加入交流群: ESP8266 AliOS Things 群 号: 107723112系列文章目录:SimonLiu的ESP8266与AliOS Things 学习教程系列目录1. 登录智能生活平台,点击项目。2. 点击项目页面右侧的"运营中心"3. 点击“设备运维”-“固件升级”-“新增固件”4. 填入固件信息固件名称:自定义,比如test。固件版本号:从编译信息中...原创 2019-03-26 15:21:54 · 2192 阅读 · 0 评论 -
SimonLiu的ESP8266与AliOS Things 学习教程系列之十五:AliOS Things 2.1.0 linkkitapp 之属性设置请求处理和属性上报
欢迎加入交流群: ESP8266 AliOS Things 群 号: 107723112系列文章目录:SimonLiu的ESP8266与AliOS Things 学习教程系列目录AliOS Things 2.1.0 的linkkit app和旧版本相比有了很大的改变,linkkit app是最重要的一个例程,所有实际联网的产品基本都是基于linkkit app。现在你就跟随Simon...原创 2019-03-23 12:28:23 · 2815 阅读 · 2 评论 -
SimonLiu的ESP8266与AliOS Things 学习教程系列之七:添加模块(components)
系列文章目录:SimonLiu的ESP8266与AliOS Things 学习系列目录ESP8266的non_os SDK开发过程中,如果我们自己编写了一些驱动或者模块,一般只需要写一对.h/.c文件,然后引用那个头文件即可。但是在AliOS Things中,这种方法似乎不可用(不信你可以尝试一下),引入模块需要相应编写模块的makefile和修改项目的makefile。本文介绍一个项目添加...原创 2019-03-03 00:58:44 · 1536 阅读 · 0 评论 -
SimonLiu的ESP8266与AliOS Things 学习教程系列之一:编译环境搭建(Windows10)
本文由SimonLiu编写于2019年2月8日。主要讲述如何在Windows10环境中搭建AliOS Things编译环境。本文参考文章是AliOS Things的官方Github页面,但是我发现实际搭建过程和官方的描述不太一样,所以在此做一个记录给各位做一个参考。注:由于AliOS Things还在不断迭代升级,很多坑官方也还没填,比如直到本文撰写之日为止,ESP8266的PWM的ha...原创 2019-02-08 01:03:11 · 3276 阅读 · 6 评论 -
SimonLiu的ESP8266与AliOS Things 学习教程系列之六:使用aos命令行提高效率(仅适用于AliOS 2.0.0或更早版本)
本文介绍AliOS Things的常用命令行。使用命令行配合bash profile可以实现编译+烧写一个命令完成。1. 切换VS Code终端首先把VS Code的终端shell切换成Git Bash,因为powershell不支持&&作为命令连接符。(参考本人博客链接:Visual Studio Code 终端的不同选择 - SimonL原创 2019-02-21 14:49:57 · 2026 阅读 · 0 评论 -
ESP8266 non_osuint32 ipaddr to ip[4] array ip地址转为char数组
ESP8266 non_os SDK编程的时候发现有个需求,就是把uint32类型的ip地址,转换为char数组。搜了半天网上有些人写了函数,但是似乎并不适合ESP8266 SDK。然后仔细研究了一下,终于找到了方法,如果大家有更简洁的方法,欢迎提出来。首先,ESP8266有个打印IP地址的方法:os_printf("IP Address :"IPSTR"\r\n&am原创 2019-01-14 13:50:15 · 1354 阅读 · 0 评论 -
make: *** [.subdirs] Error 2 编译错误
今天编译ESP8266的一个项目的时候,突然提示make: *** [.subdirs] Error 2吓了一跳,后来搜了一下,又想了一下,发现是忘记先运行make clean于是决定还是添加一个alias吧alias mk="make clean && ./gen_mish.sh"...原创 2019-01-03 15:04:33 · 32415 阅读 · 0 评论 -
关于ets_timer与os_timer
在ESP8266 non_os SDK的 osapi.h 中,做了一些关于ets_timer与os_timer的宏定义,但是需要注意一点这两者并不等价。os_timer_disarm() 等价于ets_timer_disarm(), os_timer_setfn()等价于ets_timer_setfn()。但是其他的就不能这样照搬了,比如ets_timer_arm()就不等价于os_timer_...原创 2019-01-07 19:04:14 · 1650 阅读 · 0 评论 -
macOS 搭建ESP8266编译环境
前言:在折腾完 Visual Studio Code 与 Win10 64bit Ubuntu bash 的ESP8266 编译开发环境搭建(无需编译toolchain)之后,又想在macOS下折腾一次,于是有了这篇博文。系统版本:macOS Mojave参考文章:1. https://www.esp8266.com/wiki/doku.php?id=setup-osx-compiler...原创 2019-01-07 15:05:12 · 5198 阅读 · 2 评论 -
espconn.h:413:54: error: unknown type name 'ip_addr_t'错误修复
今天基于机智云的SOC代码添加UDP通讯,编译的时候提示如下错误espconn.h:413:54: error: unknown type name 'ip_addr_t'当然后面还有一堆类似错误,然后查看定义发现是在ip_addr.h中定义的。修复方式:在#include "espconn.h"前添加#include "ip_addr.h"即可。#include "ip_addr.h...原创 2019-01-05 23:06:14 · 2689 阅读 · 0 评论 -
Visual Studio Code 与 Win10 64bit Ubuntu bash 的ESP8266 编译开发环境搭建(无需编译toolchain)
本文参考如下文章:1.ESP8266 建立Linux開發環境2.Win10 Bash搭建ESP8266编译环境(RTOS SDK)Note:工具链是直接下载的,无需编译最近重装win系统,然后按照我以前写的博文重新搭建ESP8266编译环境https://blog.youkuaiyun.com/toopoo/article/details/80528536但是发现如果直接运行Ecli...原创 2018-12-21 21:51:38 · 1760 阅读 · 2 评论 -
SimonLiu的ESP8266与AliOS Things 学习教程系列之二:新建项目(仅适用于AliOS 2.0.0或更早版本)
ESP8266与AliOS Things 学习系列文章目录:原 ESP8266与AliOS Things 学习系列之一:编译环境搭建(Windows10)1. 在任意位置创建项目文件夹例如 e:\Documents\alios\myProjects\GPIO_LED复制这个完整路径2. 点击vs code最下方alios studio工具栏的+图标,然后在右侧上方弹出的文件夹对话框中清...原创 2019-02-08 23:57:00 · 2050 阅读 · 0 评论