基于阿里云生活物联网平台的智能台灯设计
设置好阿里云的自动转入功能 #生活技巧# #生活小窍门# #个人理财小建议# #互联网理财平台#
张艳萍
(海南省技师学院,海南海口,571100)
0 引言
随着科技的发展,物联网技术也快速渗入到日常生活的方方面面,台灯是人们居家生活常见的一个简单家电,本次设计就是将物联网技术应用于日常家用的台灯,使其更加方便和智能。
1 系统总体方案
■1.1 功能介绍
本次设计的智能台灯功能简单,旨在通过阿里云生活物联网平台让台灯实现远程控制,是一个小的物联网系统的构建,具体功能如下:
(1)传统的手动开关控制,通过一个按钮开关来控制台灯的亮和灭。
(2)远程开关控制,利用智能手机通过云智能APP 控制界面实现对台灯的远程状态监控和远程开关控制,可实现进屋前开灯,从而避免摸黑开灯,同时通过APP 可看到灯状态并对其远程开关控制,从而避免长明灯造成的资源浪费。
(3)在台灯底座上的液晶显示屏可显示年月日、星期、时间及环境温度,满足人们对于这些常用信息的方便获得的需求,且年月日、星期和时间可调。
系统构成框图如图1所示。
图1 系统构成图
■1.2 工作原理
该智能台灯设计以单片机模块为主控模块,实时从时钟模块DS3231 读取年月日及时间信息,从温度传感器DS18B20 读取温度数据,并将这些信息依次显示在液晶显示屏上,同时对按键开关状态进行扫描,当扫描到按键开关有动作时,输出信号控制LED 灯状态取反。同时,单片机会实时将LED 灯的状态和从温度传感器采集的温度信息通过串口发送给WiFi 模块,WiFi 模块再将信息通过WiFi 发送出去,经过阿里云及其他网络传送,智能手机通过云智能APP 搜索连接WiFi 模块所对应的设备,即可在手机界面显示LED 灯的状态及温度信息。同时,当通过点击手机界面的LED 灯开关,智能手机将信号发出,通过网络、阿里云、WiFi,由WiFi 模块接收,WiFi 模块再将信号通过串口传递给单片机,单片机接收识别后,发出信号控制LED 灯的亮灭。
2 硬件设计
■2.1 硬件选择
(1)主控模块:选用51 单片机最小系统开发板,IO口引出,P0口上拉电阻,符合本次设计需求,单片机选用STC12C5A60S2(5V 单片机)。
(2)通讯模块:选用Nodemcu 开发板,该开发板配备乐鑫ESP8266 WiFi 模组,3.3V 供电,自带CH340,支持C 语言开发,且该模块是阿里云生活物联网平台认证模组,可以直接连接云端,符合本次设计需求。
(3)电源模块:根据整个系统所有的模块的供电需求,选用了两块电源转换模块,分别是AC-DC 12V/1A 和DC(12V)-DC(3.3V、5V),两块连接使用,用于给单片机、WiFi 模块、时钟模块、液晶显示屏、LED 灯等提供稳定的3.3V、5V、12V 直流电源。
(4)按键模块:选用普通轻触按键开关。
(5)显示模块:选用LCD12864 液晶屏,带中文字库,5V 直流供电,具有4位/8位并行、2 线或3 线串行多种接口方式。可显示8X4 行(32个)汉字。本设计中将模块设置为8位并行接口方式。
(6)时钟模块:选用DS3231时钟模块,其在-40 ℃~+85 ℃温度范围内,计时精度保持在±5ppm,自带为连续计时提供的电池备份,低功耗,时钟日历功能包括秒、分、时、星期、日、月和年计时,+2.3V~+5.5V 电源电压。根据本设计需求,采用5V 供电,主要实现对该时钟模块进行日历时间信息的设置和获取。
(7)温度传感器:由于DS3231 时钟模块中自带的数字温度传感器精度为±3℃,不太适合用于家庭及办公环境温度的检测,所以选择了更常用的数字温度传感器DS18B20,其精度高,且具有体积小,抗干扰能力强的特点,同时具有独特的单线接口方式,在与单片机连接时仅需要一条口线即可实现单片机DS18B20的双向通讯。
(8)LED 灯:选用普通LED 灯,12V 供电。
■2.2 硬件电路设计
该设计使用到的外围设备不多,单片机I/O口相对充足,除了 外部中 断0,K1 按键要接P3.2口,ES8266 模块与单片机通过串口通讯需接P1.2 和P1.3口(也可使用P3.0 和P3.1口)外,其他外设如按键、DS3231 时钟模块、DS18B20 模块及12864 液晶屏等可根据画图线路布局等需求分配I/O口,具体系统接线图如图2所示。
图2 系统接线图
3 软件设计
■3.1 阿里云生活物联网平台产品设计
阿里云生活物联网平台是一款针对智能生活领域的物联网云平台。在阿里云的IaaS 和PaaS 层云产品的基础上,搭建了一套完整的、更贴近智能家电领域的公有云平台。它是一个提供可开发、易调试、更好运维及方便管理等功能的智能IoT 设备开发管理平台,为开发者提供了设备接入能力、移动端的软件工具开发包以及免开发的云智能App 和界面,更适用于消费级的智能设备开发者,开发门槛较低,可以快速实现消费级设备的智能化,如智能家电、穿戴、家装领域等,与我们的设计需求符合。
具体操作是在阿里云生活物联网平台创建项目,新建产品,根据实际需要对产品进行设计,其中包括进行功能定义、人机交互设计(此处使用公版APP 控制产品,即使用阿里云生活物联网平台提供的免开发云智能APP 控制产品,APP 控制界面可根据自行需要进行设计)、设备调试和产品发布。此操作的目的是为我们的智能台灯设计一个与之匹配的物联网产品,并会得到与我们的智能台灯匹配的设备证书( 包 括ProductKey、DeviceName、DeviceSecret) 和ProductSecret,将设备证书和ProductSecret 烧录到智能台灯的WiFi 模块后,WiFi 模块便可通过联网接入阿里云生活物联网平台,我们就可以通过智能手机上的云智能APP搜索到在阿里云生活物联网平台上创建的产品名称相同的设备,添加设备后,即可通过在阿里云生活物联网平台上产品设计过程中设计的人机交互界面与WiFi 模块进行通信,如可看到WiFi 模块发送过来的LED的状态及温度信息等,也可通过点击界面的LED 灯开关按钮,将开或关灯的指令通过网络发送给WiFi 模块。
■3.2 云智能APP 下载、安装、使用
云智能APP 是阿里云生活物联网平台提供的一款免开发智能家居控制软件,与我们在阿里云生活物联网平台上创建的产品配合使用,通过云智能APP,可以便捷地添加我们设计的台灯,实现对台灯的远程控制,还可以共享设备,使所有家庭成员对台灯实现控制。
■3.3 单片机控制程序设计思路及流程图
3.3.1 DS3231 时间调整功能实现
时钟的走时和调整状态由外部中断实现转换,使用外部中断0,由按下开关K1 实现中断,硬件上开关K1 接在P3.2口,程序中设置一个走时/调整状态标志位,每次按下开关K1,取反走时/调整状态标志位,从而达到走时和调整两种状态的转换。当需要调整时,按下K1,进入调整状态,K2实现调整对象的选择,即选择调整年月日、星期、时分秒,K3 键实现加1 调整,调整后结果放入对应缓冲变量,调整结束后再按K1 键改变走时/调整状态标志位进入走时状态。
3.3.2 串口通讯部分功能实现
串口通讯部分程序主要包括数据接收部分和数据发送部分。其中数据接收部分采用定时器0 中断,每100μs 判断串口是否有数据接收,如果有数据在数据接收完毕后,将数据接收完毕标志位置1,用于云端下控部分程序,在该部分程序中,当数据接收完毕标志位为1 时,对接收数据进行识别,并控制灯的亮灭。
3.3.3 按键扫描(灯硬件开关K 扫描)
按键扫描部分是对按键K 状态进行扫描,按键K 是台灯硬件开关,该部分程序也使用定时器0 中断,每100μs扫描一次,若按键按下,则控制灯改变状态,并通过串口上传灯状态信息。
3.3.4 主程序功能思路
主程序中通过判断走时/调整状态标志位进入相应的程序,当为走时状态时,则依次读取时间信息、温度信息并显示在12864 液晶屏上,同时扫描按键K 控制灯的亮灭,并通过串口上传灯的状态和温度信息。当为调整状态时,进入调整程序,并将调整结果存入对应缓冲变量,然后再对走时/调整状态标志位进行判断,直至调整结束再次按下K1键改变走时/调整状态标志位进入走时状态,在调整状态时,显示屏走时停止,温度值不变,串口不上发信息,对于串口接收信息也不处理等,直至进入走时状态。
流程图如图3所示。
图3
4 系统功能调试
■4.1 时钟功能和12864 液晶屏显示功能调试
该部分功能包括年月日时分秒信息读取、温度读取、年月日时分秒及温度显示在液晶屏上,同时可通过按键调整年月日时分秒信息。
此部分功能测试时,使用的硬件分别是KST-51 开发板、DS3231 时钟模块、KST-51 开发板上的DS18B20、以及12864 液晶屏,KST-51 开发板上虽然不带12864 液晶屏,但预留了12864 液晶屏扩展端口,使用较方便,从图4 可见,液晶屏按设计要求正确显示年月日、星期、时间及温度信息,且年月日信息已调整至实际调试日期,可见该部分功能完整实现。
图4
图5
■4.2 通讯功能测试
该部分功能包括温度读取、按键对灯的控制、温度信息和灯实时状态信息上传手机、手机对灯的控制等。
首先测试单片机上传给WiFi 模块的信息是否正确,这部分功能我们主要通过STC-ISP 烧录软件中的串口助手监测单片机通过串口上传的信息,看当按下按键开关K和触摸DS18B20 改变温度时单片机通过串口上传信息是否及时更新。如图4所示,是对功能测试的部分数据截图,从数据可见,当台灯开关按键K 有动作时,上传信息PowerSwitch_1的值从1 变化到0,当用手触摸DS18B20 时,上传的温度信息,即ctemp的值有上升变化,说明单片机上传给WiFi 模块的信息会根据实际情况,实时更新。
其次测试WiFi 模块能否正常发送信息,同时手机通过云智能APP 是否能接收并正确显示信息。如图6所示,在连接上WiFi 模块,并且在WiFi 模块联网成功后,手机通过云智能APP 可以搜索到该设备并正确显示信息,灯的状态为打开,当前温度为26℃,同时在此部分功能测试时,用开发板上的LED 灯代替设计中的台灯测试功能,图6 中可见LED 灯亮,与手机APP 界面显示灯状态一致。
图6
本文由 @ 修订发布于 2024-06-12 14:54:38
本文来自网络,不代表本站立场。如有不愿意被转载的情况,请联系我们。
网址:基于阿里云生活物联网平台的智能台灯设计 https://www.yuejiaxmz.com/news/view/562101
相关内容
基于阿里云物联网平台基于机智云物联网平台的智能家居控制系统设计
阿里云物联网平台学习(二)之场景联动
阿里生活物联网平台
EMW3080 STC15轻松实现设备上云3(阿里云物联网平台、智能生活开放平台)
(三)基于vue3的网页设备连接阿里云生活物联网平台/物联网平台(附代码)
佛山照明全面接入阿里云智能生活物联网平台 年产200万台智能设备
【阿里云生活物联网架构师专题 ⑦】阿里云物联网平台的网关
使用ESP8266(基于官方SDK)接入阿里云物联网平台
(一)2024阿里云生活物联网平台的设备搭建