一种三维立体显示器联网控制方法与流程

文档序号:24399606发布日期:2021-03-26 13:42阅读:149来源:国知局
一种三维立体显示器联网控制方法与流程

1.本发明涉及一种三维立体显示器联网控制方法,属于三维led立体显示技术领域。


背景技术:

2.三维立体显示器在运行的过程中,用户可能会实时改变其动画效果和欲显示的文字信息等,通过手机端app、小程序、web达到修改目的是最佳的选择,这就要求三维立体显示器必需具备一块可以联入互联网的芯片。具体的联网的方式无外乎wifi网络和移动数据网络两种,由于物联网的nbiot移动数据网络通信带宽受限、运营商收取流量费、联网设备较贵等特点,不适用于三维立体显示器。因为三维立体显示器的具有使用地点基本固定不变,使用数据流量较大的特点,所以其联网设备首选wifi模块。
3.目前大多数三维立体显示器采用stm32系列单片机作为主控芯片,esp8266作为联网的wifi模块,相比pc机的联网机制、tcpip通讯协议、socket网络套接字编程接口体系,当前单片机与联网设备的通信组件和通信程序仍不够成熟,相关参考资料和源程序比较少,相关开发人员程序设计比较吃力,设计出的程序代码冗长,并且存在通信的可靠性、稳定性不高等问题。


技术实现要素:

4.本发明的目的是提出一种三维立体显示器联网控制方法,以解决现有技术存在的问题。
5.一种三维立体显示器联网控制方法,所述三维立体显示器联网控制方法包括以下步骤:
6.步骤一、将控制命令pccmd通过指定联网通信串口号com_esp8266发送,并在pccmd后自动添加通信模块的通信指令结束标识0x0d和0x0a;
7.步骤二、开启联网通信专用硬件定时器esp_tmr_id,设置定时时间为itimeout;
8.步骤三、延时1毫秒,在此时间内执行三维立体显示器的空闲轮询函数idle();
9.步骤四、检查定时器esp_tmr_id是否超时,若超时,则函数没有在指定时间内收到联网芯片的命令执行成功标识,函数执行失败,返回0,函数执行结束;若没有超时,则执行步骤五;
10.步骤五、检查联网通信串口是否有收到来自联网芯片发送来的数据信息,如果有,则比对该信息是否为packstr,是则函数执行成功,返回1,函数执行结束,具体收到的来自联网芯片发送来的数据信息与packstr的匹配方法为:检查联网通信串口接收数据缓冲区中是否有收到来自联网芯片的数据,如果没有则直接回到步骤三;如果有首先将检查packstr的字符编号ipos置为0,从接收数据缓冲区读取一个字节,检查其是否为packstr的首字节,如果不是直接回到步骤三,如果是则设置ipos值加1,同时判断ipos值是否为packstr字符串长度值,如果是则表示已经接收到了完整的packstr字符串内容,执行成功,函数返回1并结束;不是则回到步骤三,在联网通信串口接收数据缓冲区不空的情况下,继
续从接收数据缓冲区读取一个字节,检查其是否为packstr的第2个字节,如果不是则将ipos值置0后直接回到步骤三,如果是则设置ipos值加1,同时判断ipos值是否为packstr字符串长度值,此过程一直循环执行;
11.步骤六、最后对进行idelay_ms的延时,确保系统进入稳定状态,设置idelay_ms值为0。
12.进一步的,在步骤三中,所述空闲轮询函数idle()包括如下信息:如果有设置用户按键,则进行系统的用户按键信息检测;如果有设置红外遥控器,则进行系统的红外接收到的信息检测;如果检测收到网络通信内容,则进行数据包拆包、分析操作;如果系统安装有电容显示屏,则进行电容屏用户按键键值识别;如果系统有包括温度传感器在内的输入设备,则进行输入值更新计算。
13.进一步的,参数接口如下:
14.pccmd为主控芯片发送给联网芯片的控制命令;
15.packstr为主控芯片期待联网芯片给予回复的命令执行成功字符串内容;
16.itimeout为设定的主控芯片等待联网芯片回复packstr的时间,单位为毫秒;
17.iretry为如果主控芯片在ustimeout内没有收到packstr,即联网芯片命令执行失败的情况下,主控芯片重复发送cmd的次数;
18.idelay_ms为命令执行成功后的延时时间,单位为毫秒;
19.bprintf为是否向信息打印串口输出命令执行信息。
20.本发明的主要优点是:本发明提出了一种三维立体显示器联网控制方法,程序设计人员通过该方法,可以实现对联网芯片的高效调用,简易了向联网芯片发送指令并且等待其回复执行结果信息的控制过程,从而提高了三维立体显示器与联网芯片之间通讯的可靠性和稳定性。
附图说明
21.图1是本发明的一种三维立体显示器联网控制方法的方法流程图。
具体实施方式
22.下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
23.参照图1所示,一种三维立体显示器联网控制方法,所述三维立体显示器联网控制方法包括以下步骤:
24.步骤一、将控制命令pccmd通过指定联网通信串口号com_esp8266发送,并在pccmd后自动添加通信模块的通信指令结束标识0x0d和0x0a;
25.步骤二、开启联网通信专用硬件定时器esp_tmr_id,设置定时时间为itimeout;
26.步骤三、延时1毫秒,在此时间内执行三维立体显示器的空闲轮询函数idle();
27.步骤四、检查定时器esp_tmr_id是否超时,若超时,则函数没有在指定时间内收到联网芯片的命令执行成功标识,函数执行失败,返回0,函数执行结束;若没有超时,则执行
步骤五;
28.步骤五、检查联网通信串口是否有收到来自联网芯片发送来的数据信息,如果有,则比对该信息是否为packstr,是则函数执行成功,返回1,函数执行结束,具体收到的来自联网芯片发送来的数据信息与packstr的匹配方法为:检查联网通信串口接收数据缓冲区中是否有收到来自联网芯片的数据,如果没有则直接回到步骤三;如果有首先将检查packstr的字符编号ipos置为0,从接收数据缓冲区读取一个字节,检查其是否为packstr的首字节,如果不是直接回到步骤三,如果是则设置ipos值加1,同时判断ipos值是否为packstr字符串长度值,如果是则表示已经接收到了完整的packstr字符串内容,执行成功,函数返回1并结束;不是则回到步骤三,在联网通信串口接收数据缓冲区不空的情况下,继续从接收数据缓冲区读取一个字节,检查其是否为packstr的第2个字节,如果不是则将ipos值置0后直接回到步骤三,如果是则设置ipos值加1,同时判断ipos值是否为packstr字符串长度值,此过程一直循环执行;
29.步骤六、最后对进行idelay_ms的延时,确保系统进入稳定状态,在大部分的应用中,设置idelay_ms值为0。
30.进一步的,在步骤三中,所述空闲轮询函数idle()包括如下信息:如果有设置用户按键,则进行系统的用户按键信息检测;如果有设置红外遥控器,则进行系统的红外接收到的信息检测;如果检测收到网络通信内容,则进行数据包拆包、分析操作;如果系统安装有电容显示屏,则进行电容屏用户按键键值识别;如果系统有包括温度传感器在内的输入设备,则进行输入值更新计算。
31.进一步的,重要接口函数esp_sendat_waitresponse,其作用是主控芯片向联网芯片发送控制命令,在指定的回复时间内如果主控芯片收到了来自联网芯片回复的指定命令执行成功字符串,则表示命令执行成功,函数返回true;如果没有在指定时间内收到指定回复内容,则按照用户需求进行重发,如果最终没有执行成功则返回false。同时用户可以设置是否通过联网信息打印串口输出命令执行结果。具体参数接口如下:
32.pccmd为主控芯片发送给联网芯片的控制命令;
33.packstr为主控芯片期待联网芯片给予回复的命令执行成功字符串内容;
34.itimeout为设定的主控芯片等待联网芯片回复packstr的时间,单位为毫秒;
35.iretry为如果主控芯片在ustimeout内没有收到packstr,即联网芯片命令执行失败的情况下,主控芯片重复发送cmd的次数;
36.idelay_ms为命令执行成功后的延时时间,单位为毫秒;
37.bprintf为是否向信息打印串口输出命令执行信息。
38.以下为具体实施例:
39.本发明以esp8266联网芯片为例,阐述该联网控制组件的整个实现过程,其它联网芯片只需简单修改其相应的联网命令内容即可。
40.主控芯片通过调用如下4条命令即可实现让联网芯片连入指定wifi,与指定的服务器端口建立tcp连接,然后设置成此连接为透传模式并且进入透传模式:
41.1、esp_sendat_waitresponse(“at+cwjap=wifiname,123456789”,“ok\r\n”,15000,1,0,true);
42.传递参数内容如下:
72.itimeout=5000
73.iretry=3
74.idelay_ms=100
75.bprintf=true
76.该命令的作用是,主控芯片向联网芯片发送指令“at+cipsend",要求联网芯片进入透传模式,期待并且监听联网芯片的执行成功并且回复数据串“ok\r\n”,监听时长为5秒钟,在未收到执行成功数据串的情况下主控芯片以5秒钟为间隔,最多发送3次该指令,并且在命令结束时进行100毫秒的延时,将连接信息从信息打印串口输出。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1