×

基于树莓派的中小企业智慧办公一体化中控系统

一、统一 Web 中控平台

演示网址:https://iot.alaric.work/

账号密码:admin

API接口链接:https://iot.alaric.work/docs

前端:

HTML5 + CSS3 + JavaScript 原生技术栈,通过 CDN 引入 Tailwind CSS (原子化 CSS) CDN(在线内容分发网络) 库。

后端:

框架层:FastAPI + Uvicorn

数据库层:MySQL 8.0 + SQLAlchemy 2.0 ORM,4张表分别对应用户、传感器历史、设备状态、会议室预约。

安全层:三重保障——JWT Token(8小时有效)控制登录态,bcrypt 哈希存密码,RBAC 三级权限(IoT设备/普通员工/管理员)通过 FastAPI 依赖注入在后端强制执行,前端无法绕过。

实时通信:WebSocket 双通道——前端通过 /wss/frontend 接收推送,树莓派通过 /wss/raspberry-pi 上报数据和接收控制指令,云端作为中转枢纽。所有消息格式统一为 JSON。

已实现:

1、登录界面

2、dashboard 整体面板Web页面

3、后端接口已基本完成

4、前后端已联通 + 已部署云服务器

后期计划:

1、顶部-办公区环境监测前新增——树莓派设备在线状态(在线 / 离线)

2、网络管理子模块需要新增界面:
弹窗:
AP开关控制
修改SSID和密码
后端接口携带 admin 角色的 JWT Token,非管理员无权修改

去除子域名跳转:wifi.alaric.work

3、admin🔒 系统账号要实现可以更改密码,初次登录检测到初始账密强制更改密码方可进入

4、员工账号管理-密码-(后端不返回明文密码)考虑修改或去除此栏(暂未决定)

5、DHT22 实时传感数据,改为DHT11,并解决树莓派离线仍显示最后上报数据这一bug

6、优化移动端顶部栏模块乱序或排序问题(已解决乱序,排序考虑是否有必要再修改)

二、办公环境监测模块

已实现:

通过 WebSocket 建立 树莓派——后端接口——前端Web页面 实时推送

传感器基于 DHT11

后期计划:

不考虑继续引入 空气质量监测

三、设备与场景控制模块

已实现:

LED灯 Web端远程控制开关

后期计划:

考虑是否有多余时间引入

空调控制——红外转发模块

窗帘控制——Zigbee/WiFi 版电机或继电器模块

会议系统显示器控制——继电器

四、会议室预约模块

已实现:

不同账号、不同时间段的会议预约、取消

后期计划:

树莓派桌面版系统接入显示器

树莓派脚本实现开机自启浏览器全屏打开Web界面作为智慧屏展示在会议室门口

注册 public 账号自动登录,公共使用

五、网络存储(NAS)模块

已实现:

引入开源项目 CasaOS 作为 NAS Web界面,管理树莓派空间

后期计划:

接入nas.alaric.work域名,实现Web中控跳转

计划通过引入 Tailscale 实现 内网穿透

六、运维监控模块

已实现:

Premetheus + Grafana + 腾讯云服务器 node_exporter 监控

腾讯云服务器安装上述架构并监控腾讯云服务器

已通过NGINX接入Web中控界面

https://devops.alaric.work/

账号:admin 密码:alaric

后期计划:

引入 Tailscale 实现 内网穿透 后将树莓派也接入监控

七、WiFi / 网络管理模块

已实现:

基于 hostapd + dnsmasq + iptables + NAT 实现AP

后期计划:

新增Web界面控制AP开关,修改SSID、密码

八、智能语音助手模块

已实现:

后期计划:

麦克风
  ↓
【Porcupine】← 检测“小智小智”
  ↓
播放“我在”
  ↓
录音
  ↓
ASR(腾讯云 / Whisper)
  ↓
指令解析
  ↓
调用中控 API(开灯 / 会议模式)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

作者

fffff@xf.nn