ESP32——WEB服务程序测试(基于官方示例restful_server)

news2024/12/24 21:21:12

一、简介

基于官方示例restful_server创建一个新工程。

参考1:  官方说明

参考2: ES32 RESTful_server实验_NULL_1969的博客-CSDN博客

二、编译下载运行工程

直接编译运行,出现下面两个错误。

2.1 OCD调试错误 esp_semihost: OpenOCD is not connected!

 原因是工程默认配置为部署网站到host需要用到JTAG仿真器,而我的测试用板并没有相关电路。

测试板也没有SD卡电路,但使用模组为ESP32-WROVER-E(4MB),故修改上面配置如下后正常(网站部署到SPI FLASH中)。

2.2 目录不存在 /front/web-demo/dist doesn't exit

错误原因是自己并没有按照官方说明去编译网站资源。

cd path_to_this_example/front/web-demo
npm install
npm run build

2.2.1 编译网站文件所用npm软件包工具(目前已被Github所收购),仍然使用网上推荐的方法,下载包含npmnodejs软件包并安装(都默认即可)。

2.2.2 在VSCODE中右击工程的 /front/web-demo目录选择“在集成终端中打开”。

2.2.3 复制 npm install 指令并回车运行

2.2.4 复制 npm run build 指令并回车运行

 指令成功后将生成一个 dist包含所有网站文件(例如 html、js、css、图像)的目录。

2.2.5 一键编译烧写后,可以正常运行,浏览器也可以打开相关网页了。

三、分析研究

3.1 Vscode的Vue相关插件

3.1.1 Volar

Volar 是Vue 的官方Vscode插件,支持Vue3。

3.1.2 ESLint

ESLint 是一个语法规则和代码风格的检查工具。

3.1.3 Live Server

Live Server 是一个实时加载功能的服务器,可以在本地打开一个浏览器用于调试。

3.1.4 Prettier

Prettier 是代码格式化工具。

3.2 项目结构

项目整体分为ESP32程序代码和前端两个部分。

ESP32程序代码部分比较简单,只有两个源文件,主要介绍前端部分:                                            下面是前端目录,为Vue3项目目录结构。        

 

       

dist目录   npm run build 指令打包之后的生成的目录,部署时将此目录下内容烧写到FLASH中。

node_modules目录  npm 加载的项目依赖模块。

public目录  公共资源。

src目录  开发的目录。

其它文件为项目相关。

src—>assets:静态文件,存放图片目录

src—>plugins:插件目录

src—>views:界面组件目录

src—>App.vue:根组件

src—>main.js:入口文件

src—>router.js:存放路由,实现界面跳转

src—>store.js:全局存储数据

3.3 涉及的相关技术

前端为基于Vue3的单页面应用,通过路由实现页面切换,vuex的store方式实现多页面数据共享。

3.3.1 API风格

选项式单文件组件。

3.3.2 Router(路由)

router.js中定义要路由的组件。

根组件中 <router-view></router-view> 加载对应的组件。

3.3.3 Vuex store(全局存储)

读操作:

通过 this.$store.state.XXX  读取

写操作:

方法一:同步操作,使用mutation,不推荐。

方法二:支持异步操作,使用actions,通过this.$store.dispatch('xxx')触发,'xxx'为store.js中定义的异步方法。

3.3.4  AJAX axios

axios是通过promise实现ajax技术的一种封装,在其它组件中使用需将改写为 Vue 的原型属性。

main.js中加入代码

import axios from 'axios'

Vue.prototype.$ajax = axios

其它组件中使用如下

      this.$ajax
        .post("/api/v1/light/brightness", {
          red: this.red,
        })
        .then(data => {
          console.log(data);
        })
        .catch(error => {
          console.log(error);
        });

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

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

相关文章

文本生成客观评价指标总结(附Pytorch代码实现)

前言&#xff1a;最近在做文本生成的工作&#xff0c;调研发现针对不同的文本生成场景&#xff08;机器翻译、对话生成、图像描述、data-to-text 等&#xff09;&#xff0c;客观评价指标也不尽相同。虽然网络上已经有很多关于文本生成评价指标的文章&#xff0c;本博客也是基于…

[附源码]JAVA毕业设计计算机组成原理教学演示软件(系统+LW)

[附源码]JAVA毕业设计计算机组成原理教学演示软件&#xff08;系统LW&#xff09; 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。…

PCB元件创建

目录 一&#xff1a;创建元件基本流程 1.1.创建一个原理图库 1. 2.创建元件 1.3绘制 1.4放置管脚 二&#xff1a; 元件创建 2.1电容类元件创建 2.2.电感类元件 2.3.电阻类元件 2.4LED元件 2.5按键元件 2.6芯片类元件创建 2.6.1修改栅格颜色 2.6.2阵列粘贴 2.7接插…

kubernetes Service详解

文章目录Service介绍Service类型Endpoint负载分发策略HeadLiness类型的ServiceNodePort类型的ServiceLoadBalancer类型的ServiceExternalName类型的Servicengress介绍Service介绍 在kubernetes中&#xff0c;pod是应用程序的载体&#xff0c;我们可以通过pod的ip来访问应用程序…

python Threads and ThreadPools

在之前的文章解释了线程和锁的相关事项&#xff0c;这里准备三篇文章分别介绍下线程和线程池&#xff0c;进程和进程池&#xff0c;已经携程的概念 python Threads and ThreadPoolspython Process and ProcessPolls 本文中重点介绍下线程和线程池的概念。每个python程序都是一…

毕业设计-基于机器视觉的安全帽佩戴识别-yolo-python

目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科…

mysql监控sql执行情况

要想进阶针对mysql学习乃至掌握mysql调优的基本技能&#xff0c;监控mysql的执行情况必不可少。就像我们的代码&#xff0c;如果不能debug&#xff0c;想要进行调优排错&#xff0c;难度将会大大增加。 所以今天我们就来讲解如何监控mysql的sql执行情况 show profile指令什么是…

Pinely Round 1 (Div. 1 + Div. 2)

比赛链接&#xff1a;Dashboard - Pinely Round 1 (Div. 1 Div. 2) - Codeforces A&#xff1a;思维 题意&#xff1a;定义了一个序列&#xff0c;给定了三个整数n&#xff0c;a&#xff0c;b。问能否构造两个长度为n的序列&#xff0c;使得它们的最长前缀的长度为a&#xf…

Mongo非关系型数据库

mongo三个概念 如何下载MongoDB 参考(5条消息) mongodb免安装配置_剑客916的博客-CSDN博客 (5条消息) MongoDB的安装配置教程&#xff08;很详细&#xff0c;你想要的都在这里&#xff09;_狮子座的男孩的博客-CSDN博客_mongodb配置 下载地址 Download MongoDB Community Se…

PDF Shaper Pro v12.8 全能PDF工具箱中文版

PDF Shaper 是一款实用的全能PDF工具箱&#xff01;这款PDF转换器包含了很多非常实用的PDF工具&#xff0c;可以轻松的把 PDF 转成 Word&#xff0c;PDF 转图像&#xff0c;PDF 加密等等。它还可以合并&#xff0c;分割&#xff0c;加密和解密 PDF&#xff0c;图像转换为 PDF&a…

Python学习笔记-序列

用于记述python中对于序列的应用&#xff0c;包括列表、元组、字典、集合、字符串等。 1.序列

我看世界杯

目录 写在前面 正文 第一次看世界杯 我看重的球队 写在最后 写在前面 说实话&#xff0c;第一次接触足球还是在小学阶段&#xff0c;现在已经记不清那是在哪里搞来的&#xff0c;反正是挺破烂的&#xff0c;外面的五边形布料都已经脱落&#xff0c;都能露出里面的布料&…

java EE初阶 — volatile关键字保证内存可见性

文章目录1.volatile保证内存可见性1.1 如何保证内存可见性1.2 java 内存模型&#xff08;JMM&#xff09;2.volatile 不保证原子性1.volatile保证内存可见性 先来看一段代码 package thread;import java.util.Scanner;class MyCounter {public int flag 0; }public class Th…

Qt实现编辑框失去焦点隐藏功能

今天来为大家分享一个小功能&#xff0c;首先看实现的效果吧~ 功能讲解&#xff1a; QLineEdit控件进行文本编辑&#xff0c;点击保存按钮后&#xff0c;隐藏编辑框和保存按钮&#xff0c;仅展示编辑内容&#xff0c;当鼠标点击空白处时&#xff0c;同样隐藏编辑框、隐藏保存按…

Dubbo前后端分离监控中心搭建

监控中心&#xff0c;因为监控中心现在前后端分离&#xff0c;所以相比与老版有变动&#xff0c;首先下载压缩包 官网: https://github.com/apache/dubbo-admin/tree/develop 下载安装包&#xff0c;使用IDEA打开解压好的dubbo-admin-develop文件夹&#xff0c;稍等片刻让Mav…

CTFHUB-web-RCE

eval执行 <?php if (isset($_REQUEST[cmd])) {eval($_REQUEST["cmd"]); } else {highlight_file(__FILE__); } ?> 看下当前目录 ?cmdprint_r(getcwd());可以执行命令 print_r(system(ls));查看上级目录?cmdprint_r(system(ls ../../../)); 直接cat flag?c…

使用模拟退火(SA)和Matlab的车辆路径问题(VRP)(Matlab代码实现)

&#x1f352;&#x1f352;&#x1f352;欢迎关注&#x1f308;&#x1f308;&#x1f308; &#x1f4dd;个人主页&#xff1a;我爱Matlab &#x1f44d;点赞➕评论➕收藏 养成习惯&#xff08;一键三连&#xff09;&#x1f33b;&#x1f33b;&#x1f33b; &#x1f34c;希…

signature verification failed csb502报错

因为这个报错特意搜了下csb是个什么东西。 简单说csb就是云服务总线&#xff0c;提供API对外开放能力&#xff0c;提供认证鉴权:访问签名&#xff0c;检查请求是否合法&#xff0c;是否已授权的。 从前端角度来看&#xff0c;就是 1.客户端通过接口发起请求&#xff0c;携带必要…

SpringBoot+Vue项目餐饮管理系统

文末获取源码 开发语言&#xff1a;Java 使用框架&#xff1a;spring boot 前端技术&#xff1a;JavaScript、Vue.js 、css3 开发工具&#xff1a;IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库&#xff1a;MySQL 5.7/8.0 数据库管理工具&#xff1a;phpstudy/Navicat JD…

放弃60万年薪考公!程序员完败公务员?

都说宇宙的尽头是考公&#xff0c;受到疫情的影响&#xff0c;我国的考公队伍也是越来越庞大。 考公队伍中不乏程序员。在某平台上&#xff0c;就有人分享了自己程序员朋友的考公经历&#xff1a; 发帖人的朋友原来是在阿里工作的&#xff0c;在他最高薪的时候能拿到60万的年薪…