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

网站建设商业win2012做网站

网站建设商业,win2012做网站,广告投放申请入口,网页设计实训结论Rust ESP32C3开发 系统开发逐步使用Rust语言#xff0c;在嵌入式领域Rust也逐步完善#xff0c;本着学习Rust和ESP32的目的#xff0c;搭建了ESP32C3的环境#xff0c;过程中遇到了不少问题#xff0c;予以记录。 ESP-IDF开发ESP32 这一部分可跳过#xff0c;是使用C开…Rust ESP32C3开发 系统开发逐步使用Rust语言在嵌入式领域Rust也逐步完善本着学习Rust和ESP32的目的搭建了ESP32C3的环境过程中遇到了不少问题予以记录。 ESP-IDF开发ESP32 这一部分可跳过是使用C开发ESP32。直接看Rust 与 ESP32C3 先使用ESP-IDF环境跑一个Hello world ESP-IDF安装选择v5.1 克隆项目 git clone https://github.com/espressif/esp-idf.git在get-started/hello-world工程中可以编译项目编译前连接开发板可以在设备管理里看到comx这里为com3 使用IDF-CMD命令行进入hello-world目录设置目标 idf.py set-target esp32c3打开配置界面 idf.py menuconfighello-world项目不进行配置编译 idf.py build烧录 idf.py -p PORT flash idf.py -p COM3 flash烧录成功 Compressed 168688 bytes to 89398... Writing at 0x00010000... (16 %) Writing at 0x0001a548... (33 %) Writing at 0x00020e66... (50 %) Writing at 0x00028352... (66 %) Writing at 0x0002ecae... (83 %) Writing at 0x00035da9... (100 %) Wrote 168688 bytes (89398 compressed) at 0x00010000 in 3.1 seconds (effective 441.4 kbit/s)... Hash of data verified. Compressed 3072 bytes to 103... Writing at 0x00008000... (100 %) Wrote 3072 bytes (103 compressed) at 0x00008000 in 0.1 seconds (effective 438.8 kbit/s)... Hash of data verified.Leaving... Hard resetting via RTS pin... Done监视输出 idf.py -p com3 monitorRust 与ESP32C3 参考资料 https://esp-rs.github.io/book/introduction.html https://esp-rs.github.io/std-training/01_intro.html https://doc.rust-lang.org/nightly/rustc/platform-support/esp-idf.html https://esp-rs.github.io/book/overview/index.html Rust工具链 安装 rustup toolchain install nightly-2023-02-28 --component rust-srcespressif 工具链 包含 cargo-espflashespflashldproxy 安装 cargo install cargo-espflash espflash ldproxy克隆仓库 克隆代码并进入 git clone https://github.com/esp-rs/std-training.git cd std-traininghelloboard 连接开发板 进入hardware-check目录 cd intro/hardware-check配置你的wifi名称与密码cfg.toml [hardware-check] wifi_ssid 111111 wifi_psk 123451111编译 cargo build 报错 error: failed to run custom build command for esp-idf-sys v0.33.0CMake Error at C:/Users/Rao/.espressif/esp-idf/v4.4.4/tools/cmake/component.cmake:300 (message):Include directoryC:/Users/Rao/.espressif/esp-idf/v4.4.4/components/mbedtls/mbedtls/includeis not a directory.Call Stack (most recent call first):C:/Users/Rao/.espressif/esp-idf/v4.4.4/tools/cmake/component.cmake:473 (__component_add_include_dirs)C:/Users/Rao/.espressif/esp-idf/v4.4.4/components/mbedtls/CMakeLists.txt:18 (idf_component_register)原因是 C:/Users/Rao/.espressif/esp-idf/v4.4.4/components/mbedtls/mbedtls/includeis not a directory.说明这个目录位于mbedtls的submodule中, 可能没有被checkout出来 解决方法进入C:/Users/Rao/.espressif/esp-idf/v4.4.4/components/mbedtls/ git submodule update --init --recursivecargo run报错 D:/Workspace/Program/ESP32/std-training/intro/hardware-check/target/riscv32imc-esp-espidf/debug/build/esp-idf-sys-281d3f81b0a0f0ca/out/build/esp-idf/mbedtls/mbedtls/library/CMakeFiles/mbedcrypto.dir/./has 201 characters. The maximum full path to an object file is 250characters (see CMAKE_OBJECT_PATH_MAX). Object filed5fa956509b7db88e8eaa02d1680138d/esp_rsa_sign_alt.c.objcannot be safely placed under this directory. The build may not workcorrectly. 目录太长了,回到std-training目录将项目映射到r: subst r: std-trainingcd r:进入hardware-check重新编译 cd intor/hardware-checkcargo run成功 I (9229) wifi:set rx beacon pti, rx_bcn_pti: 0, bcn_timeout: 0, mt_pti: 25000, mt_time: 10000 I (9239) wifi: Waiting for DHCP lease... I (9249) wifi:ba-addidx:0 (ifx:0, 62:1e:12:f4:12:61), tid:0, ssn:0, winSize:64 I (9319) wifi:APs beacon interval 102400 us, DTIM period 2 I (10239) esp_netif_handlers: sta ip: 192.168.83.104, mask: 255.255.255.0, gw: 192.168.83.127 I (10239) wifi: Wifi DHCP info: IpInfo { ip: 192.168.83.104, subnet: Subnet { gateway: 192.168.83.127, mask: Mask(24) }, dns: Some(192.168.83.127), secondary_dns: Some(0.0.0.0) } I (11249) hardware_check: Hello, world! I (13249) hardware_check: Hello, world!查看板子运行状态 espflash monitor创建新项目 为了避免长路径问题将一个空间映射为短路径 subst z: esp32 cd z:由cargo-generate配置新项目 安装 cargo install cargo-generate生成 PS z:\ cargo generate https://github.com/esp-rs/esp-idf-template cargo ⚠️ Favorite https://github.com/esp-rs/esp-idf-template not found in config, using it as a git repository: https://github.com/esp-rs/esp-idf-templateProject Name: hello_world ⚠️ Renaming project called hello_world to hello-world...Destination: z:\hello-world ...project-name: hello-world ...Generating template ... ✔ Which MCU to target? · esp32c3 ✔ Configure advanced template options? · falseMoving generated files into: z:\hello-world... Initializing a fresh Git repository ✨ Done! New project created z:\hello-world用vscode打开项目 code .加一个死循环 fn main() {// It is necessary to call this function once. Otherwise some patches to the runtime// implemented by esp-idf-sys might not link properly. See https://github.com/esp-rs/esp-idf-template/issues/71esp_idf_sys::link_patches();// Bind the log crate to the ESP Logging facilitiesesp_idf_svc::log::EspLogger::initialize_default();info!(Hello, world!);loop {info!(loop ...!);std::thread::sleep(std::time::Duration::from_secs(1))} } 编译 cargo run一般时间会很长 运行起来 I (356) cpu_start: Starting scheduler. I (362) hello_world: Hello, world! I (362) hello_world: loop ...! I (1362) hello_world: loop ...! I (2362) hello_world: loop ...! I (3362) hello_world: loop ...!http客户端 进入espressif-trainnings/intro中的http-client项目 修改wifi配置 编译 cargo run --example http_client完全可以自己写一个服务器提供http服务例如go package mainimport github.com/gin-gonic/ginfunc main() {engine : gin.Default()engine.GET(/, func(context *gin.Context) {context.JSON(200, gin.H{message: Hello World,})})engine.Run() } 该服务端提供了get请求默认根目录响应json数据。 在http-client/examples/http_client.rs中 get(http://192.168.83.79/)?;注意需要在一个局域网内并且知道主机的ip地址。 运行 cargo run --example http_clienthttp服务器 提供get服务 编写wifi配置 cd .\http-server\cargo run --example http_server我的开发板获取温度有一些异常注释掉获取温度的代码。 http://192.168.83.104/temperatureMQTT 搭建mqtt服务器 wsl ubuntudocker https://www.emqx.io/docs/zh/v5.1/deploy/install-docker.html 拉取镜像 docker pull emqx/emqx:5.1.0启动容器 docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:5.1.0http://wsl-ubuntu 地址 :18083/ 默认用户名及密码 admin public通过MQTTfx测试mqtt服务器是否正常 https://softblade.de/en/download-2/ 创建连接 发送消息需要往某个主题发送 所有订阅了hello主题的客户端都能收到消息。 cargo run --example solution_publ_rcv后续局域网还有点问题后面再做 ssd1306 https://juejin.cn/post/7096077841023893511 初始化一个项目 cargo generate --git https://github.com/esp-rs/esp-idf-template cargoPS R:\ cargo generate --git https://github.com/esp-rs/esp-idf-template cargoProject Name: ssd1306_esp32c3Renaming project called ssd1306_esp32c3 to ssd1306-esp32c3...Destination: R:\ssd1306-esp32c3 ...project-name: ssd1306-esp32c3 ...Generating template ... ✔ Which MCU to target? · esp32c3 ✔ Configure advanced template options? · falseMoving generated files into: R:\ssd1306-esp32c3... Initializing a fresh Git repositoryDone! New project created R:\ssd1306-esp32c3初始化外设 use esp_idf_sys as _; // If using the binstart feature of esp-idf-sys, always keep this module imported use log::*; use esp_idf_hal::{delay::FreeRtos,i2c::{I2cConfig, I2cDriver},peripherals::Peripherals,prelude::*, };fn main() {// It is necessary to call this function once. Otherwise some patches to the runtime// implemented by esp-idf-sys might not link properly. See https://github.com/esp-rs/esp-idf-template/issues/71esp_idf_sys::link_patches();// Bind the log crate to the ESP Logging facilitiesesp_idf_svc::log::EspLogger::initialize_default();let peripherals Peripherals::take().unwrap();let sda peripherals.pins.gpio10;let scl peripherals.pins.gpio8;let config I2cConfig::new().baudrate(400.kHz().into());let i2c I2cDriver::new(peripherals.i2c0, sda, scl, config).unwrap();info!(Hello, world!); } 还不太行留坑 esp_idf_sys::link_patches(); // Bind the log crate to the ESP Logging facilities esp_idf_svc::log::EspLogger::initialize_default(); let peripherals Peripherals::take().unwrap();let sda peripherals.pins.gpio10; let scl peripherals.pins.gpio8;let config I2cConfig::new().baudrate(400.kHz().into()); let i2c I2cDriver::new(peripherals.i2c0, sda, scl, config).unwrap();info!(Hello, world!);} 还不太行留坑
http://www.sczhlp.com/news/152142/

相关文章:

  • 品牌网站建设咨询建立网站的工具
  • 湖南seo网站开发十四五学科专业建设规划
  • 网站正在维护中 模板免费python在线正常网站
  • 网站建设的公司如何寻找客户做ppt常用的网站
  • 建站模板哪里好网站建站是什么
  • 怎么制作钓鱼网站链接wordpress多地址
  • 一个网站建立团队大概要多少钱设计培训班学费一般多少
  • 网站设计公司推荐奇点网络品牌网线和普通网线有什么区别
  • 网站建设简介淄博专门做孩子早教的网站
  • 笛卡尔树 (区间最小值)
  • CF2003F. Turtle and Three Sequences
  • 【Rust GUI开发入门】编写一个本地音乐播放器(11. 支持动态明暗主题切换) - Jordan
  • 中山网站代运营有谁知道知乎网站是谁做的
  • 网站投票链接怎么做网站建设技术架构
  • 山西省住房城乡建设厅网站阿里云1核1g wordpress
  • 农林网站建设公司江阴做网站
  • 网站建设职业天津网站排名优化
  • 做网站的技术要求友链交换平台
  • 免费网站主机做购物网站需要学哪些
  • 网站开发里程碑pvc建筑模板生产厂家
  • 湖南网站推广优化大朗镇网站仿做
  • eclipse可以做网站嘛网站建设流程共有几个阶段
  • 网站建设设计咨询子域名查询工具
  • 左旗网站建设公司wordpress美图
  • 网站建设 地址: 上海石门二路wordpress文章编辑器的插件
  • 多用户自助建站系统源码购物网站界面设计欣赏
  • 网站建设专业公司哪家好品牌营销策划ppt
  • 网站备案ip查询系统个人信息网站建设的心得体会
  • 长春网站建站山东网站制作策划
  • 南宁做网站服务商天津效果图制作公司