一种基于蓝牙4的无线实时图形化对控制器编程方法与流程

文档序号:11828906阅读:316来源:国知局
一种基于蓝牙4的无线实时图形化对控制器编程方法与流程
本发明是一种无线实时图形化对控制器编程控制的方法,主要用于解决对电子硬件简易实时编程控制和需要大量运算处理的问题,属于电子信息领域。
背景技术
:对可编程控制器进行编程控制,需要使用高级语言编程,例如,C、C++、JAVA、python等。一般情况对可编程控制器编程都需要以下步骤:PC(电脑)端建立项目工程文件;用高级语言编辑各个工程文件;编译链接工程文件生成对应的HEX文件(16进制文件)或者BIN文件(2进制文件);将生成的文件烧录到控制芯片中,最终实现整个编程控制过程。蓝牙4.0设备之间可以实现1主机对最多7从机的微微网组建。当然蓝牙4.0也能实现1对1的连接,即1台主机设备连接1台从机设备,连接前设定蓝牙设备的模式,连接上之后可以实现其他设备无法加入到这个1对1网络的效果。由于蓝牙4.0设备的硬件能力限制,使用蓝牙4.0进行无线串口透传数据时,数据量最好在每包数据20字节以内。图形化编程语言可以说是新一代的高级编程语言,编程者不需要熟悉指令用法,复杂的编程语法,只需要用语句把想要实现的效果表达出来。图形化编程语言改变了传统的编程模式,用“图标”或者“模块”代替了“文本指令”。在图形化编程环境中,用户只需要将各个“图标”或者“模块”连接起来,组织成用户想要表达的意思。编程的效率会得到大大的提高。现有的对控制器编程图形化语言,基本是用户通过图形化界面组织操作连接“图标”或者“模块”,后台自动生成高级语言的文本,如C、C++语言,再利用编译构建代码的工具链,编译链接高级语言工程,最后将生成的HEX文件或者BIN文件烧写入控制芯片,烧录过程都是通过有线方式连接PC端和控制器端。每次修改代码之后都需要再次编译、链接、烧录新的工程代码,才能实现控制器的控制更新。发明目的本发明的目的就是提供一种无线实时图形化的对控制器编程控制的方法。控制器首次烧录之后,就可以通过蓝牙,无线实时接收PC(电脑)端发送的控制指令,同时实时返回采集的数据给PC端。控制器只需执行控制指令和采集反馈传感器数据等信息,所有的数据处理、逻辑运算都在PC端执行实现。这样就避免了繁琐的编译、链接、烧写过程,同时降低了控制器端的运算负担。用户在PC端,可以利用图形化编程软件简易实时的对控制器编程操作。技术方案本发明的目的是通过如下措施来达到:1)控制器硬件需要搭载蓝牙4.0串口无线透传设备,同时能够响应串口中断信号。PC端也需要搭载蓝牙4.0串口无线透传设备。控制器端的蓝牙设备作为从设备,PC端的蓝牙作为主设备。PC端的蓝牙设备可以搜索周围的从设备蓝牙,选择连接对应的从设备蓝牙之后,就可以进行全双工的数据传输。此时硬件设备准备完毕。2)控制器端需要烧写固件,固件具体功能是接收串口中断指令,改变控制器的控制状态,同时能够实时给PC端返回控制器的状态数据。固件的制作是通过控制器对应的PC端工具链实现。按照制定好的通讯协议,控制器能够解析串口接收到的运行指令,并执行相应的动作。同时控制器将它外围设备采集到的数据或者它自身的状态,按照制定好的通讯协议,通过蓝牙发送到PC端。3)PC端需要安装图形化界面编程软件,软件具备编程的必备逻辑功能,运算功能,数据处理功能。软件图形化语言所有的逻辑组织,数据处理,都由“图标”和“模块”连接排列的模式实现。各个模块的连接、放置都是以“选择抓取”、“拖拽摆放”、“连接堆叠”的方式进行组织操作。最终实现的效果就是每个人都能从上往下依次读懂图形化语言想要表达的控制过程。图形化语言的编程过程,相当于写一篇作文,作文内容就是你想要控制器做什么,怎么做。4)硬件设备以及软件环境搭建好之后,就可以进行PC端对控制器端的无线实时图形化编程控制。打开控制器端的电源,确保控制器端的蓝牙处于从状态,等待蓝牙主机的搜索配对。PC端将USB口转为串口和蓝牙主设备连接,向蓝牙主设备发送AT指令(控制蓝牙模块的指令)搜索附近的蓝牙从设备。5)蓝牙主模块会将搜索到的从设备蓝牙mac地址(每个蓝牙设备都有他们唯一的地址序号)反馈给PC端,用户向主蓝牙设备发送连接指定从设备蓝牙的AT指令。主从蓝牙设备配对连接上之后,用户就可以进行对控制器的实时编程操作。6)PC端向控制器端按照如下的通讯协议实时不间断发送指令,数据包头控制指令集数据包尾XXXX……XXXX数据包头(XX)表示数据的开头,其中包含一些特定的标志性字符,或者还包含软件版本信息等。控制指令集(XX……XX)包含信息最为丰富,其中包含让控制器执行动作的指令集,让控制器如何控制外围设备的运作,让控制器返回指定的数据信息。数据包尾(XX)表示一帧数据的结尾,其中包含一些特定的标志性字符,或者还包含一些数据校验和。7)PC端实时发送的控制指令集数据帧状态是通过图形化软件修改的。图形化软件在组织逻辑的过程中,或者进行运算的过程中都可能会改变指令集的状态。从而达到对控制器的实时编程控制,PC端负责一切的逻辑运算,数据处理。8)控制器端实时接收控制器端的控制指令,不停的进入串口中断,当指令状态有所改变时,串口中断的对应函数就会执行,或者改变控制器的当前状态全局变量。控制器端同时也将自身的状态信息,外围设备数据反馈给PC端,方便PC端进行逻辑判断,数据处理。控制器端返回的通讯协议如下,数据包头数据信息数据包尾XXXX……XXXX数据包头(XX)表示数据的开头,其中包含一些特定的标志性字符,或者还包含控制器固件的版本信息等。数据信息(XX……XX)包含有控制器外围设备的参数信息,外围传感器采集到的数据信息,以及控制器自身的状态信息。数据包尾(XX)表示一帧数据的结尾,其中包含一些特定的标志性字符,或者还包含一些数据校验和。有益效果:本发明提出了一种基于蓝牙4.0的无线实时图形化对控制器编程方法,主要用于对控制器的实时编程,简易操作,无需每次都经过编辑、编译、链接和烧写的编程步骤。对控制器的编程操作是实时进行的,所以调试效果能立即展现,提高了编程控制的效率。蓝牙无线图形化编程的方式使对控制器的编程更为便捷,用户操作也会变得快捷容易。所有的逻辑运算、决策命令和数据处理都在PC端进行,可以将终端控制器的成本极大的降低,因为控制芯片不需要处理大量的数据以及进行复杂的逻辑运算。附图说明图1是无线实时编程实现的流程图,所有步骤都是在控制器和PC这两类终端上进行操作。图2是控制器、PC、蓝牙设备的连接关系,以及控制器与PC端数据交换的路径。蓝牙从设备集成在控制器上,蓝牙主设备外接在PC的USB接口上。具体实施方式为了方便描述,我们假设有如下应用实例:有一套模块化机器人套件,机器人的形态需要拼搭构建。机器人的控制器留有外部接口,用于电机、舵机、步进电机和传感器等设备的模块化连接。需要用这套器件实现不同的功能,比如智能花房的控制,扫地机器人的控制,货运机器人的控制。其具体的实施方案为:一、首先控制器的蓝牙已设置为从模式,并且蓝牙模块连接在控制器的串口上,控制器连接蓝牙的串口能响应串口中断;二、PC端的蓝牙设置为主模式,通过USB接口,将蓝牙模块与PC的串口连接;三、将控制器的固件烧写到控制器芯片,固件的烧写只需要一次,除非之后需要对固件进行升级。固件的作用是解析通讯协议,执行控制命令,反馈外设信息;四、根据功能需求不同,搭建出不同形态的设备,选用合适的外接传感器和动力设备。智能花房就需要外接湿度传感器、温度传感器、二氧化碳浓度传感器、光敏传感器、步进电机、洒水喷头、加热器、排风扇等,扫地机器人需要直流电机,红外传感器、超声波传感器等,货运机器人需要直流电机、步进电机,红外传感器,超声波传感器等;五、PC端安装图形化编程软件,发送AT指令给蓝牙主模块,搜索周围的蓝牙从模块,找到指定从模块后配对连接;六、PC端用图形化编程软件进行编程。智能花房的逻辑设计如下:实时监测花房的温度、湿度、二氧化碳浓度和光照强度,将温度,湿度,二氧化碳浓度,光照强度控制在一定范围内,保证植物的生长环境是最优状态,至于控制执行则是通过控制器控制排风扇、步进电机、洒水喷头、加热器等来实现的。扫地机器人的逻辑如下:在控制器周围安装红外传感器或者超声波传感器,当传感器检测到障碍物的时候,控制器控制机器人改变行驶路线,同时控制器在机器人行进过程中开启扫地模式清扫垃圾。货运机器人逻辑如下:将红外传感器和超声波传感器安装在机器人外围,用于检测行驶路线,机器人到达指定位置后控制步进电机来装运或者卸载货物;七、PC端程序运行后,控制器端会接收到PC端发送的指令集,控制器会根据收到的指令集来执行动作。同时控制器会将传感器信息和状态信息发送给PC端,PC端运行的程序通过接收到的控制器信息,来做数据处理和逻辑判断;八、在运行过程中发现程序需要修改,用户可以直接拖拽图形化模块进行编程,无需编译、连接和下载烧录,从而达到无线实时的对控制器调试编程。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1