littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于Zephyr RTOS的物联网嵌入式系统项目

项目简介

本项目是华盛顿大学“物联网嵌入式系统”课程的作业仓库。基于Zephyr RTOS构建嵌入式系统,逐步实现完整的物联网应用。每个作业可独立构建和运行,带有IOTEMBSYS#标签(#为作业编号)。

项目的主要特性和功能

  1. 作业2:实现按钮按下事件处理和Shell命令交互。
  2. 作业3:启动调制解调器并连接网络。
  3. 作业4:创建TCP连接并使用套接字API。
  4. 作业5:发送HTTP请求。
  5. 作业7:实现协议缓冲区的编码与解码,以及内部数据存储。
  6. 作业8:使用MCUboot引导加载程序并进行分区管理。
  7. 作业9:实现OTA(空中下载)更新。
  8. 作业11:向服务器发送内部遥测信息。

安装使用步骤

初始化Zephyr开发环境

  1. Zephyr官方入门指南设置开发环境。
  2. 安装必要依赖项(Python3, CMake, Devicetree编译器)。
  3. 安装west工具: shell pip3 install --user -U west
  4. 初始化工作区: shell cd firmware_workspace west update west zephyr-export pip3 install -r zephyr/scripts/requirements.txt

初始化每个新作业

  1. 进入工作区目录: shell cd firmware_workspace
  2. 复制作业仓库到新目录。
  3. 手动更新.west/config文件,将manifest路径指向新作业。
  4. 更新工作区: shell west update

常用命令

  • west update:更新所有Zephyr工具和源码。
  • west build -b stm32l496_cell app:构建应用程序。
  • west flash:将应用程序烧录到MCU。
  • west debug:烧录应用程序并开始调试。
  • west build -p -s ../bootloader/mcuboot/boot/zephyr -d build-mcuboot -b stm32l496_cell -- -DCONF_FILE="<path to bootloader.conf>":构建引导加载程序。
  • west build -b stm32l496_cell app -p -d build -- -DCONFIG_MCUBOOT_SIGNATURE_KEY_FILE=\"embsys-firmware/conf/root-rsa-2048.pem\" -DEXTRA_CONF_FILE=mcumgr.conf:构建可通过引导加载程序启动的应用程序。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】