项目简介
本项目是基于Arduino和PlatformIO开发的物联网项目。借助Wemos D1 mini lite开发板,结合WiFi网络与网页前端,实现了一系列特定功能。项目具备服务器功能,可控制NeoPixel灯带效果,同时提供网页界面方便用户进行交互。
项目的主要特性和功能
- 服务器功能:在
sserver.h
和sserver.cpp
中定义了服务器相关功能,能够处理网络请求。 - NeoPixel灯带控制:通过
neo_pixel_effects.h
文件可控制和更改NeoPixel灯带的显示效果。 - 引脚定义:
pins.h
文件专门为Wemos D1 mini lite开发板定义所需引脚。 - 网页交互:
src/html
目录下的文件构建标准网页,可通过网络与开发板交互,网页存储在栈上以解决内存问题。 - 文件系统支持:PlatformIO可将
./data
文件夹中的文件加载到微控制器内存中,通过LittleFS.h
库进行访问。
安装使用步骤
安装环境依赖
- 下载并安装VSCode或其他IDE。
- 下载并安装npm。
- 下载并安装Python 3.8及以上版本。
配置Python虚拟环境和安装依赖
- 打开终端,运行以下命令:
python -m pip install --upgrade pip
python -m venv ./.venv
(在VSCode中可将此虚拟环境设置为默认).\.venv\Scripts\activate
(激活虚拟环境)python -m pip install -r requirements.txt
- 下载PlatformIO脚本并安装到虚拟环境:
- 访问
https://docs.platformio.org/en/latest//core/installation/methods/installer-script.html
选择所需的安装方法。 - 若使用Windows系统,可运行
python ./tools/get-platformio-getter.py
。
- 访问
- 在VSCode的扩展选项卡中激活PlatformIO,完成安装并使用Python和PlatformIO的虚拟环境。
- 安装npm依赖,运行
npm install
。
配置项目文件
- 创建
./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】