littlebot
Published on 2025-04-12 / 4 Visits
0

【源码】基于Node.js和Arduino的智能百叶窗控制系统

项目简介

本项目是基于Node.js和Arduino的智能百叶窗控制系统,借助网页应用程序达成对百叶窗的远程控制。系统涵盖网页端、Node.js服务器和Arduino机器人三部分。网页端负责用户交互,用户可通过点击按钮选择控制模式、设置阈值和上下限;Node.js服务器作为中间桥梁,在网页端和Arduino机器人间传递信息;Arduino机器人依据接收到的信息控制百叶窗开合,并将状态反馈给网页端。

项目的主要特性和功能

  1. 多种控制模式:支持电位器模式、光电晶体管模式、温度模式、温度或光电晶体管模式、温度和光电晶体管模式,还能直接控制百叶窗开合。
  2. 阈值和上下限设置:用户可在网页端设置电位器阈值、温度阈值、上限和下限,满足不同使用需求。
  3. 实时状态反馈:网页端能实时显示百叶窗状态(打开或关闭)及当前选择的模式。
  4. 数据交互:通过Socket.io实现网页端与Node.js服务器的数据传输,通过Serialport实现Node.js服务器与Arduino机器人的数据传输。

安装使用步骤

前提条件

确保已安装以下软件和工具: - Arduino Starter Kit 或 Arduino 组件 - Visual Studio Code 或其他代码编辑器 - Arduino软件IDE - SerialPort NPM - Socket.io - Node.js

构建电路

  1. 准备所需组件,参考 ComponentsList.png
  2. Circuit.png 中的电路图连接电路。

上传 Arduino 代码

  1. 打开 Arduino IDE,复制 sketch_oct09b.ino 中的代码到 IDE。
  2. 用 USB 电缆将 Arduino 板连接到计算机。
  3. 查找 Arduino 连接的串口名称。Mac 上,在终端输入 ls /dev/{tty,cu}.*;PC 上,在命令行输入 chgport
  4. 在 Arduino IDE 中,选择 Tools > Board,并选择 Arduino 连接的串口。
  5. 点击 IDE 左上角的 UPLOAD 按钮上传代码。

配置网页代码

  1. 打开 VSCode 或其他代码编辑器,创建 index.html 文件,复制 index.html 中的代码到该文件。

配置 Node.js 服务器

  1. 创建 index.js 文件,复制 index.js 中的代码到该文件。
  2. 将代码中的 '/dev/tty.usbmodem14101' 替换为之前找到的 Arduino 串口地址。

安装依赖包

  1. 打开控制台窗口,导航到项目所在文件夹。
  2. 在控制台输入 npm init,按提示设置项目信息,保持默认入口文件为 index.js
  3. 打开项目文件夹,确保有 package.json 文件。
  4. 在控制台输入 npm install socket.io@1.7.3 -save 安装 socket.io
  5. Mac 用户在控制台输入 npm install serialport@9.0.1 --save 安装 serialport;PC 用户在命令行输入 npm install serialport@9.0.1 --build-from-source 安装 serialport

启动应用程序

  1. 打开 Arduino IDE,点击左上角右箭头将代码上传到 Arduino。
  2. 在终端使用 node index.js 启动 Node.js 服务器。
  3. 打开浏览器,输入 http://localhost:3000/
  4. 此时,机器人和网页已建立通信,项目开始运行。

下载地址

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