打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
基于WiFi的智能LED照明控制系统的设计

引言

随着互联网技术的不断发展,智能家居的出现为人们享受生活提供了一个广阔的平台。无线传输技术被广泛应用到具有远程控制功能的智能LED照明系统中,通过手机APP远程控制终端设备的应用越来越多。目前,主流的无线传输技术主要有NRF905或者NRF2401等短距离无线通信、Zigbee技术、蓝牙、GSM和WiFi等。WiFi技术具有速度快、可靠性高的特点,可以方便组建网络,对于普通的家庭照明控制,它是实现无线智能照明系统的较好的解决方案[1,2]。设计一个基于WiFi的智能LED照明控制系统,实现移动终端远程控制智能家居中的LED灯,具有很好的市场应用价值。

1 系统设计

系统设计主要分为三个部分:手机客户端、服务器和基于WiFi的无线模块客户端。

1)手机客户端:编写一个手机APP程序,通过TCP/IP协议连接到Internet网络;设计UI界面,设计人性化交互操作界面,通过APP程序发送数据给服务器。

2)服务器:接收手机客户端发送来的数据,对发送来的数据进行存储,然后将手机客户端发送来的数据发送给基于WiFi的无线模块客户端。

3)基于WiFi的无线模块客户端:根据设计要求,基于WiFi的无线模块选用HF-LPB100WiFi模块,采用Cortex-M3内核的ARM作为主控芯片,控制WiFi模块。通过TCP/IP协议连接服务器,然后接收手机客户端发送来的数据,识别后通过控制继电器来实现控制LED的通断、色度和亮度[3],系统总体设计如图1所示。

图1 系统框图

Fig.1 Diagram of system block

2 硬件电路设计

1)LED电路。为了实现LED的色度控制,选用RGB红绿蓝七彩色LED灯珠,控制器的P2口接地控制所有LED的通断,P1口控制蓝色LED,P3口控制绿色LED,P4口控制红色LED。通过P1、P3和P4三原色合成七种颜色,设计中通过一个GPIO和三个PWM可实现控制整个LED输出不同的颜色和亮度。

正常情况下,水利工程建设的施工场地都是现场情况比较复杂,这就很可能在施工过程中由于地质情况复杂而出现一些安全事故,这些事故的出现容易影响施工的正常进展,并且极有可能使工程的质量出现一定的问题。在水利工程进行施工的过程中出现安全事故的原因除了自然因素之外,还有可能因为人为的行为引发。这些人为因素主要有以下几个方面:施工过程中的监管不到位,施工所使用的测量设施落后,施工人员的安全意识不足,施工材料质量达不到施工要求便投入使用,施工设施不齐全加大施工难度等。[1]这些问题的出现都有可能使水利工程出现极为严重的安全问题,一旦安全事故发生,常常会使人员出现伤亡和施工单位出现经济损失。

2)USB转UART电路。为了调试方便,调试时将数据收发通过串口调试助手进行测试,选用FT232实现USB到串口UART接口的转换,图2所示为USB转UART的电原理图。

本文通过建立钢筋混凝土空心墩纤维有限元模型[13],对空心墩延性变形能力进行参数分析,分别讨论纵筋配筋率、壁厚、混凝土强度、轴压比等因素对空心墩延性影响[12]。现总结如下:

3)HF-LPB100电路。WiFi模块采用HF-LPB100模块,HF-LPB100集成802.11b/g/n,单片机控制装置很容易接入WiFi无线网络,实现物联网控制与管理。HF-LPB100尺寸仅23.1 mm×32.8 mm×2.7 mm,配备了一个内置PCB天线、外置天线连接器。HF-LPB100的无线模块可以配置成一个无线STA(即无线站点,是一个无线网络的终端),也可以配置成AP(无线接入点,是一个无线网络的中心节点)。HF-LPB100模块支持串口透明传输模式,实现串口即插即用,仅需要配置必要的参数,上电后模块自动连接到默认的无线网络和服务器[4,5]

图2 USB转UART电原理图

Fig.2 Electrical schematic diagram of USB to UART

设计中,模块采用3.3 V供电,通过ARM普通的GPIO控制口作为输入输出,SPI接口用于Jlink下载程序调试,PWM输出不同占空比的脉冲,HF-LPB100电原理图如图3所示。

酒店服务业市场的持续开拓发展,酒店管理专业迈向“专业化、国际化、企业化”的趋势都在激励着酒管专业试行新的人才培养模式以顺应市场。基于双证融通双相融合下的现代学徒制在试点过程中取得了不错的成果,为酒店业乃至社会培养了一批精英人才,同时也为培养体系探明了一条可行之路。还需要不断总结经验,分析当前现代学徒制面临的困难,不断探索完善现代学徒制,为高职院校人才的培育提供支持。

图3 HF-LPB100电原理图

Fig.3 Schematic diagram of HF-LPB100

3 软件设计

软件设计分为三个部分:HF-LPB100模块客户端软件设计,手机客户端的Android软件设计和服务器软件设计。具体实现是通过HF-LPB100客户端发送LED的属性状态给服务器,服务器接收后保存并转发给Android客户端,Android客户端发送控制信号给服务器,并转发给Hf-LPB100模块客户端,客户端接收到数据后识别控制LED的通断、色度和亮度。

3.1 系统编译和调试环境

HF-LPB100模块客户端软件设计采用KEIL MDK开发工具,包括μVision4集成开发环境和RealView编译器,支持ARM7、ARM9和Cortex-M3/M1/M0内核处理器,有处理器自动配置启动代码,集成了Flash烧写模块,Simulation设备模拟功能和性能分析功能。手机客户端的Android软件设计采用开源性的Eclipse,基于Java的集成开发平台。Eclipse提供了一套标准的插件给开发者,包括Java开发工具。服务器软件设计采用VC++6.0,基于Windows操作系统的可视化集成开发环境[6]

水力压裂技术产生的裂缝长度通常可达100 m,宽度和长度分别为0.01 m和1 m。为了对油层进行分布式测量,微纳传感节点混在携砂液中(含石英砂)随压裂进程进入裂缝,其在裂缝中的位置因而是随机分布的[4]。体积和功率较大的锚节点通常布置于井筒内部,由外部电源供电,可直接与裂缝内的传感器节点进行磁感应通信,锚节点同时通过磁感应方式为传感节点提供电能;微纳尺寸的传感器节点具有全向线圈天线,同时配置超级电容器储存耦合电能。考虑到供电及传感器通信能力等因素,在面向油藏裂缝的地下无线传感网络中,锚节点和传感节点之间通信(下行链路)是单跳方式,传感节点与锚节点之间通信(上行链路)采用多跳方式[5]。

调试软件采用SecureCRT和SocketTool。SecureCRT支持SSH,包括SSH1和SSH2终端仿真程序,可以登录UNIX或Linux服务器主机,登录后可以远程操作服务器主机,同时支持Telnet和Rlogin协议。SocketTool调试软件是一个可以进行网络的TCP/UDP通信调试工具,集成了TCP的服务器/客户端,和UDP的服务器/客户端,以及UDP广播/组播,可以建立服务器或者客户端,支持发送和接收十六进制的显示,支持汉字以及发送[7-10]

3.2 HF-LPB100模块客户端软件设计

HF-LPB100模块客户端软件设计思路是:SDK先连接服务器,监听是否有客户端连接服务器,如果有客户端连接服务器,服务器告知SDK有客户端连接了服务器,这时SDK将采集的LED的通断状态,LED的色度值和亮度值发送给服务器器,由服务器发送给Android客户端,Android客户端收到SDK发放回来的数据,进行分离识别处理后,把LED的通断状态在按键上显示,把色度值在滑动条上显示,把亮度值在滑动条上显示,控制完毕后,关闭软件,等待下一次在打开软件时,上一次控制保留的数据会显示在Android手机上[11-14]。图4所示为HF-LPB100模块软件设计流程图,判断HF-LPB100模块客户端是否连接网络,连接后发送LED的状态,进入阻塞式等待状态,当接收到数据时,识别并判断发送来的数据是控制通断的还是控制色度亮度的,实现远程控制。

图4 HF-LPB100模块软件设计流程图

Fig.4 Flow chart of software design for HF-LPB100 module

3.3 手机客户端Android软件设计

手机客户端Android软件主要是菜单设计,菜单包括首页、通断、色度、亮度和帮助。首页中添加一个按键,按键监听器监听是否按键按下,将结果发送给服务器,实现远程控制;通断中放置一个连接服务器按钮和六个按键,连接服务器按钮第一次按下后,会自动连接服务器,六个按键对应六组LED,分别设置LED的应用场景为:客厅、卧室、阳台、厨房、卫生间和餐厅,通过按键控制对应的LED通断,为了人机交互人性化,当LED打开时,按键会切换亮LED图片,使用户可以通过图片示意,清楚地看出LED的通断,另外设置了一个设置按钮,用于对IP和端口号存储,输入IP和端口号后,点击保存按钮,下次再进入后就不用再修改IP和端口号,直接可以点击连接服务器按钮,方便使用;色度中放的是六个滑动条,通过触摸滚动滑动条可以调节LED的色度;亮度中放的是六个滑动条,通过触摸滚动滑动条可以调节LED的亮度;滑动条的值是0~100,滑动条监听器用于监听滑动时间,每次滑动停止将数据发送给服务器;帮助菜单是APP的使用说明,点击按钮,读取指定位置的txt文件,显示在屏幕上。系统开始工作时,服务器先要发送客户端LED的通断状态和LED的色度、亮度,手机接收到服务器发送来的数据,进行分析处理,并初始化LED的通断按钮的状态和滑动条的初始化值,这样每次打开软件,手机都会显示LED的信息,在重新控制的时候,LED的属性不会错乱。图5所示为手机客户端APP软件设计流程图,首先是放置一个菜单,进入设置界面,输入IP和端口号保存,连接服务器,没有连接时重新连接,连接成功后,等待接收WiFi客户端发送来的状态,显示在UI界面上,点击按键发送通断信号,触摸滚动滑动条调节色度、亮度值,发送后,在UI中显示客户端连接服务器的状态和LED的开关状态,APP软件运行界面如图6所示。

图5 手机客户端APP软件设计流程图

Fig.5 Design flow chart of mobile client software

内网到外网的的连接,通过花生壳软件和服务器做了一个地址映射,配置一个域名和端口号,手机Android客户端可以通过这个域名和端口号使用外网连接搭建的服务器[15]

事实上,探讨中国货币政策盯住目标选择的研究文献已经大量存在。这些研究分别基于中国现实经济的某一特征剖析货币政策盯住目标选择,[8][9][10][11][12]所得到的结论均表明,如果货币政策以盯住经济增长为目标,其所带来的整体效应将相对较为糟糕:这一政策机制引起更高的通胀和更大的社会福利损失。不过,这些研究均忽略了我国经济的一个重要特征:随着我国居民收入的提高,耐用品消费在我国居民消费中所占的比重在不断上升。[13][14][15][16]这意味着,在分析我国货币政策动态效应时,考虑耐用品部门与非耐用品部门可能更加合理。

(3)网络阅览学习数据。网络可以突破时间和空间的限制,学生可以自主决定学习和阅览的信息和内容,同时因互联网的实时性特点,学生能够接触最新的政治经济政策、科技进展、商业模式、商业理念,与时俱进,与学生产生碰撞,就会激发起新的创意。网络阅读学习数据可以包括参加在线网络课程相关数据、检索数据、关注热点等,这类数据可以由相关平台获得。

生活垃圾作为生活代谢的产物已经成为城镇发展的负担,我国政府相关部门处理生活垃圾的压力越来越大,单独建设生活垃圾处理厂,存在选址难、投资大、成本高等问题。而利用水泥窑系统对废弃物进行处置不仅能够减少废弃物对环境造成的影响,同时也能够利用废弃物的残余热值,创造经济效益。因此,利用水泥窑对废弃物进行处理势在必行。

3.4 服务器软件设计

图6 APP运行界面

Fig.6 Operating interface of APP

在TCP和UDP协议中为了识别通信实体中进行通信的进程,通过协议端口实现,端口使用了一个16位的数字表示,包括一些数据结构和I/O缓冲区,应用绑定后,传输层端口的数据端口是通过系统调用来实现。套接字用于通信的进程,将有共有特性的套接字综合在一起,在同一个区域的套接字进行数据交换,套接字的两种类型:流式套接字和数据报套接字。流式套接字是一种基于TCP协议的网络连接,是面向对象的可靠的网络数据通行方式,在通信过程中,数据时无差错的传输,接收数据时按顺序接收;数据报套接字是一种基于UDP协议的网络连接,是无连接的网络数据通行方式,在通信的过程中,数据包是以独立的方式发送的,不提供错误保证。服务器软件设计主要包含基于TCP(面向连接)的Socket编程和基于UDP(面向无连接)的socket编程[16-19]

基于TCP(面向连接)的Socket编程创建服务器的顺序如下:

综上所述,饮食护理在帮助甲状腺功能亢进合并糖尿病患者血糖合理控制,降低患者并发症发生率中均具有重要的促进作用,是甲状腺功能亢进合并糖尿病治疗过程中不可缺少的一项重要辅助手段。

①加载所需要的套接字库;②创建所需要的套接字;③将所需要的套接字绑定到一个IP和端口上;④将所需要套接字设为监听模式,准备接收客户端的请求到来;⑤等待客户端请求的到来;当请求带来时,接收连接请求,返回一个新的,对应于和本次相同连接的套字,当请求没有到来时,继续监听模式,准备接收客户端的请求到来;⑥用返回的套接字和客户端进行通信,包括发送接收数据;⑦返回套接字,等待另一个客户端通信请求;⑧关闭所需要的套接字。

研究组2(子宫内膜腺癌患者)中MTSS1阳性表达率为56.67%,对照组2中MTSS1阳性表达率为16.67%。研究组MTSS1阳性表达率明显高于对照组,差异具有统计学意义(P<0.05)。

基于TCP(面向连接)的Socket编程创建服务器的顺序创建客户端的顺序如下:

①加载所需要的套接字库;②创建所需要的套接字;③客户端向服务器发送连接请求,请求连接服务器;④客户端要和服务器端进行通信,包括数据的发送和接收;⑤关闭所需要的套接字。

基于UDP(面向无连接)的socket编程创建服务器端顺序如下:

①加载所需要的套接字库;②创建所需要的套接字;③将所需要的套接字绑定到一个IP和端口上;④服务器等待接收客户端的数据;⑤关闭所需要的套接字。

基于UDP(面向无连接)的socket编程创建客户端的顺序如下:

①加载所需要的套接字库;②创建所需要的套接字;③客户端向服务器发送数据,包括数据的发送和接受;④关闭所需要的套接字。

图7所示为服务器软件的系统框图,服务器获取到客户端的输入流,将输入流中的数据放入输出流中发送。

图7 服务器软件系统框图

Fig.7 Block diagram of server software system

4 系统调试与测试分析

4.1 系统调试

设计中,数据传输主要包括三个部分:手机客户端和服务器网络建立连接后进行的数据传输;HF-LPB100模块客户端与服务器建立连接并进行数据传输;手机客户端与服务器、HF-LPB100客户端与服务器之间组网并进行数据传输。Android开发中主要用USB数据线在Eclipse中的lagcat中输出日志来调试,HF-LPB100WiFi模块数据传输中主要通过串口调试要显示的数据,在ARM的编程中,通过Jlink单步、全速、跳出、进入来调试。

测试HF-LPB100模块发送数据给服务器,前提是要和服务器建立连接,将要发送的数据放入BUFF中,发送给服务器,通过透传的方式,在串口中打印BUFF中的数据,只有发送的BUFF数据正确,才可以确定服务器接收的数据正确。测试HF-LPB100模块接收来自服务器的数据,通过在sockettool的发送区中写入要发送的内容,点击发送按钮,将数据发送给HF-LPB100模块,判断接收数据是否正确。

Android编程中测试是否和服务器建立连接,利用sockettool建立一个服务器,Android手机主动和服务器建立连接,建立连接后用USB数据线通过日志的形式在Eclipse中打印出来,同时在sockettool也可以看到客户端的IP和端口号。Android手机测试发送和接收可以控制LED通断,调节LED色度、亮度的控件,并添加监听器,通过点击UI中的控件测试发送数据给服务器,通过服务器保存和转发。

服务器的测试可以直接打印在控制台上进行查看数据。服务器发送接收数据测试完成后,添加线程,监听端口是否与客户端与之建立连接,判断是哪个客户端后,对数据进行转发保存。

HF-LPB100模组客户端与服务器可以建立连接并可以正确收发数据,Android手机客户端可以与服务器建立连接并可以正确收发数据,服务器也可以正常收发数据,三个部分单独调试成功后,进行系统联调,服务器先监听端口是否有客户端连接,并识别是哪个客户端,当时手机客户端时,服务器会将LED的属性发送给Android客户端,Android客户端接收到服务器发送来的数据后,在UI界面中告诉使用者,LED的开关状态、色度、亮度,当使用者点击了UI控件后,发送数据给服务器,服务器接收数据并保存,同时将数据转发给HF-LPB100模块客户端,HF-LPB100模块客户端接收到数据后识别控制信号是控制开关,还是调节色度或亮度的,然后通过ARM中的GPIO控制LED的状态,PWM调节LED色度、亮度。

4.2 数据测试与分析

HF-LPB100模块客户端发送LED的属性值,包括LED的色度,亮度和通断给服务器,经服务器保存并转发后,发送给Android客户端,Android客户端将接收到的数据显示在UI界面上,提供一个交互式的人机交互界面,智能LED系统设计了六组LED,其中包括:客厅、卧室、阳台、厨房、卫生间和餐厅,以客厅为例,测试数据如表1所示。

表1 测试数据

Table 1 Test data

Android客户端服务器HF-LPB100模组客户端智能LED状态open0open0open0灭color_livingroom#90color_livingroom#90color_livingroom#90灭brightness_livingroom#50brightness_livingroom#50brightness_livingroom#50亮-黄色color_livingroom#17color_livingroom#17color_livingroom#17亮-蓝红色brightness_livingroom#0brightness_livingroom#0brightness_livingroom#0亮-很暗brightness_livingroom#90brightness_livingroom#90brightness_livingroom#90亮-蓝红色-很亮open1open1open1灭open0open0open0亮-蓝红色-很亮

字符串中,open0代表打开LED,open1代表关闭LED,color_livingroom#17代表客厅LED的色度值为17,brightness_livingroom#90代表客厅LED的亮度值为90。通过观察LED的状态,可以看出和设定值相一致,完成控制功能。选取其中一组数据:亮-蓝红色-很亮,open0,color_livingroom#17,brightness_livingroom#90。退出服务器后,再次打开APP,连接网络后,HF-LPB100模块客户端会发送数据给服务器,并转发给Android客户端,Android客户端接收到的数据如表2所示。

表2 Android客户端接收初始状态数据分析

Table 2 Android client receives data analysis of initial state

HF-LPB100模组客户端服务器Android客户端智能LED状态open0open0open0打开color_livingroom#17color_livingroom#17color_livingroom#17蓝红色brightness_livingroom#90brightness_livingroom#90brightness_livingroom#90很亮

当APP再次打开后,接收到open0,color_livingroom#17,brightness_livingroom#90数据,LED的显示为亮-蓝红色-很亮,在UI界面上显示正常。由此可以说明,服务器保存了上一次的设置,存储功能正常。

5 结束语

本文设计了一个的智能LED照明控制系统,采用Cortex-M3内核的ARM作为主控单片机,WiFi模块采用支持串口透明传输模式的HF-LPB100模块,选用RGB红绿蓝三种LED灯珠,通过单片机I/O口控制继电器来实现LED的通断,利用PWM可控制LED输出不同的颜色和亮度。在Android环境下编写一个APP,通过TCP/IP协议连接网络,采用花生壳软件中地址映射生成的域名和端口号访问自己搭建的服务器,实现了通过触摸按键控制智能LED的通断,通过滑动条调节控制LED的色度和亮度。系统布置了客厅、卧室、阳台、厨房、卫生间和餐厅六个场景设计六组LED,在内网和外网中测试功能均正常,可应用于智能家居系统。

参考文献

[1] 张帝,董飞,高彬,等.基于嵌入式实时操作系统的智能矿灯设计[J].工矿自动化,2018,44(2):23-27.

[2] 杨健,谢晓方,王彦,等.基于Android平台的多功能显示模拟器设计[J].火力与指挥控制,2018,43(3):129-133.

[3] 刘天宇,徐晓辉,宋涛,等.基于Android的智能温室控制与实现[J].节水灌溉,2018(5):90-92.

[4] 卢超.分布式无线空气质量监测系统[J].自动化仪表,2014,35(4):57-60.

[5] 李小孟.Android和WIFI通信在智能家居系统设计中的应用[J].电视技术,2018,42(5):107-111.

[6] 贾阳静,邹念育,雷冬鸣,等.基于Android和WIFI通信的智能家居系统设计[J].大连工业大学学报,2016,35(1):67-71.

[7] 肖宛昂,苏高民,陆廷,等.一种由WiFi智能插座构成的智能家居[J].单片机与嵌入式系统应用,2014,14(5):46-48.

[8] 张国静,张俊玲.智能电网中的WiFi无线智能家庭系统[J].电子测量技术,2013,36(11):128-129.

[9] 卢超.基于无线收发的超声波液位测量仪[J].压电与声光,2014,36(1):150-155.

[10] 翟永前,奚吉,赵力.基于WiFi的云智能血氧仪设计研究[J].电子器件,2015,38(1):189-193.

[11] 董思乔,赵荣建,孙通.基于WiFi构建的智能家居控制系统的设计[J].电视技术,2015,39(4):89-91.

[12] 石高涛,王伯远,吴斌.基于WiFi与移动智能终端的室内定位方法综述[J].计算机工程,2015,41(9):39-44.

[13] 李先茂,费敏锐.面向智能小区的WiFi自动抄表系统研究[J].自动化仪表,2012,33(9):49-52.

[14] 王出航,刘峰.采用遗传算法和WSN的智能灯控方法设计[J].控制工程,2017,24(2):341-345.

[15] 黄帆,杨贤昭,陈洋.基于Android的智能可调光LED灯节能控制[J].高技术通讯,2016,26(7):703-711.

[16] 卢超,李鹏辉.基于虚拟仪器的有害气体报警仪[J].电子器件,2013,36(4):559-563.

[17] 方天恩,漆晶,马金辉,等.基于Android的智能蓝牙温度计的研究与设计[J].电子技术应用,2017,43(3):73-76.

[18] 刘伟,李杰,杨雁宇.基于Android的便携式角度测量仪设计[J].电子器件,2017,40(4):1044-1048.

[19] 郝真鸣,赵男,梁铁,等.基于WiFi的智能楼宇监控系统[J].测控技术,2013,32(10):87-89.

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
基于单片机的低功耗WiFi模块设计方案
移动APP服务端API设计应该考虑到的问题
基于WiFi的室内定位系统设计与实现
unity3d Android客户端与PC服务器实现Socket通信(wifi)
Sonoff浇水定时器
Android 如何建立本地http服务器
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服