esp8266 html文件,ESP8266 基ESP8266_RTOS_SDK (ESP-IDF )中嵌入网页文件(示例代码)

场景:

在写ESP8266 web服务的时候,免不了要将自己设计的网页html和css等文件放入到固件中。在arduino中有fs可以进行上传文件,然后通过文件系统读出。那在ESP-IDF中该怎么办呢。有几个思路

1. 通过flash_download_tools 直接向固定地址写入文件。然后在代码中读出来

2.通过串口或者tcp等通信方式传给8266然后再写到flash 中。

3.直接转成C字符串嵌入到代码中

上述是我之前想到的,比较麻烦,看到了官方文档提供了一种更简单的方法。

这里我就直接贴官方说明了,稍微改了下例子,方便举一反三:

有时您的组件希望使用一个二进制文件或者文本文件,但是您又不希望将它重新格式化为 C 源文件。

这时,您可以在 component.mk 文件中设置变量 COMPONENT_EMBED_FILES,以这种方式指定要嵌入的文件的名称:

COMPONENT_EMBED_FILES := server_root_cert.der

或者,如果文件是字符串,则可以使用变量 COMPONENT_EMBED_TXTFILES,这将把文本文件的内容当成以 null 结尾的字符串嵌入:

COMPONENT_EMBED_TXTFILES := web_page/index.css

COMPONENT_EMBED_TXTFILES += web_page/index.html

d6b7ce0d05ce48fb4d7d662a5204f4a1.png

文件的内容会被编译进 flash 中的 .rodata 段,并通过符号名称来访问,如下所示:

extern const uint8_t web_file_index_html_start[] asm("_binary_index_html_start");extern const uint8_t web_file_index_html_end[] asm("_binary_index_html_end");

符号名称是根据文件的全名生成的,如 COMPONENT_EMBED_FILES 中的所示,字符 / , . , 等都将会被下划线替代。符号名称中的 _binary 前缀由 objcopy 添加,对于文本和二进制文件都是相同的。

这样一看就能直接当数组引用了。

extern const uint8_t web_file_index_html_start[] asm("_binary_index_html_start");extern const uint8_t web_file_index_html_end[] asm("_binary_index_html_end")char *str =web_file_index_html_start;

unsignedint str_len =web_file_index_html_end-web_file_index_html_start; httpd_resp_send(req, str,str_len );

ESP32也一样~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/564365.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高中计算机教师考试专业知识,高中教师资格证计算机专业考试内容

【导读】高中教师资格证计算机专业考综合素质、教育知识与能力和学科知识与教学能力,学科知识与教学能力是考计算机科学与技术的专业知识。高中教师资格证计算机专业考试内容高中教师资格证计算机专业考综合素质、教育知识与能力和学科知识与教学能力,学…

MySQL整数类型

整数类型又称数值型数据,数值型数据类型主要用来存储数字。 MySQL 提供了多种数值型数据类型,不同的数据类型提供不同的取值范围,可以存储的值范围越大,所需的存储空间也会越大。 MySQL 主要提供的整数类型有 TINYINT、SMALLINT…

LISP 冻结excel窗格_粗暴讲解,2分钟 | 即懂excel 冻结首行、首列和单元格怎么弄?...

多少人上手excel,都是基本功不扎实啊?!想起当初自己学做数据,迫于不可抗力因素,糊里糊涂上岗。没囤过基础知识,全靠业务实践练操作。领导甩来什么需求,当天就要查各种方法给他做出来&#xff0c…

MySQL小数类型

MySQL 中使用浮点数和定点数来表示小数。 浮点类型有两种,分别是单精度浮点数(FLOAT)和双精度浮点数(DOUBLE);定点类型只有一种,就是 DECIMAL。 浮点类型和定点类型都可以用(M, D)来表示&…

linux windows文件 编码_Mac, Windows和Linux电脑之间如何快速传输文件

Mac, Windows和Linux电脑之间如何快速传输文件本文介绍的方法主要适用于在家庭环境中的多台电脑之间快速传输文件,比如家中有三台电脑分别是Windows, Mac和Linux系统,如果传输少量的小文件,那么可以直接使用微信等通讯软件就可以了。但是如果…

MySQL字符串类型

MySQL 中的字符串类型有 CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM、SET 等。 下表中列出了 MySQL 中的字符串数据类型,括号中的M表示可以为其指定长度。 VARCHAR 和 TEXT 类型是变长类型,其存储需求取决于列值的实际长度&#xff…

5000的台式计算机,预算5000的台式组装机配置清单_预算5000的台式组装机配置

5000的价格在游戏本里只能算是入门级别的。基本上3A游戏只能低特效运行,特效根本无法进行。但是台式电脑不一样。5000元基本可以流畅运行市面上所有游戏,中高特效,1080p分辨率。接下来边肖会给大家推荐预算5000的桌面组装机配置列表。1.带显示…

三菱d700变频器模拟量控制_三菱Q系列PLC,用CCLink控制变频器正反转和多段速

硬件、软件设置:参阅三菱PLC,CC-Link通信协议基础知识远程输入(RX)定义:Rxn0:正转中Rxn1:反转中Rxn2:运行中(端子RUN功能)Rxn3:频率到达(端子SU功能)Rxn4:过负荷报警(端子OL功能)Rxn…

MySQL创建数据表

创建数据表,指的是在已经创建的数据库中建立新表。 创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性)约束的过程。 创表语法 在 MySQL 中,可以使用 CREATE…

西安工程大学计算机科学学院刘宝宝,计算机科学学院召开研究生国家奖学金答辩会...

10月15日上午,计算机科学学院在学院426会议室召开了2020年研究生国家奖学金答辩会。学院2020年研究生国家奖学金评审委员会全体成员和4名参评学生参加了此次会议。会议由研究生辅导员程帅主持。根据《西安工程大学关于开展2020年研究生国家奖学金的通知》要求&#…

wps中图片怎么居中_wps图片怎么添加推动声

wps图片怎么添加推动声呢?很多用户对此还不是很清楚,小编这里就给大家带来有关wps图片怎么添加推动声的回答,希望能够对大家有所帮助。1、如图所示,这是幻灯片中的一张图片,我们为这一张图片添加上“推动”的声音&…

车仪表台上的装饰_一汽大众销量最差的车,旅行车蔚领为什么在国内没有市场?...

说到旅行车,一直是深受欧洲人民所喜爱的这么一类车种。由于国情不同,欧洲大陆上的国家众多,城市与城市之间更是被分割得很"碎",再加上欧洲人民喜欢出去旅游,而一出门便喜欢携带自行车、冲浪板、帐篷等户外装…

计算机水平毕业研究生7分落户,2018毕业生就业落户新评分标准出炉!立信能加多少分?...

原标题:2018毕业生就业落户新评分标准出炉!立信能加多少分?全文字数:1682字阅读所需时间:4分钟近日,上海发布了《2018年非上海生源应届普通高校毕业生进沪就业申请本市户籍评分办法》。与应届毕生生息息相关…

textcnn文本词向量_文本分类模型之TextCNN

六年的大学生涯结束了,目前在搜索推荐岗位上继续进阶,近期正好在做类目预测多标签分类的项目,因此把相关的模型记录总结一下,便于后续查阅总结。一、理论篇: 在我们的场景中,文本数据量比较大,因…

计算机管理也无法运行,【两种解决方法】任务管理器打不开怎么办?

任务管理器调不出来怎么办?任务管理器打不开是怎么回事呢?以下两种方法可解决任务管理器打不开问题?1、打开电脑,点击左下角”开始“,选择运行,打开运行对话框后输入"regedit“如下图:2、在…

计算机虚拟现实技术论文好写吗,虚拟现实技术的论文

虚拟现实技术的论文虚拟现实技术,又称灵境技术,是90年代为科学界和工程界所关注的技术。下面时刻小编给大家搜集的关于虚拟现实技术的科技论文,希望大家喜欢!摘要:虚拟现实技术是一种可以创建和体验虚拟世界的计算机技…

文件后缀_电脑文件名的后缀即扩展名的显示和隐藏方法

前两天碰到一个同事问我,他的文件名后面的格式不显示了,就是扩展名,比如Word文档名称后缀的doc或者docx和Excel表格名称后缀的xls或者xlsx没有了,还有一些其他文件的后缀也不显示了。我三两下就给他改好了。那么今天就来给大家讲一…

u盘无法格式化不在计算机中,在电脑中,为什么U盘不能格式化?

我们有时候会碰到在电脑中U盘不能格式化的问题,这该怎么办呢?接下来小编就从解决方法来为大家介绍下为什么U盘不能格式化?1. 首先在桌面左下角点击“开始菜单”-->点击“运行..”,然后在运行框中输入:“regedit.exe…

四种依恋类型_依恋关系的研究

说到依恋关系,大家都会想到安全型、焦虑型、回避型,以及这些类型会影响到成年后的人际关系。本文具体罗列一下心理学家研究依恋关系的都做出了怎样的努力。第一:哈罗做的恒河猴验。实验情境:把小猴放在一个笼子里,这个…

内网通看不到其他人_小学生在新版本里用“吃鸡内挂”,巡查员:封不了,手机自带的...

欢迎诸位小伙伴们来到本期天哥开讲的《和平精英》“精英那点事儿”~接下来呢,咱们聊聊玩家用“吃鸡内挂”打沙漠地图、出生岛的ID为何会消失不见以及未更新的新枪提前出现等有趣的玩家游戏经历与发现~得,废话不多说了,还是各位小伙伴们熟悉的…