当前位置: 首页 > news >正文

大连做网站优化公司网站开发用什么编程

大连做网站优化公司,网站开发用什么编程,wordpress的伪静太文件,互动网站建设特点ESP32-Web-Server编程-HTML 基础 概述 HTML(HyperText Markup Language) 是用来描述网页的一种语言。其相关内容存储在前端代码的 .html 文件中。 当浏览器向 web 服务器请求网页时,一个 HTML 文件被发送给浏览器,浏览器解释该文件的内容,…

ESP32-Web-Server编程-HTML 基础

概述

HTML(HyperText Markup Language) 是用来描述网页的一种语言。其相关内容存储在前端代码的 .html 文件中。

浏览器web 服务器请求网页时,一个 HTML 文件被发送给浏览器,浏览器解释该文件的内容,呈现具体的图表、文字给用户。

HTML 文档包含了HTML 标签(包含标签和元素,其实他们是一样的)文本内容,其中

  • HTML 标签是由尖括号包围的关键词,HTML 标签通常是成对出现的,基本格式是 <标签>内容</标签>,示例:

    <h1>这是一个一级标题</h1>
    <h2>这是一个二级标题</h2>
    <p>这是一个段落。</p>
    <a href="https://www.iot-wang.com">这是一个链接</a>
    
  • 文本内容,标签内的显示字符。

  • 还有一些格式化标签(也称为元素)的定义以及注释风格:

    <br>	换行
    <hr>    在 HTML 页面中创建水平线
    <!-- 这是一个注释 -->
    <b> 与<i> 定义粗体或斜体文本
    

我们暂时可以只了解这些,用到了新的内容是我们将进一步介绍它,学以致用,边学边用一直是我们的目标。

一个 HTML 的基础结构组成

在这里插入图片描述

示例中的 HTML 的基本组成如上所示。

  • 声明为 HTML5 文档
  • 元素是 HTML 页面的根元素
  • 元素包含了文档的元(meta)数据,如 定义网页编码格式为 utf-8
  • 元素描述了文档的标题
  • 元素包含了可见的页面内容
  • 元素定义一个大标题

  • 元素定义一个段落

**注意:**在浏览器的页面上使用键盘上的 F12 按键开启调试模式,就可以看到该网页的组成标签。

查看完整网页声明类型 DOCTYPE 参考手册。

**注意:**对于中文网页需要使用 声明编码,否则会出现乱码。有些浏览器(如 360 浏览器)会设置 GBK 为默认编码,则你需要设置为 。

更多HTML 的学习,你可以在网络上收集资料,或者参考 HTML 教程 | 菜鸟教程 (runoob.com)。

需求及功能解析

本节演示如何在 ESP32 上使用 wifi,并使用 html 文件,编译使用步骤参考:

示例在网页上的显示:

在这里插入图片描述

本系列博客并不是一门专门介绍 HTML 编程的课程,我们只需了解常用的技术就可以了。在 components/htmls 目录中还有一些 HTML 文件,你可以将其拷贝到 components/fs_image 中并重命名为 index.html,然后重新编译该工程,以查看不同 HTML 文件的效果。下面简单介绍各个 HTML 文件涉及的内容。

示例解析

目录结构

├── CMakeLists.txt
├── main
│   ├── CMakeLists.txt
│   └── main.c                 User application
├── components
│   └── fs_image└── index.html└── ...
|	└── url_handlers└── url_handlers.c└── ...
└── README.md                  This is the file you are currently reading
  • 目录结构主要包含主目录 main,以及组件目录 components.

  • 其中组件目录components中包含了用于存储网页文件的 fs_image 目录(即前述前端文件),以及用于记录 ESP32 上接收来自服务器的请求,并作出响应的 url_handlers 目录(即后端文件)。如前所述,浏览器可以通过 URL 请求服务器端的资源(包括数据和文件),每个 URL 到来时都可以设计一个函数,来决定如何响应该 URL 请求,这便是 url_handlers 要完成的功能。

建立前后端代码

  1. 为了保存 html 文件以及图片文件到 ESP32 上,url_handlers 目录的 CMakeLists.txt 使用内嵌数据的方式将 fs_image目录的 index.html 和 favicon.ico 文件保存在 ESP32 中:(此外前端代码)

    idf_component_register(SRCS "url_handlers.c"INCLUDE_DIRS "include"PRIV_REQUIRES esp_http_serverEMBED_FILES "../fs_image/favicon.ico" "../fs_image/index.html")
    
  2. 为了在打开网页时显示 index.html 中的内容,在 url_handlers.c 中实现了 一个处理函数 index_html_get_handler()。这部分是后端代码。

    /* Handler to redirect incoming GET request for /index.html to /* This can be overridden by uploading file with same name */
    static esp_err_t index_html_get_handler(httpd_req_t *req)
    {extern const char html_start[] asm("_binary_index_html_start");extern const char html_end[]   asm("_binary_index_html_end");const size_t html_size = (html_end - html_start);httpd_resp_set_type(req, "text/html");/* Add file upload form and script which on execution sends a POST request to /upload */httpd_resp_send_chunk(req, (const char*) html_start, html_size);/* Respond with an empty chunk to signal HTTP response completion */return httpd_resp_send_chunk(req, NULL, 0);
    }
    
  3. 在实现了 html 文件以及 对应的 handles 后,可以在 main.c 中注册对应的 handler:

    static httpd_handle_t start_webserver(void)
    {httpd_handle_t server = NULL;httpd_config_t config = HTTPD_DEFAULT_CONFIG();config.lru_purge_enable = true;// Start the httpd serverESP_LOGI(TAG, "Starting server on port: '%d'", config.server_port);if (httpd_start(&server, &config) == ESP_OK) {// Set URI handlersESP_LOGI(TAG, "Registering URI handlers");for (int i = 0; i < sizeof(httpd_uri_array) / sizeof(httpd_uri_t); i++) {if (httpd_register_uri_handler(server, &httpd_uri_array[i]) != ESP_OK) {ESP_LOGE(TAG, "httpd register uri_array[%d] fail", i);}}ESP_LOGI(TAG, "Success starting server!");return server;}ESP_LOGI(TAG, "Error starting server!");return NULL;
    }
    

如此,当打开网页时,浏览器会自动请求名为 index.html 的文件,并显示其中的内容。

编译并烧录固件到设备中

1)在工程目录,打开配置菜单

idf.py menuconfig

主要是配置 wifi 连接的名称和密码:

在这里插入图片描述

2)编译烧录固件到设备中

idf.py -p PORT build flash monitor

(Replace PORT with the name of the serial port to use.)

(To exit the serial monitor, type Ctrl-].)

如果你是新手,请参考 Getting Started Guide 搭建编译环境。

3)网页显示

设备烧录固件后,启动该设备,从 log 中查看设备的 IP地址:

I (3288) app_wifi: got ip:192.168.47.100
I (3288) esp_netif_handlers: sta ip: 192.168.47.100, mask: 255.255.255.0, gw: 192.168.47.1
I (3288) example_main: Starting server on port: '80'
I (3298) example_main: Registering URI handlers
I (3298) example_main: Success starting server!

这里假设设备 IP 地址是 192.168.47.100.

让手机或者电脑与 ESP32 连接同一个路由器,然后打开手机或者电脑上电浏览器,输入上述IP地址,即可打开网页:

在这里插入图片描述

上述示例网页即是本例程 fs_images 目录的 index.html 文件在该浏览器中所程序的样子。

讨论

1)输入网址后,浏览器会自动请求 favicon.ico(即上述网页中第一行显示的图标)。

默认情况下,当请求一个网站的 “/” 目录内容时,会默认打开该目录的 index.html 文件。

同样的,默认情况下,浏览器会自动请求 "/"目录下的 favicon.ico 文件,用作网址栏的一个标识图像。

2)如何设计 index.html 文件中的内容,使之在网页上呈现合适的内容?

这正是本系列博客主要介绍的内容。以试验促进理解,在测试实践中学习,敬请参考后续章节。

总结

1)本节主要是介绍 HTML 的基础知识。HTML 描述了一个网页中的基本内容;
2)HTML 文档包含了HTML 标签(包含标签和元素,其实他们是一样的)文本内容。其中 HTML 标签是由尖括号包围的关键词,HTML 标签通常是成对出现的。
3)在 ESP32 Web 编程中,通过在后端代码中建立一个发送 HTML 内容的 handler 函数,以及在前端代码中实现 HTML 文件来定义网页上的内容。

资源链接

1)ESP32-Web-Server ESP-IDF系列博客介绍
2)对应示例的 code 链接 (点击直达代码仓库)

3)下一篇:ESP32-Web-Server编程-CSS 基础1

(码字不易感谢点赞或收藏)

http://www.yayakq.cn/news/234326/

相关文章:

  • 网站建设的目标定位县文化馆网站建设方案
  • 网站关键词多少合适新校区建设网站
  • 企业自建网站缺一家专业做导购的网站
  • 提供网站建设教学视频主题店铺网页界面设计
  • 怎么查看网站根目录网站建设属于什么支出
  • 如何分析网站黄冈app下载推广价格
  • 百度云自助建站海南网站优化
  • 芜湖网站推广用ip地址做网站
  • 虚拟展馆官方网站建设网站里的活动专题栏怎么做
  • 画廊网站模板 frontpage网站做的简单是什么意思
  • 西部网站管理助手4.0深圳好蜘蛛网站建设公司
  • 自创网站的软件下载iis 网站拒绝显示此网页
  • 网站关键字如何选择青岛vps网站
  • 如何做论坛网站 知乎北京工商网上登记申请平台
  • ie兼容性 网站梵客家装
  • 江阴安泰物流有限公司网站谁做的做特殊单页的网站
  • 做网站流程图wordpress怎么套模板
  • h5网站制作网站开发怎么做百度搜到的网站免费的
  • 做网站建设推广好做吗永嘉县建设局网站
  • 北京建设工程信息网站第一ppt模板免费下载网站
  • 测速网站怎么做温州网站建设技术托管
  • 网站推广的一般流程是汕头网站制作哪家强
  • 微站直播平台网站在哪里变更备案信息
  • 东莞做营销型网站wordpress数据库查询很慢
  • 哈尔滨专业建网站哪家好网站建设知名企业
  • 网站制作与网页建设微信小程序怎么做购物网站
  • 天津网站在哪里建设网络工程师考什么内容
  • 商丘网站建设优化推广企业官方网站应该怎么样建设
  • 网站备案有什么好处网站描述技巧
  • 上城网站建设免费视频网站app使用排名