当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘 要:为解决现有系统无法远程控制和根据现场情况自动调节灯光亮度等问题,文中设计了一个单片机控制系统、Web 服务器、Android客户端三位一体的智能照明控制系统。系统以STM32F103单片机为核心,利用Android手机和Web服务器进行远程控制,可随时随地通过手机App对室内或楼宇的灯光进行远程操控,实现定时开关灯、无极调光、红外感应控制、智能节能调光、多节点自由控制等功能,非常适合移动终端的远程控制和自动调节灯光的场合。

引 言

独立的照明控制已经发展成熟,但很多时候使用者无法准确根据情况设置控制参数。如果照明系统的使用环境情况多变,仅仅靠非专业的使用者来调节控制,则无法达到最佳的使用效果。而且任何控制都要在现场进行,非常不方便。在物联网环境下,使用者可以利用远程移动和通信设备通过互联网对室内照明设施进行监控和控制,通过传感器及微处理控制系统,使物联网的照明系统能够 感知 环境,并根据外界情况的变化做出相应调整,为用户提供方便高效的服务。

本文以设计智能照明系统为目标,结合时下最流行的物联网开发思路,将灯光的操控不局限于本地,设计了一个单片机控制系统、Web 服务器、Android 客户端三位一体的智能照明控制系统。采用C 语言和Java 语言分别编写单片机应用程序、App 程序和服务器端程序,通过安卓移动设备达到远程控制室内LED 灯的开关、亮度以及智能调光等目的。

1 系统设计

1.1 系统架构设计

该系统是一个可远程遥控室内灯光智能动作的控制系统,主要包含了控制系统和通信系统两大部分。通信系统采用WiFi 模块与服务器建立TCP 链接后,通过HTTP 协议来完成单片机和服务器的信息交互。安卓客户端也通过HTTP 协议和服务器进行信息交互,通过服务器将安卓客户端的请求间接转向单片机,单片机再将获得的数据解析后生成相应的指令进行动作。

路由器建立一个WiFi 热点, 单片机端的WiFi 模块以STATION 模式接入该热点,Tomcat 服务器搭在本机电脑也接入该热点。为了保证通信安全,网络采用WPA2 加密方式。

当路由器通过家庭宽带连接上Internet,并在云端发布服务器程序后,手机客户端可以直接通过本机的GPRS 网络访问单片机客户端,不需要连接局域网的WiFi 热点。本系统的设计总架构图如图 1 所示。

基于WiFi和移动终端的智能照明控制系统设计

图 1 室内LED 智能照明系统总体架构图

1.2 系统总体设计

系统以 ARM 单片机 STM32F103ZET6 作为本系统的主控芯片,单片机通过串口 WiFi 接收到了服务器的响应信息后, 通过内置DMA 转存到内存当中,CPU 再将内存中的数据取出并解析为对应的控制指令和数据信息,将手机传递过来的数据和单片机读取到的本地实时时间数据都显示到OLED 屏上,单片机通过判断动作指令来决定是否开灯关灯以及调光。当检测到有开启智能模式的指令后,则启动光照传感器,读取当前的照度信息,根据照度信息控制PWM 调光驱动输出当前所需要的室内灯光亮度。红外检测电路则通过一个S8050 三极管构成放大电路将红外模块的输出信号进行放大后输出到继电器模块,通过继电器模块的吸合与断开来控制当前灯光的亮灭。本系统由STM32 单片机模块、DS1302 实时时钟模块、OLED12864 液晶显示模块、BH1750FVI 数字光照传感器模块、HC-SR501 人体红外模块、PWM 调光驱动模块和ESP8266WIFI 模块组成。系统总设计框图如图 2 所示。

基于WiFi和移动终端的智能照明控制系统设计

2 系统软件设计

本系统软件方面的设计主要为单片机主控端的程序设计、服务器端的程序设计和Android 手机应用程序设计。为了使单片机、服务器、Android 客户端的数据通信一致,采用自定义通信的协议,该数据帧一共由14 位数字字符组成,其通信格式如图 3 所示。

基于WiFi和移动终端的智能照明控制系统设计


bit0/bit2:灯 1/2的开或关, 0代表关, 1代表开;

bit1/bit3:灯1/2 的调光值,范围为09,对应单片机的PWM值为该数值比例系数;

bit4-bit7/bit8-bit11:表示灯光开启 /关闭的时间(小时:分钟);

bit12/bit13:表示智能模式 /定时模式的开或关, 0代表关, 1 代表开。

2.1 单片机程序设计

单片机先初始化各模块,然后以 500 ms 间隔发送HTTP 请求,将服务器响应的数据经WiFi 串口接收,再通过DMA 转存到内存中。单片机通过读取对应位置的内存数据即可解析到相应模块的控制指令,进入不同的设置状态。单片机主 程序流程如图 4 所示。


2.2 服务器程序设计

本设计的服务器程序中主要包括了两个 Servlet,分别 为 ControlServlet 和 ProviderServlet。ControlServlet 服 务 程 序用来接收 Android 客户端的 HTTP 请求,ProviderServlet 服务程序用来接收单片机的 HTTP 请求。服务器响应过程 图如图 5 所示。首先当单片机和 Android 客户端与服务器建 立 TCP 连接后,会发送 HTTP 请求到服务器,二者请求的 URL 地址以及参数都不一样。服务器一直处于等待状态,当 ControlServlet 接收到来自 Android 客户端的 GET 请求后,服 务器会通过 ControlServlet 来读取 GET 参数,然后将参数 存放到 ServletContext 域中,当单片机同样发出 GET 请求到 ProviderServlet 后,服务器则会将 ServletContext 域中的数据 作为响应参数发回给单片机。

基于WiFi和移动终端的智能照明控制系统设计


基于WiFi和移动终端的智能照明控制系统设计

2.3 Android 程序设计


本文设计的 Android 客户端主要采用 Activity 组件。通 过自定义协议将用户设置的参数信息封装成字符串数据,最终 将其拼接在 URL 地址后,形式如 :192.168.1.100:8080/demo/ Control Provider?controlMessage=“11111111111111”, 具 体 程 序流程如图 6 所示。

基于WiFi和移动终端的智能照明控制系统设计


启动了App 后,会进入动画界面,同时会对用户的控制界面进行布局加载,加载完成后就会出现各种控件,并且为控件都设置了监听事件,当用户点击了相应的控件后,便会触发一次事件,在该事件中,将会完成对控制指令的封装,封装完成后作为URL 参数以GET 的方式发送HTTP 请求给服务器。

3 系统测试

基于WiFi和移动终端的智能照明控制系统设计


根据 App 的设置,可以在 OLED 屏幕上同步看到设置的 信息数据,说明安卓 App 已经成功控制了照明系统。这里设 置了开启的时间为 15:37,关闭的时间为 16:22,等待观察,系 统确实在设定时间将 LED 灯开启与关闭,其实物图与界面图 如图 7 所示。开启智能模式后,模型里 LED 的灯光亮度会随 着当前室外的灯光变化而变化,当室外灯光较亮时,室内灯光 的亮度则会阶梯降低,节约电能,其实物演示图如图 8 所示。


结 语

本文完成了一个可远程遥控室内灯光智能动作的控制系统,包括完整的硬件和软件系统。硬件系统是基于一个一房一厅的灯光控制模型,有两套单片机客户控制终端;软件系统则实现了各类数据通信和控制功能,主要包括:

(1) 单片机主控端的控制软件 ;

(2) 服务器端的控制软件;

(3) Android手机应用软件等。

通过实物演示和检测,该作品完成了初设的各项功能指标,使用方便,为生活提供了便利,改善了环境质量,有待进一步研发和推广。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭