作品背景

随着互联网技术的不断发展,在当今社会有越来越多的智能项目走进了我们的日常生活中,而如此便于我们生活的智能应用同时也走进了校园。该项目旨在建立一个基于OpenHarmony的智能教室,提供先进的技术和智能设备,改善学习环境,同时提升教学质量和效率,为学生和教师创造创新、互动和舒适的学习环境

【木棉花】基于openharmony的智能教室_物联网

【木棉花】基于openharmony的智能教室_物联网_02

【木棉花】基于openharmony的智能教室_木棉花_03

【木棉花】基于openharmony的智能教室_物联网_04


【木棉花】基于openharmony的智能教室_木棉花_05

【木棉花】基于openharmony的智能教室_木棉花_06

功能特点

智能教室产品包含五个模块:智能风扇模块智能烟雾检测模块智能可燃气检测模块智能闹钟模块智能温湿度检测模块; 

四个模块中有六种输入型外设:按钮、SHT30温湿度传感器、ADC烟雾检测、ADC可燃气检测、红外线检测、WIFI模组

五种输出型外设:OLED显示屏、LED灯、蜂鸣器、PWM电机、type-c串口输出

(1) 智能风扇模块:        

- 可在教室通过红外线智能感应打开并调档智能风扇;     

- 可以通过华为云远程下发命令,打开/关闭并调档位风扇;

- 可以通过按钮开关灯;

(2) 智能烟雾检测模块:可通过WiFi通讯将室内烟雾浓度数据上传到华为云IoT平台,在远端实时监控教室烟雾浓度,当浓度超过警报阈值的时候便会拉起蜂鸣器警报,同时,教室的烟雾浓度会实时显示到OLED显示屏上;    

(3) 智能可燃气检测模块:可通过WiFi通讯将室内可燃气浓度数据上传到华为云IoT平台,在远端实时监控教室可燃气浓度,当浓度超过警报阈值的时候便会拉起蜂鸣器警报,同时,教室的可燃气浓度会实时显示到OLED显示屏上;

(4) 智能闹钟模块:可通过华为云下发延时指令,让蜂鸣器响起,以此充当闹钟作用,为学生设置学习和休息提醒,努力学习的同时还要学会休息,劳逸结合;

(5智能温湿度检测模块:可通过WiFi通讯将温湿度数据上传到华为云IoT平台,并将温湿度数据实时显示到OLED显示屏中。

开发板

【木棉花】基于openharmony的智能教室_物联网_07

智能风扇板

【木棉花】基于openharmony的智能教室_木棉花_08

烟雾检测板

【木棉花】基于openharmony的智能教室_木棉花_09

可燃气检测板

设计思路

【木棉花】基于openharmony的智能教室_物联网_10

软硬件工具

1)软件工具:Docker开发环境、基于虚拟机 VirtualBox的Ubuntu开发环境、VScode、华为ioT平台;  

2)硬件工具:启航KP_IOT开发板底板、智能风扇板、烟雾检测板、可燃气检测板; 

软件框架

app/SmartClassroom
├─A-SCREENSHOTS			//文档图片
│ 
├─HARDWARE_DRIVE_INCLUDING	//硬件驱动的可导入接口集
│ 
├─HARDWARE_DRIVE_SOURCE		//硬件驱动的源代码 
|
├─MQTT_CORRESPONDENCE_INCLUDING	   //MQTT通讯的可导入接口
│ 
├─MQTT_CORRESPONDENCE_SOURCE	       //MQTT通讯的源代码
│ 
└─UTILS        //实用工具集 
│ 
└─WIFI_CONNECTING_INCLUDING      // WIFI¬通讯的可导入接口
│ 
└─WIFI_CONNECTING_SOURCE         // WIFI通讯的源代码
│ 
└─main_thread.c        //固件的主线程代码
│ 
└─BUILD.gn

关键代码切片

智能教室物联网产品的主线程

【木棉花】基于openharmony的智能教室_物联网_11

【木棉花】基于openharmony的智能教室_物联网_12

基于MQTT通讯的云端下发控制指令回调函数

【木棉花】基于openharmony的智能教室_物联网_13

【木棉花】基于openharmony的智能教室_木棉花_14

【木棉花】基于openharmony的智能教室_物联网_15

【木棉花】基于openharmony的智能教室_物联网_16

【木棉花】基于openharmony的智能教室_物联网_17

【木棉花】基于openharmony的智能教室_物联网_18

屏幕驱动的GUI线程

开机动画

【木棉花】基于openharmony的智能教室_木棉花_19

联网动画

【木棉花】基于openharmony的智能教室_物联网_20

温湿度数据面板

【木棉花】基于openharmony的智能教室_木棉花_21

烟雾数据面板

【木棉花】基于openharmony的智能教室_物联网_22

可燃气数据面板

【木棉花】基于openharmony的智能教室_木棉花_23

本文作者:木棉花_小蓝

想了解更多关于鸿蒙的内容,请访问:

51CTO鸿蒙开发者社区

https://ost.51cto.com/#bkwz