微信小程序智能台灯系统设计研究

时间:2022-06-01 11:27:01

微信小程序智能台灯系统设计研究

摘要:随着我国当前经济的发展,人们的生活水平也不断提升,环境成为我国当前经济发展的重点内容。虽然我国幅员辽阔,林业资源丰富,但是由于过去工业的快速发展,人们对林业资源的忽视,破坏了自然环境。所以,应不断完善工业体系,重点关注环境治理工作,坚持可持续发展的原则,不断加快林业技术的推广建设工作,以期为鉴。

关键词:林业技术;推广体系;策略;价值

科学技术的发展日新月异,人们的生活方式和居住方式随之发生了巨大变化,从有线到无线,从微信聊天到微信小程序(以下简称“小程序”)的使用,使人们紧密联系在一起,极大地改善了生活质量[1]。在越来越注重个人体验的信息化社会,传统家居已经无法满足现代人尤其是年轻人对生活品质的需求,智能家居已经成为居家生活的必要内容。小程序是基于微信平台的一款无需下载、无需安装、节约内存的软件程序,相比于手机原生态APP,小程序具有开发简单、无需复杂的专业知识、开发周期短的特点[2-3]。小程序内部具有丰富的API,方便了小程序的开发,小程序的开发也日臻成熟。尤其是小程序内部的蓝牙API接口,可有效实现手机与蓝牙设备的连接,降低了开发门槛[4-6],扩展了无线蓝牙设备的应用范围。目前,现有的智能家居产品都推出了其自身专用APP,然而受限于手机内APP数量和质量,同时由于手机硬件限制,手机不能安装大量占用内存的APP。因此,可以使用小程序来解决这种矛盾,由于小程序无需占用手机内存的优势,而且可以在移动手机端进行开发,简化了开发流程步骤。目前,小程序软件应用研究较多,而关于小程序控制硬件系统的研究较少。本文设计了基于微信小程序的智能台灯系统,利用小程序与蓝牙相连接发送数据,进而通过8引脚的小尺寸STC15F104W单片机发送程序指令控制台灯的启停变色等,实现了手机软件与家居硬件设备的互联控制。因此,研究本文设计的基于小程序的智能台灯系统具有重要的现实意义和应用价值。

1系统方案设计

本系统选择小尺寸8引脚的STC15F104W单片机作为智能台灯的主控核心,整个系统由STC15F104W单片机、RGB三色LED灯、BLE蓝牙模块、若干上拉电阻和系统供电电源组成。首先,将编译无误的RGB三色LED灯控制程序烧录到STC15F104W单片机中,由于STC15F104W单片机无外部最小系统,大大简化了电路复杂度,提高了使用性;然后,通过低功耗BLE蓝牙模块与单片机和小程序连接,由小程序将程序指令发送给单片机控制RGB灯的亮灭与混色,实现台灯的智能无线控制。系统方案构成框图如图1所示。

2系统硬件设计

2.1STC15F104W单片机

STC15F104W单片机为STC生产的单时钟/机器周期(1T)的芯片,是高速、高可靠、低功耗的新一代8051(8引脚)微型单片机,该单片机最主要的特点是无需外接晶振,内部集成了高精度的RC时钟源[7-9],可通过配置获得振荡频率。内部具有A/D转换、看门狗功能,以及较强的抗干扰能力,由于简化了内部结构,单片机运行速度快,功耗消耗低,可以与51系列单片机兼容并使用Keil编程软件进行开发。

2.2LED灯模块

本文设计的台灯系统采用RGB三色LED灯,由红绿蓝三原色交集成像,可由程序调节不同颜色的混比,实现台灯的光照显示。LED灯模块电路中串联了200Ω电阻作为限流电阻,单片机P3.2、P3.3和P3.4端口分别连接RGB三色LED灯的红绿蓝LED,通过PWM(脉宽调制)的方式进行混色控制及亮度调节,电路图如图2所示。

2.3低功耗

BLE蓝牙模块BLE蓝牙模块使用BT05,具有体积小、使用方便、成本低廉、功耗低的特点,主要功能是:使用BT05蓝牙接收来自手机小程序发来的数据,然后把接收到的数据通过UART口传给单片机,进而实现台灯的无线控制。单片机将数据发送给BLE蓝牙模块时,无需其他协议,BLE蓝牙模块可以直接将数据传送至RGB三色LED灯,操作简便快捷。STC15F104W单片机的RXD脚与BLE蓝牙模块的TXD脚连接,BLE蓝牙模块的RXD脚与单片机TXD脚连接,进行数据传输,BLE蓝牙模块电路图如图3所示。

3系统软件开发

系统软件主要由两部分组成:单片机C语言开发环境KeilμVision5和小程序。微信小程序是一种不需要下载安装就能够使用的程序,用户通过二维码扫一扫便可直接打开应用。经过多年发展,小程序生态环境已经初步构建,形成了超百万的小程序开发者规模。小程序开发设计流程图如图4所示。当手机蓝牙打开之后,与相关蓝牙设备进行连接,此时若接收到反馈数据,则执行反馈命令,进行下一步操作,同时,可以更新状态,并发送指令。

3.1小程序开发步骤

3.1.1注册账号首先需要注册小程序账号,访问地址,选择“小程序”,按要求填写相关信息即可完成小程序的注册,如图5所示。3.1.2获取小程序AppID可在网站的“设置”-“开发者设置”中,查看小程序的AppID,如图6所示。3.1.3下载小程序开发者工具并创建demo项目下载全新的开发者工具,该工具集成了开发调试、代码编辑及程序等功能。项目创建成功后,点击该项目进入可以看到完整的开发者工具界面,点击左侧导航,在“编辑”里可以查看和编辑代码,在“调试”里可以测试代码并模拟小程序在微信客户端的效果,在“项目”里可以发送到手机里预览实际效果,如图7所示。3.1.4手机预览如图8所示,点击开发者工具左侧菜单栏的“项目”,然后点“预览”,微信扫描二维码之后即可在微信客户端中实际体验。3.1.5代码上传与在开发者工具左侧菜单栏中选择“项目”,点击“上传”即可将代码上传到小程序服务器。之后,登录微信公众平台并访问小程序首页,按要求填写相关信息并,即可提交审核。

3.2BLE蓝牙模块连接小程序步骤

在小程序中,提供了18个蓝牙api接口,本文主要使用以下接口:openBluetoothAdapter()//用于开启和初始化蓝牙;getBluetoothAdapterState()//用于检查蓝牙是否开启;startBluetoothDevicesDiscovery()//用于开始设备搜索并当发现一个设备后会触发onBlueDeviceFound()事件;creatBLEConnection()//用于搜索到设备后连接设备;getBLEDeviceService()//用于连接成功后根据目标服务ID找到指定的服务ID;onBLECharacteristicValueChange()//用于监听数据变化。接下来将详细阐述BLE蓝牙模块与小程序的连接步骤:1)蓝牙初始化。首先要初始化蓝牙:openBluetoothAdapter(),如图9所示。2)检查与搜索蓝牙,如图10所示。3)获取与连接蓝牙设备。开始连接设备后,匹配到的蓝牙设备ID发送连接蓝牙的请求,连接成功之后,应该断开蓝牙搜索的api,然后获取所连接蓝牙设备的service服务。4)获取蓝牙设备服务。获取的serviceId有多个,要试着连接最终确定哪个是稳定版本的service,获取服务后获取设备特征值,便可启动notify蓝牙监听功能,然后使用wx.onBLECharacteristicValueChange用来监听蓝牙设备传递数据,接收数据和发送数据必须是二进制数据。小程序最终开发界面如图11所示。

4测试

硬件与软件调试完成后,进行智能台灯的RGB三色LED灯测试,如图12所示。可以在一定距离内通过手机小程序对RGB灯各种颜色进行无线调试,低功耗BLE蓝牙模块接收及发送数据正常,实现了预期目标。

5结束语

随着国家经济的迅速发展,现代化、信息化、智能化正逐步影响着人们的日常生活,智能家居作为与人们生活息息相关的一种便利技术,方便了人们的衣食住行,提高了居家舒适度。本文设计了一款基于微信小程序的智能台灯系统,利用BLE蓝牙模块将小程序和STC15F104W单片机连接,小程序可经由蓝牙模块控制台灯,实现了手机与家具硬件设备的互联控制。该系统为小程序的软硬件结合控制提供了良好的借鉴,未来将对智能台灯与人体坐姿感应报警以及明暗光线自适应调节进行研究,以期进一步丰富小程序控制硬件系统案例。

作者:安章顺 迟明路 刘荣升 汤世哲 单位:中铁十一局集团第三工程有限公司