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

网站优化有哪些方法久久建筑网农网改造工程钻孔机开挖基坑专项施工方案

网站优化有哪些方法,久久建筑网农网改造工程钻孔机开挖基坑专项施工方案,免费找精准客户软件,自助网站建设系统软件摘要 本文分为两部分#xff1a;Linux开发环境搭建和软件基础。Linux开发环境搭建介绍了Ubuntu虚拟机安装及SSH、Samba配置#xff0c;可以实现用VSCode操作虚拟机。为了后续工作#xff0c;搭建了乐鑫ESP32 SDK环境。软件基础介绍了Linux开发常用的软件基础#xff0c;包…摘要 本文分为两部分Linux开发环境搭建和软件基础。Linux开发环境搭建介绍了Ubuntu虚拟机安装及SSH、Samba配置可以实现用VSCode操作虚拟机。为了后续工作搭建了乐鑫ESP32 SDK环境。软件基础介绍了Linux开发常用的软件基础包括Linux指令、Git、Makefile、裸机和RTOS。 环境搭建 ESP32学习方法主要看API手册和历程 API和寄存器的关系因为寄存器的操作太复杂了所以原厂工程师把寄存器的操作封装成API 1. UI交互图和程序流程图 在设计软件之前要先画UI交互图和程序流程图 2. Ubuntu虚拟机安装及SSH、Samba配置 2.1 安装虚拟机 安装VMware Workstation我安装的版本是17.6。VMware17.6 软件安装包下载及安装教程 2.2 安装Ubuntu 官网https://ubuntu.com/download/desktop 实测不用“科学方法”下载速度较慢。我下载的是Ubuntu 24.04.1 LTS 参考Ubuntu 20.04 LTS安装教程超详细VMware安装Ubuntu虚拟机步骤 顺序略有不同但大体一致。 2.3 在虚拟机中安装SSH 打开Ubuntu的终端输入 sudo apt-get install openssh-server sudo /etc/init.d/ssh start ps -e|grep ssh2.4 Samba服务器搭建 Samba 允许不同操作系统如 Windows、Linux 或 macOS的设备访问和管理该文件夹中的内容。通过 Samba 共享的文件夹可以在网络上的其他设备之间共享文件。 在Ubuntu的终端中输入 sudo apt-get update sudo apt-get install samba sudo apt-get install gedit sudo gedit /etc/samba/smb.conf会弹出一个文档在文档底部加入下面配置。其中share是共享文件夹的名称可以改为别的。 [share]valid user xzhpath /home/xzh/sharepublic yeswritable yescreate mask 0644force create mode 0644directory mask 0755force directory mode 0755available yes改完之后保存 在Ubuntu终端中继续输入下面命令重启Samba服务 sudo service smbd restart sudo ufw allow samba输入sudo smbpasswd -a xzh创建Samba用户名我取名为xzh然后根据提示设置密码。 重启下一Samba sudo /etc/init.d/smbd restart在Ubuntu终端中输入ip addr show查询Samba的IP地址 Interface ens33 表示我的网络接口通常表示有线网络连接。 inet 192.168.62.128/24 是我当前机器的 IPv4 地址即 192.168.62.128。这就是其他设备用来连接到我 Samba 服务器的 IP 地址。 inet6 fe80::20c:29ff:fe2c/64 是我机器的 IPv6 地址但通常局域网内共享文件更多使用 IPv4 地址。 在Windows系统上按下“Windows键R”输入\\192.168.62.128点击确定。 Windows安全中心会出现弹窗“输入网络凭据”输入刚刚创建的Samba用户名和密码然后点击确定就可以进入共享文件夹了。 2.5 在Window的VSCode中通过SSH命令行方式访问Ubuntu 在Windows中打开VSCode安装C/C和SSH插件 配置连接Ubuntu 添加配置信息 Host ubuntuHostName 192.168.62.128User xzh192.168.62.128为Ubuntu的IPxzh为我Ubuntu的用户名。 保存之后刷新一下出现ubuntu。 选择linux 选择continue 输入密码按回车 成功连接 3. 乐鑫ESP32 SDK环境搭建 3.1 安装环境依赖工具 在VSCode的终端中输入 sudo apt-get update sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-03.2 下载源码 在终端中输入 mkdir esp cd ~/esp git clone -b release/v4.4 --recursive https://github.com/espressif/esp-idf.git在git clone时遇到了这个问题 error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8) error: 780 bytes of body are still expected fetch-pack: unexpected disconnect while reading sideband packet fatal: early EOF fatal: fetch-pack: invalid index-pack output fatal: clone of https://github.com/espressif/esp32-wifi-lib.git into submodule path /home/xzh/esp/esp-idf/components/esp_wifi/lib failed Failed to clone components/esp_wifi/lib a second time, abortingerror: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8)这是由于在使用 HTTP/2 协议通过 curl 下载时网络连接中断或被取消。可能是因为网络不稳定或远程服务器的问题。 error: 780 bytes of body are still expectedGit 期望从服务器接收到更多数据但数据传输中途中断了。 fetch-pack: unexpected disconnect while reading sideband packet在 Git 从服务器读取数据时连接被意外断开。 fatal: early EOF 和 fatal: fetch-pack: invalid index-pack outputGit 收到了一个不完整的包导致它在处理包时失败。EOF 表示文件或数据流提前结束。 fatal: clone of https://github.com/espressif/esp32-wifi-lib.git into submodule path /home/xzh/esp/esp-idf/components/esp_wifi/lib failed Git 无法完成克隆操作因此将子模块克隆到指定路径失败。 Failed to clone components/esp_wifi/lib a second time, aborting Git 尝试重新克隆但再次失败因此操作中止。 解决办法 进入esp_idf文件夹内 cd /home/xzh/esp/esp-idf/components/esp_wifi/lib单独更新子模块 git submodule update --init --recursive3.3 安装编译链 进入到解压的esp-idf文件中安装编译代码需要的工具链 cd ~/esp/esp-idf export IDF_GITHUB_ASSETSdl.espressif.com/github_assets ./install.sh出现报错 pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12) Installing virtualenv error: externally-managed-environment× This environment is externally managed ╰─ To install Python packages system-wide, try apt installpython3-xyz, where xyz is the package you are trying toinstall.If you wish to install a non-Debian-packaged Python package,create a virtual environment using python3 -m venv path/to/venv.Then use path/to/venv/bin/python and path/to/venv/bin/pip. Makesure you have python3-full installed.If you wish to install a non-Debian packaged Python application,it may be easiest to use pipx install xyz, which will manage avirtual environment for you. Make sure you have pipx installed.See /usr/share/doc/python3.12/README.venv for more information.note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages. hint: See PEP 668 for the detailed specification. Traceback (most recent call last):File /home/xzh/esp/esp-idf/tools/idf_tools.py, line 1587, in action_install_python_envimport virtualenv # noqa: F401^^^^^^^^^^^^^^^^^ ModuleNotFoundError: No module named virtualenvDuring handling of the above exception, another exception occurred:Traceback (most recent call last):File /home/xzh/esp/esp-idf/tools/idf_tools.py, line 1996, in modulemain(sys.argv[1:])File /home/xzh/esp/esp-idf/tools/idf_tools.py, line 1992, in mainaction_func(args)File /home/xzh/esp/esp-idf/tools/idf_tools.py, line 1590, in action_install_python_envsubprocess.check_call([sys.executable, -m, pip, install, --user, virtualenv],File /usr/lib/python3.12/subprocess.py, line 413, in check_callraise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command [/usr/bin/python3, -m, pip, install, --user, virtualenv] returned non-zero exit status 1.分析 error: externally-managed-environment 这条错误提示表明你的 Python 环境受到了外部管理即操作系统的包管理系统控制了这个环境而不允许通过 pip 在全局安装 Python 包。这是为了保护系统环境不被破坏因为不同的包管理系统之间可能会发生冲突。 This environment is externally managed 你的操作系统例如Ubuntu 或 Debian将 Python 环境标记为外部管理阻止 pip 在全局环境中安装包以避免系统依赖关系被破坏。 ModuleNotFoundError: No module named virtualenv 你尝试运行的 Python 脚本 idf_tools.py 需要使用 virtualenv 模块但这个模块在系统中并未安装。 解决办法 使用 apt 安装系统范围的包 sudo apt install python3-virtualenv3.4 设置环境 把esp-idf路径设为本地路径在终端执行 . /home/xzh/esp/esp-idf/export.sh3.5 判断是否搭建成功 通过idf.py --version查看 ESP-IDF 版本 得到输出 通过 git log 查看当前代码状态 得到输出 提交历史和 Git 标签都表明我的代码库已经成功同步到最新版本克隆没有问题ESP-IDF 环境应该已经搭建完成。 软件基础 4. Linux 指令 4.1 cd (Change Directory) cd 命令用于在目录之间切换或更改当前的工作目录。 cd 目录路径: 切换到指定的目录。cd ..: 切换到上一级目录。 示例如果当前在 /home/user/Documents执行 cd .. 将切换到 /home/user。cd ~: 切换到当前用户的主目录。 示例cd ~ 将切换到类似 /home/username 的路径。cd -: 切换到上一个工作目录。 示例如果你从 /home/user 切换到 /var/log执行 cd - 将回到 /home/user。 4.2 ls (List Directory Contents) ls 命令用于显示当前目录或指定目录中的文件和子目录的列表。 ls: 显示当前目录中的文件和子目录。ls 目录路径: 显示指定目录中的文件和子目录。 4.3 mkdir (Make Directory) mkdir 命令用于创建新的目录。 mkdir 目录名: 创建一个新的目录。 示例mkdir my_folder 会在当前目录下创建一个名为 my_folder 的目录。mkdir -p 路径: 创建目录及其父目录如果不存在。 示例mkdir -p /home/user/docs/project 如果 docs 或 project 目录不存在它们都会被创建。 4.4 rm (Remove) rm 命令用于删除文件或目录。 rm 文件名: 删除指定文件。rm -r 目录名: 递归删除目录及其内部所有内容。 4.5 cp (Copy) cp 命令用于复制文件或目录。 cp 源文件 目标路径: 复制文件到目标路径。 示例cp file.txt /home/user/Documents/ 将 file.txt 复制到 /home/user/Documents/ 目录。cp 源文件 目标文件: 复制文件并重命名。 示例cp file.txt newfile.txt 将 file.txt 复制为 newfile.txt。cp -r 源目录 目标路径: 递归复制目录及其内容。 示例cp -r my_folder /home/user/backup/ 将整个 my_folder 目录及其所有内容复制到 /home/user/backup/ 目录。 4.6 mv (Move) mv 命令用于移动或重命名文件或目录。它将文件从一个位置移动到另一个位置或者将文件/目录重命名。 mv 源文件 目标路径: 移动文件到目标路径。 示例mv file.txt /home/user/Documents/ 将 file.txt 移动到 /home/user/Documents/ 目录。mv 源文件 新文件名: 重命名文件。 示例mv oldname.txt newname.txt 将 oldname.txt 重命名为 newname.txt。mv 源目录 目标路径: 移动整个目录到目标路径。 示例mv my_folder /home/user/backup/ 将 my_folder 目录移动到 /home/user/backup/。 5. Git 使用 Git是一个版本管理工具。 5.1 编辑文件 cd share mkdir esp_demo1 cd esp_demo1 vim test.c新建了一个test.c文件随便输入点啥按Esc:wq保存该文件。输入ls命令可以看到输出test.c。 用git init创建本地仓库 然后设置用户名和邮箱 用git status查看当前状态。输出显示test.c是新添加的文件 用git add *把当前路径下所有文件都添加进本地仓库。 用git commit -m 标签名去打标签 用git log看一下日志 如果需要修改test.c文件用vim test.c进入文件保存完之后再用git add *指令添加一下。然后打个标签git commit -m fix xxx function 用git log可以看到修改记录 用git show 哈希值可以看到某一次修改的内容 再用vim test.c加点东西然后用git diff查看区别 5.2 添加分支 分支(branch)允许你在不同的开发线上工作避免干扰主项目的稳定版本并为不同的功能、修复或实验提供独立的空间。 用git checkout -b dev添加分支用git branch -a查看本地仓库有哪些分支。 用vim test.c修改文件。用git add *添加用git commit -m 打标签。用git log 用git checkout main回到主分支用git log查看日志发现主分支的日志没被污染。 5.3 结束打标签 在软件发布时一般用git tag -a v1.0 -m v1.0 version打标签。输入git tag -l查看输出显示 6. Makefile Makefile 是由 GNU Make 工具使用的文件定义了项目的编译规则。它描述了如何从源代码生成可执行文件或其他目标文件主要通过一系列的规则、依赖关系和命令来完成。 CMake 是一个跨平台的构建系统工具比 Makefile 更高级适合管理更复杂的项目。CMake 的主要作用是生成平台特定的构建文件如 Makefile 或 Visual Studio 工程文件简化跨平台构建流程。CMake 使用 CMakeLists.txt 文件来定义项目的构建规则。CMake 通过解析这个文件根据目标平台生成相应的构建文件。 Makefile较为基础适用于单一平台和相对简单的项目依赖于开发者自己定义的规则和依赖关系。CMake跨平台适用于大型和复杂项目自动处理依赖并生成平台特定的构建文件。 7. “裸机”和实时操作系统RTOS 在嵌入式系统开发中裸机和实时操作系统RTOS是两种常见的编程模式。它们在资源管理、任务调度和系统复杂性等方面有显著的区别。 7.1 裸机编程 裸机编程Bare Metal Programming指的是直接在硬件上运行代码不依赖任何操作系统。所有的系统资源、外设和任务调度由程序员手动管理。这种编程方式通常用于资源受限、系统简单且对实时性要求不高的嵌入式设备。 7.2 实时操作系统RTOS 实时操作系统RTOS是一类专门为实时应用设计的操作系统能够提供确定性的任务调度保证任务在严格的时间限制内完成。RTOS通过内核来管理任务调度、中断处理、资源共享等功能。 推荐链接 ESP-IDF 编程指南 release-v4.4ESP-IDF 编程指南 版本 v5.3.1DesktopScreen 1 环境搭建
http://www.laogonggong.com/news/126709.html

相关文章:

  • 北京网站制作17页ps软件免费下载安装
  • wordpress回收站在哪如何用本机电脑做网站服务器
  • 昆山网站建设培训学校厂房出租做推广什么网站好
  • 郑州建网站哪个公司好安卓市场2022最新版下载
  • 九江集团网站建设公司商城网站开发报价
  • 哪里有营销型网站制作深圳网站建设科技有限公司
  • 锦州网站建设怎样专业团队搞笑图片
  • 网站维护的重要性百度申诉网站
  • wordpress国内网站吗开通公众号的流程
  • 湛江定制建站企业网站有没有让人做问卷的网站
  • 免费制作网站net域名自己建设一个平台网站多少钱
  • 住房城乡建设部网站文件查询上海城乡建设学校网站
  • 统一门户登录海口seo整站
  • 广州网站设计价格网站关键字搜索功能
  • 姑苏区做网站wordpress更新php
  • xampp 开发网站平台软件是怎么做出来的
  • 民治网站优化培训那些网站做的非常好看的
  • 怎样修改公司网站内容wordpress dux
  • 邯郸医院网站建设网站页面改版降权
  • 网站推广系统设计淄博外贸网站建设公司
  • 微信官方网站首页大气有内涵的公司名字
  • 如何建设学校网站《电子商务网站建设 》
  • sem推广培训seo优化的价格
  • 专业网站制作网站公司网站模板 免费
  • 高端大气的科技网站百度一下百度首页官网
  • 网站备案有期限吗网站多网合一
  • 淄博网站优化推广购物网站怎么做优化
  • php 企业网站cms小程序开发定制开发
  • 如何制作网站教程做dnf辅助网站
  • 南昌英文网站建设移动端的优势