littlebot
Published on 2025-04-16 / 1 Visits
0

【源码】基于Arduino和PlatformIO的物联网项目

项目简介

本项目是基于Arduino和PlatformIO开发的物联网项目。借助Wemos D1 mini lite开发板,结合WiFi网络与网页前端,实现了一系列特定功能。项目具备服务器功能,可控制NeoPixel灯带效果,同时提供网页界面方便用户进行交互。

项目的主要特性和功能

  1. 服务器功能:在sserver.hsserver.cpp中定义了服务器相关功能,能够处理网络请求。
  2. NeoPixel灯带控制:通过neo_pixel_effects.h文件可控制和更改NeoPixel灯带的显示效果。
  3. 引脚定义pins.h文件专门为Wemos D1 mini lite开发板定义所需引脚。
  4. 网页交互src/html目录下的文件构建标准网页,可通过网络与开发板交互,网页存储在栈上以解决内存问题。
  5. 文件系统支持:PlatformIO可将./data文件夹中的文件加载到微控制器内存中,通过LittleFS.h库进行访问。

安装使用步骤

安装环境依赖

  1. 下载并安装VSCode或其他IDE。
  2. 下载并安装npm。
  3. 下载并安装Python 3.8及以上版本。

配置Python虚拟环境和安装依赖

  1. 打开终端,运行以下命令:
    • python -m pip install --upgrade pip
    • python -m venv ./.venv(在VSCode中可将此虚拟环境设置为默认)
    • .\.venv\Scripts\activate(激活虚拟环境)
    • python -m pip install -r requirements.txt
  2. 下载PlatformIO脚本并安装到虚拟环境:
    • 访问https://docs.platformio.org/en/latest//core/installation/methods/installer-script.html选择所需的安装方法。
    • 若使用Windows系统,可运行python ./tools/get-platformio-getter.py
  3. 在VSCode的扩展选项卡中激活PlatformIO,完成安装并使用Python和PlatformIO的虚拟环境。
  4. 安装npm依赖,运行npm install

配置项目文件

  1. 创建./src/env.h文件,内容如下: ```

ifndef ENV_H

define ENV_H

include

define SERIAL_ENABLE 0 // 0 is false 1 is true

define BAUD_RATE 115200 // Baud rate for serial

define SSID_M ""

define PSWD_M ""

endif

`` 2. 根据具体需求修改partitions_singleapp.csv文件,并在platformio.ini`中更新文件名。

部署前准备

若项目准备部署,在构建前需进行以下操作,可能还需运行npm build来编译HTML: 1. 压缩src/html目录下的文件到mini/目录,运行python ./tools/minify-html.py。 2. 将mini/*文件打包到dist/index.html,运行python ./tools/convert-raw-literal.py。 3. 根据hex_index.h文件中的变量名更新代码,以使用src/html中的索引页面。

下载地址

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