摘要: 主要针对一些中小型表演剧场中使用到的旧式媒体设备时效性差、可靠性低、稳定性弱、通信范围小、鲁棒性差等特点,设计了一种基于云服务平台的设备控制系统,硬件系统以STM32F103ZET6作为主控单元,与机智云配置使用,从而实现设备与互联网的连接,让工作人员可以对设备进行远程控制,提高了便捷性和时效性。
近年来,新型技术不断涌现,利用云服务平台实现对硬件设备的实时高效控制,由此实现了物质世界、网络世界和人类认识世界的联通。本文由机智云开发者设计了一款适用于中小型环境的基于机智云服务平台的媒体设备控制系统。
1, 系统总体设计
目前,基于云服务平台进行媒体设备方面的智能硬件开发需要以下几部分:媒体设备、云服务平台和手机APP。基于云的媒体设备控制系统如图1所示。
利用可靠的硬件设备模拟媒体产品可以准确地反映本设计要实现的灯光控制以及音乐播放控制等功能。云端服务器选用机智云云服务平台,用于转发手机软件下发的控制指令,然后将控制指令下发至硬件设备。
图一,基于云的媒体设备控制系统
2 系统硬件设计
2.1 灯光设备模块
一场完美的演出需要一整套智能高效的灯光控制系统。针对剧院舞台灯光控制系统,本设计采用STM32F103ZET6试验板上的LED灯来模拟灯光设备,模拟灯光设备的原理图如图2所示。其中PWR是设备电源指示灯,为蓝色,LED0(DS0)和LED1(DS1)分别为红色和绿色,LED0与STM32的PB5相连。
图二,模拟灯光设备原理图
2.2音响设备模块
针对剧院舞台音响控制系统,本设计采用STM32F103ZET6试验板上的SD卡模块、音频处理模块、音频功率放大模块以及小喇叭来模拟音响设备。
本设计需要提前将要播放的歌曲存放在一张SD卡中,通过试验板上的卡槽将SD卡与主控芯片相连接,SD卡接口与STM32F103ZET6连接的原理图如图3所示。
SD卡中的音乐文件需要经过音频处理以及功率放大才可以通过扩音器进行播放,则音频处理模块电路原理图如图4所示。图4中,MP3_LEFT/MP3_RIGHT两个引脚用作VS1053B的音频输出接口。SPK_CTRL连接在VS1053B的GPIO4上,用于控制HT6872工作状态,从而控制小喇叭出声,要让小喇叭发声,必须通过APP控制VS1053B的GPIO4输出高电平,否则小喇叭关闭。VS_RST是VS1053B的复位信号线,低电平有效。VS_DREQ是一个数据请求信号,用来通知主机VS1053B能否接收数据。
图3 SD卡接口与STM32F103ZET6连接原理图
图4音频处理模块原理图
音频功率放大模块电路原理图如图5所示。
图5中,SPK_IN就是HT6872的音频输入,然后SP+和SP-分别连接喇叭的正负极。重点看SPK_CTRL,这个信号控制着HT6872的工作模式,该信号由VS1053B的36引脚(GPIO4)控制,当SPK_CTRL引脚为低电平时,HT6872进入关断模式,也就是功放不工作了,当SPK_CTRL引脚为高电平时,HT6872进入正常工作模式,此时喇叭可以播放SPK_IN输入的音频信号。这样,通过SPK_CTRL就可以控制喇叭的开关了。播放音乐以后,采用TFTLCD模块显示模拟音响设备在运行过程中的播放信息。
系统软件设计
系统能够正常运行必须有软件程序的设计开发,本文的控制系统软件设计主要分为两部分:一是模拟媒体设备STM32F103ZET6MCU端程序的编写,包括LED灯初始化及控制程序设计、音乐播放部分的初始化及控制程序设计、WiFi初始化等程序;
二是智能手机的应用程序,主要是在机智云Aiot开发平台进行产品创建、虚拟设备功能实现、程序移植以及智能手机APP的下载安装。系统软件设计整体框图如图6所示。
图5音频功率放大模块电路原理图
图6系统软件设计整体框图
整个系统的软件设计包括LED灯、LCD显示屏以及VS1053B等芯片外设的初始化程序设计,WiFi模块的固件安装、WiFi初始化,硬件配网及控制主界面程序设计,云平台APP控制功能程序设计以及程序移植。模拟媒体设备程序设计主要使用Keil5 MDK开发环境,采用C语言开发。
3.1 开发环境搭建及开发平台选择
3.1.1 MDK开发环境
软件设计采用Keil MDK5开发平台,对比以前的版本,Keil MDK5有非常大的优势,新版本的器件包与编译器是分离开的,也就是说在使用时需要哪种器件就下载相应的器件包即可,无需下载其他器件包,从而节省存储资源、节约开发成本。
3.1.2 机智云(Gizwits )AIoT开发及云服务平台
选用的是目前为止在物联网开发领域具有相当大优势的机智云云服务(Gizwits)平台,提供了自助式在线工具与开放的IoT云端服务,只需少量代码,甚至只需进行拖拉拽,就能开发一款App或语音控制智能设备。有助于加快开发速度,缩短开发周期。
3.2 GAgent嵌入式固件系统
GAgent是一种用于数据转发的嵌入式固件系统,硬件设备需要依靠GAgent才能接入机智云服务平台,GAgent接入机智云,需要经过以下几个步骤:
(1) GAgent获取设备信息,首先GAgent通过串口向MCU发出请求设备信息指令,MCU在接收到请求指令后将设备信息以同种方式发送给GAgent,如果此时设备正常工作,则MCU需要回复GAgent发出的心跳包
(2) 设备配置入网有airlink、softAP两种方式可供选择:airlink方式主要通过手机端发送包含路由器账号和密码的特定UDP广播,设备的WiFi模块接收到后根据广播包含的信息连接到路由器上;softAP方式则是将设备作为一个AP,将手机APP连接到WiFi模块的热点上。
(3) 前者可以实现远距离的控制指令下发接收,而后者只能用于近距离的相关配置,无法实现远距离通信。根据设计的要求,选择airlink方式进行配网。airlink配网流程如图7所示。
图7 Airlink方式配置入网
(4) 智能手机APP控制设备之前必须先绑定设备,本设计采用WiFi方式对设备进行绑定,WiFi技术安全健康,在实际工作中,它的发射功率大约在60~70mW之间,所以说该技术相对来说是比较安全健康的[11],搜索并绑定设备流程如图8所示。
3.3 设备数据的上报与下发
上报设备数据一般是指设备主动上报当前运行状态,MCU通过串口上报设备数据给GAgent,GAgent将数据上报给云端,云端将数据下发至APP;而下发数据一般是指智能手机APP或者云端控制硬件设备,APP端上报数据到云端,云端将其下发至GAgent,进而通过串口下发至MCU。设备数据的上报及下发流程如图9所示。
4 系统功能测试
在系统的整体设计完成以后,对本设计的功能进行了实际测试,即通过手机APP发送控制指令,经过云端服务平台接收并下发至模拟媒体设备的WiFi模块,设备做出实时响应。
图8 APP通过WiFiI设备绑定
图9设备数据的上报与下发
4.1 设备配置入网
基于云的媒体设备控制系统设计的设备配置入网测试步骤如下:
(1) 给设备上电,打开K2开关,指示灯PWR亮起,对WiFi模块进行配置,完成硬件外设的初始化工作。
(2) 给设备上电,打开K2开关,指示灯PWR亮起,对WiFi模块进行配置,完成硬件外设的初始化工作。
(3) 将智能手机连接无线路由器,可以通过无线路由器上网,保持网络畅通。
(5) 设备配网,通过手机APP进行配置,输入智能手机所连接的路由器账号和密码、选择WiFi模组类型并将设备设置为待连接状态,通过串口助手调试软件可以观察到设备当前的网络状态。
(6) 设备配网完成之后,智能手机APP界面将会显示出设备名称,设备配网成功实物如图10所示。
图10 设备配网成功实物图
4.2控制功能测试
完成设备配置入网后,将手机的网络由连接路由器切换为4G网络,手机便可以随时随地访问云端服务器并发送指令至模拟媒体设备,使之实现灯光开关以及音频播放等功能。当手机LED开关打开时,设备下端的红色LED灯DS0亮起,开关关闭时,LED灯灭。
接下来测试模拟音响设备功能,当手机player开关打开时,设备播放音乐并在LCD屏上显示当前播放歌曲的名称、时长、音量以及存储的音频文件总数等详细信息。以上便是云端控制系统功能测试内容,经过测试,登录机智云IoT开发平台查看设备运行日志,可以了解具体指令下发过程。
基于当前物联网技术高速发展这一大背景,设计了基于云服务平台的媒体设备控制系统,已经完成的主要工作以及系统的优势总结如下:选择了高性能且低成本的STM32模拟媒体设备,在一定范围内基本能够实现对灯光、音响设备的控制功能,极大提高了系统的有效性和可靠性;为了使观众、听众能够获得更好的视听体验,设计了功能实现显示界面,主要在音响设备控制模块增加了LCD,用以显示当前播放歌曲的具体信息。
由于时间、成本等多方面因素的限制,还存在着许多不足之处,等待后续作进一步改进:为了节约系统设计的成本,系统中选取的灯光控制模块由LED灯模拟实现,音响设备控制模块由板载小喇叭模拟实现,系统仅对剧院环境下的媒体设备做了模拟处理,后续还需要针对实际设备作进一步改进;系统设计中选取的功能模块比较少,无法完整体现剧院媒体设备的全部功能,后续还可以增添多种功能模块,例如幕布控制、舞台升降等。
文章评论(0条评论)
登录后参与讨论