鸿蒙仓颉编程语言挑战赛二等奖作品 :以仓颉之码,筑智慧学园——基于仓颉与OpenHarmony的智慧校园协同管控系统实践
为此,我们团队以国产化技术为核心,打造了基于仓颉语言与 OpenHarmony 的智慧校园协同管控系统,用自主可控的技术方案破解校园管理痛点,为高校提供高效、安全、智能的管理新范式。本项目以仓颉语言为核心后端引擎,结合 OpenHarmony 前端框架与物联网、AI 技术,构建了一套自主可控、安全高效的智慧校园协同管控系统,成功解决了高校环境监测、设备管理、资源调度等核心痛点。:硬件开发:负责传感
本文是鸿蒙仓颉编程语言挑战赛获奖作品系列介绍的第二篇,将为大家详细介绍荣获大赛二等奖的项目——来自“珍惜宝贵睡眠”团队的《以仓颉之码,筑智慧学园——基于仓颉与OpenHarmony的智慧校园协同管控系统实践》。该作品使用仓颉编程语言开发,致力于构建高效、智能的校园协同管控新范式。
更多优秀获奖项目的精彩解读将持续推出,共同展现仓颉语言在多元场景下的创新活力与开发者社区的无限潜力。
珍惜宝贵睡眠:
黄紫妍、韩宗傲、宋瞿律
在数字化浪潮席卷教育行业的今天,智慧校园建设已成为高校提升管理效率、优化师生体验的核心方向。然而,传统校园管理中普遍存在环境监测滞后、设备控制不便、教室状态难感知等痛点,且多数系统依赖国外技术栈,存在安全隐患与适配难题。为此,我们团队以国产化技术为核心,打造了基于仓颉语言与 OpenHarmony 的智慧校园协同管控系统,用自主可控的技术方案破解校园管理痛点,为高校提供高效、安全、智能的管理新范式。
01
团队介绍:分工协作,聚力攻坚
团队由 3名来自软件工程专业的成员组成,秉持 “技术互补、高效协同” 的原则,明确分工如下:
韩宗傲:后端开发:负责整体架构设计、仓颉语言核心业务逻辑开发(含 API 搭建、MQTT 通信、数据库交互),统筹项目进度与技术选型;
宋瞿律:前端开发:专注 OpenHarmony + ArkTS 开发,完成手机 App 与数据大屏的界面设计、数据可视化展示及交互逻辑实现;
韩宗傲:硬件开发:负责传感器(AHT20、JW01)、执行器(空调、风扇、灯光控制器)的选型、部署与调试,保障硬件与后端的通信适配;
黄紫妍:产品经理:调研高校管理需求,梳理功能清单,设计用户交互流程,协调前后端与硬件的协同测试,保障产品落地体验。
02
项目核心
2.1 直击校园管理痛点
-
环境感知被动:传统教室温湿度、CO₂浓度等数据依赖人工巡检,无法实时预警超标情况,影响师生舒适度;
-
设备控制低效:教室空调、灯光等设备需现场操作,存在 “人走灯不灭” 的资源浪费,且无法远程统一管控;
-
状态管理模糊:教室使用状态缺乏实时可视化手段,师生找空闲教室需逐个排查,管理员难以合理调度资源;
-
技术依赖风险:现有系统多采用国外框架与语言,数据安全与自主可控性不足,适配校园场景的灵活性欠缺。
2.2 核心功能,构建全场景智能管控
系统围绕 “环境监测、设备控制、状态感知、安全认证” 四大核心场景,打造闭环式智慧管理体验:
-
智能环境监测:通过 AHT20 温湿度传感器、JW01 CO₂传感器,实时采集教室环境数据(精度达 ±0.3°C / ±2% RH),经后端清洗后以图表形式动态展示趋势;
-
远程设备控制:支持 App 端远程操控空调、风扇、灯光,端到端延迟低于 1 秒,实现精准节能与便捷管理;
-
教室状态智能感知:基于摄像头抓拍与 AI 人脸识别,自动标记教室 “使用中”(红色)或 “空闲”(绿色),同步至大屏与 App;
-
安全认证与个性化体验:支持手机号 + 验证码、人脸识别双登录方式,个人中心可切换主题、留存加密操作记录。
2.3技术栈协同,筑牢实现根基
系统采用 “三层架构 + 全栈国产化技术”,实现从硬件感知到用户交互的全链路高效协同:

核心代码示例(仓颉语言 MQTT 通信实现):
cangjie
import mqtt4cj;
import tea;
// MQTT客户端初始化,连接传感器与执行器
func initMqttClient() -> MqttClient {
let config = MqttConfig{
broker: "tcp://192.168.1.100:1883",
clientId: "cangjie-smart-campus",
username: "campus-admin",
password: "xxx123456"
};
let client = MqttClient.create(config);
client.connect();
// 订阅传感器数据主题
client.subscribe("sensor/environment", Qos.AT_LEAST_ONCE, onEnvironmentDataReceived);
// 订阅教室图像主题
client.subscribe("camera/classroom", Qos.AT_LEAST_ONCE, onClassroomImageReceived);
return client;
}
// 接收环境传感器数据回调函数
func onEnvironmentDataReceived(topic: str, payload: ByteBuf) {
let data = Json.parse(payload.toString()) as EnvironmentData;
// 数据清洗:过滤异常值
if data.temperature > -20 && data.temperature < 60 && data.co2 < 5000 {
// 存入MySQL数据库
db.insert("environment_data", data);
// 推送至前端WebSocket
webSocketServer.broadcast(Json.stringify(data));
}
}
03
项目亮点:创新突破,攻克核心难点
3.1 创新点
-
全栈国产化技术融合:首次实现仓颉语言与 OpenHarmony 的深度协同,后端业务 100% 基于仓颉开发,前端依托 OpenHarmony+arkTS 实现跨设备适配,打破国外技术依赖;
-
端到端低延迟管控:通过 “ArkTS 前端→仓颉后端→MQTT 通信→硬件控制器” 的极简链路设计,设备控制延迟低于 1 秒,远优于行业平均水平;
-
智能状态感知闭环:结合图像压缩编码、AI 人脸检测与仓颉后端调度,实现教室状态 “抓拍 - 识别 - 标记 - 同步” 全自动化;
-
安全与体验双重保障:HTTPS + JWT 认证贯穿全链路,用户数据加密存储,同时支持主题切换、操作记录留存等个性化功能,兼顾安全性与易用性。
3.2核心难点攻克
-
跨层通信一致性难题:不同硬件(传感器、摄像头、执行器)通信协议差异大,通过仓颉语言封装统一的 MQTT 通信抽象层,屏蔽协议差异,实现 “一次开发、多设备适配”;
-
AI 识别与后端协同效率:人脸检测微服务与仓颉后端的跨语言调度存在性能瓶颈,优化方案为 “图像压缩 + 异步调用”—— 摄像头端压缩图像后上传,仓颉后端采用异步线程调用 Python 微服务,避免阻塞主线程;
-
高并发数据处理:面对多教室、多传感器的高频数据上报,通过仓颉 tea 框架的协程模型与连接池设计,支撑 100 + 设备同时连接。
04
代码仓链接
项目开源地址:
https://openatom.tech/cangjiechallenge/d0292ac897db3b62b63b581b46b692b5
包含完整源代码、硬件接线图、部署文档、演示视频等资源,欢迎交流共建!
05
感悟经验:从开发到备赛,3 个实用心得
5.1 技术选型:“适配性” 优先于 “热门度”
项目初期曾考虑使用热门的 Java+Vue 技术栈,但结合 “国产化、低延迟、物联网适配” 需求,最终选择仓颉 + OpenHarmony。实践证明,贴合场景的技术选型能减少后期适配成本 —— 仓颉的内存安全特性降低了后端崩溃风险,OpenHarmony 的跨设备能力让 App 与大屏无需重复开发,这比盲目追求热门技术更高效。
5.2 跨层协同:提前定义 “接口契约” 是关键
硬件、后端、前端分属不同技术领域,初期曾因数据格式、通信时序不一致导致频繁对接问题。后来我们制定了统一的接口契约(如传感器数据 JSON 格式、MQTT 主题命名规则、API 请求 / 响应规范),并编写接口文档,要求各模块严格遵循,后续协同效率提升 60%,减少了无效沟通。
06
总结与展望
本项目以仓颉语言为核心后端引擎,结合 OpenHarmony 前端框架与物联网、AI 技术,构建了一套自主可控、安全高效的智慧校园协同管控系统,成功解决了高校环境监测、设备管理、资源调度等核心痛点。系统的全栈国产化特性的同时,也为智慧校园建设提供了可复用的技术方案。
未来,我们计划进一步拓展功能边界:
-
一是接入更多物联网设备(如智能门锁、投影仪),实现教室全设备协同管控;
-
二是引入 AI 能耗分析算法,根据环境数据与使用情况自动优化设备运行策略,助力校园节能减碳;
-
三是推进与高校现有教务系统的对接,实现 “课程预约 - 教室调度 - 设备准备” 的全流程自动化。
以仓颉之码,筑智慧学园。我们坚信,国产化技术的创新应用,将为教育数字化转型注入更强劲的动力,让智慧校园真正服务于每一位师生。
往期文章:
更多推荐



所有评论(0)