一种基于物联网设备指示灯的数据传输方法及系统与流程

文档序号:18465162发布日期:2019-08-17 02:23阅读:169来源:国知局
一种基于物联网设备指示灯的数据传输方法及系统与流程

本发明涉及数据传输技术领域,尤其涉及一种基于物联网设备指示灯的数据传输方法及系统。



背景技术:

随着物联网技术的快速发展,物联网设备已经渗透到生产生活的各个方面。物联网设备数量多,型号和功能各异,使用的技术差别很大。物联网设备为成本敏感型,为节省制造成本,其通信接口往往是最简化的,甚至不具备通信接口。在使用和改造时,在原有通信功能的基础上,往往又希望物联网设备能够额外发送一些低速的数据(例如一些状态数据用于监控内部状态)。这时,更改设备的硬件结构来增加传输功能通常是不可行的。

因此,如何在不更改物联网设备硬件结构的情况下,实现数据的传输,是一项亟待解决的问题。



技术实现要素:

有鉴于此,本发明提供了一种基于物联网设备指示灯的数据传输方法,能够在不更改物联网设备硬件结构的情况下,通过指示灯利用可见光通信来实现物联网设备的数据传输,进一步提升了用户使用物联网设备的体验。

本发明提供了一种基于物联网设备指示灯的数据传输方法,包括:

通过编码对所述物联网设备指示灯的亮灯状态进行间接控制;

通过亮灯状态实现传输所述物联网设备的数据。

优选地,将编码0代表所述物联网设备指示灯的短亮,将编码1代表所述物联网设备指示灯的长亮。

优选地,所述通过编码对所述物联网设备指示灯的亮灯状态进行间接控制,包括:

判断读取到的编码是否为0,若是,则:

读取xk数据,控制所述物联网设备指示灯短亮。

优选地,当读取到的编码不为0时,还包括:

判断读取到的编码是否为1,若是,则:

读取2xk数据,控制所述物联网设备指示灯长亮。

优选地所述的方法,还包括:

判断待发送数据是否全部发送,若是,则结束数据传输过程,若否,则:

返回再次通过编码对所述物联网设备指示灯的亮灯状态进行间接控制。

一种基于物联网设备指示灯的数据传输系统,包括:

控制模块,用于通过编码对所述物联网设备指示灯的亮灯状态进行间接控制;

数据处理模块,用于通过亮灯状态实现传输所述物联网设备的数据。

优选地,将编码0代表所述物联网设备指示灯的短亮,将编码1代表所述物联网设备指示灯的长亮。

优选地,所述控制模块在通过编码对所述物联网设备指示灯的亮灯状态进行间接控制时,包括:

第一判断单元,用于判断读取到的编码是否为0;

控制单元,用于当读取到的编码为0时,读取xk数据,控制所述物联网设备指示灯短亮。

优选地,当读取到的编码不为0时,所述第一判断单元,还用于:

判断读取到的编码是否为1;

所述控制单元,还用于当读取到的编码为1时,读取2xk数据,控制所述物联网设备指示灯长亮。

优选地,所述的系统还包括:

第二判断单元,用于判断待发送数据是否全部发送;

结束模块,用于当待发送数据全部发送时,结束数据传输过程;

返回模块,用于当待发送数据未全部发送时,返回所述控制模块,再次通过编码对所述物联网设备指示灯的亮灯状态进行间接控制。

综上所述,本发明公开了一种基于物联网设备指示灯的数据传输方法,当需要实现物联网设备的数据传输时,首先通过编码对物联网设备指示灯的亮灯状态进行间接控制,然后通过亮灯状态实现传输物联网设备的数据。本发明通过编码对物联网设备指示灯的亮灯状态进行间接控制,在不更改物联网设备硬件结构的情况下,能够通过指示灯利用可见光通信来实现物联网设备的数据传输,进一步提升了用户使用物联网设备的体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明公开的一种基于物联网设备指示灯的数据传输方法实施例1的流程图;

图2为本发明公开的一种基于物联网设备指示灯的数据传输方法实施例2的流程图;

图3为本发明公开的一种基于物联网设备指示灯的数据传输系统实施例1的结构示意图;

图4为本发明公开的一种基于物联网设备指示灯的数据传输系统实施例2的结构示意图;

图5为本发明公开的一种物联网设备指示灯的控制结构示意图;

图6为本发明公开的一种指示灯产生的波形示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,为本发明公开的一种基于物联网设备指示灯的数据传输方法实施例1的流程图,所述方法可以包括以下步骤:

s101、通过编码对物联网设备指示灯的亮灯状态进行间接控制;

一般物联网设备都具有led指示灯,可以被物联网设备软件控制。本发明提出利用软件控制物联网设备指示灯,使用可见光通信的技术向外发送信息,这样,不需要改动硬件功能,只需要更新物联网设备的软件就可以为物联网设备增加一个对外传输数据的低速通道,可以用于在物联网设备升级时增加监控功能等应用场合。

但是,目前多数物联网设备软件是运行于操作系统(如嵌入式linux、安卓等)之上的,且led是某个模块的指示灯,由外部芯片控制,并不能由用户软件直接控制亮灭。针对这种结构的物联网设备,可以使用间接控制来利用led发送数字信号。例如,假设利用储存器指示灯传输数据,此时图5中的“模块控制芯片”指的是储存器控制芯片,当cpu通过储存器控制芯片访问储存器时,控制芯片同时控制led指示灯亮,访问结束后,led灯灭。应用软件不能直接控制led,只能通过向操作系统提交储存器读写请求来间接控制led亮(相当于发射1码元)。而led灯灭(发射0码元)的时间则由程序延时来控制。这种方法存在一个问题,当前主流嵌入式操作系统都是非实时操作系统,其延时精度为10ms量级且很不稳定。受此影响,当发送速率达到1kbps量级后,最终发射的波形0码元时间极不稳定,造成接收端无法成功接收。

针对上述问题,当需要传输物联网设备的数据时,本发明提出一种线路编码方式,仅采用led亮灯状态来承载信息,通过编码对物联网设备指示灯的亮灯状态进行间接控制。

s102、通过亮灯状态实现传输物联网设备的数据。

当通过编码对物联网设备指示灯的亮灯状态进行间接控制后,在需要传输物联网设备的数据时,进一步根据物联网设备指示灯亮灯状态实现物联网设备的数据传输。

综上所述,在上述实施例中,当需要实现物联网设备的数据传输时,首先通过编码对物联网设备指示灯的亮灯状态进行间接控制,然后通过亮灯状态实现传输物联网设备的数据。本发明通过编码对物联网设备指示灯的亮灯状态进行间接控制,在不更改物联网设备硬件结构的情况下,能够通过指示灯利用可见光通信来实现物联网设备的数据传输,进一步提升了用户使用物联网设备的体验。

如图2所示,为本发明公开的一种基于物联网设备指示灯的数据传输方法实施例2的流程图,所述方法可以包括以下步骤:

s201、通过编码对物联网设备指示灯的亮灯状态进行间接控制,其中,将编码0代表物联网设备指示灯的短亮,将编码1代表物联网设备指示灯的长亮;

一般物联网设备都具有led指示灯,可以被物联网设备软件控制。本发明提出利用软件控制物联网设备指示灯,使用可见光通信的技术向外发送信息,这样,不需要改动硬件功能,只需要更新物联网设备的软件就可以为物联网设备增加一个对外传输数据的低速通道,可以用于在物联网设备升级时增加监控功能等应用场合。

但是,目前多数物联网设备软件是运行于操作系统(如嵌入式linux、安卓等)之上的,且led是某个模块的指示灯,由外部芯片控制,并不能由用户软件直接控制亮灭。针对这种结构的物联网设备,可以使用间接控制来利用led发送数字信号。例如,假设利用储存器指示灯传输数据,此时图5中的“模块控制芯片”指的是储存器控制芯片,当cpu通过储存器控制芯片访问储存器时,控制芯片同时控制led指示灯亮,访问结束后,led灯灭。应用软件不能直接控制led,只能通过向操作系统提交储存器读写请求来间接控制led亮(相当于发射1码元)。而led灯灭(发射0码元)的时间则由程序延时来控制。这种方法存在一个问题,当前主流嵌入式操作系统都是非实时操作系统,其延时精度为10ms量级且很不稳定。受此影响,当发送速率达到1kbps量级后,最终发射的波形0码元时间极不稳定,造成接收端无法成功接收。

针对上述问题,当需要传输物联网设备的数据时,本发明提出一种线路编码方式,仅采用led亮灯状态来承载信息,通过编码对物联网设备指示灯的亮灯状态进行间接控制。具体的,将编码0代表物联网设备指示灯的短亮,将编码1代表物联网设备指示灯的长亮。其中,长亮和短亮的时间比例可调。

s202、判断读取到的编码是否为0,若是,则进入s203,若否,则进入s204:

判断读取到的编码是否为0,即判断led灯是否要处于短亮状态。

s203、读取xk数据,控制物联网设备指示灯短亮;

当判断读取到的编码为0时,如图6所示,以储存器指示灯为例,此时储存器控制芯片读xk数据所需时间为t,相应的指示灯亮的时间也为t。

s204、判断读取到的编码是否为1,若是,则进入s205:

当判断读取到的编码不为0时,进一步判断读取到的编码是否为1,即判断led灯是否要处于长亮状态。

s205、读取2xk数据,控制物联网设备指示灯长亮;

当判断读取到的编码为1时,如图6所示,以储存器指示灯为例,此时储存器控制芯片读2xk数据所需时间为2t,相应的指示灯亮的时间也为2t。

需要说明的是,指示灯灭的时间利用程序运行的自然间隔,由于操作系统作用,其时长并不确定。读数据量和比值关系为可调参数,越小则速率越快,在应用时根据接收距离和接收器件敏感度来合理设定。经实验,当x=2(既短亮读取2k,长亮读取4k)时信息速率可达10kbps,且接收端可以稳定的读取数据。

上述操作在实现时还需注意,必须关闭储存器读缓冲区,否则读数据将不产生真的硬件操作,led指示灯并不会亮。使用的具体方法如下:

在windows类操作系统下(如win10iot),建立文件句柄时需使用带no_buffering参数的api函数,函数调用为:

createfile(path,generic_read,0,intptr.zero,open_existing,no_buffering,intptr.zero);

在linux类操作系统下(包括嵌入式linux、安卓),需要使用directio模式,函数调用为:

open(path,o_rdonly|o_direct,0755)。

s206、判断待发送数据是否全部发送,若是,则进入s207、若否,则返回s201:

在通过指示灯发送数据的过程中,实时判断待发送数据是否全部发送。

s207、结束数据传输过程。

当待发送数据已全部发送时,则结束整个数据传输过程;如果待发送数据还未全部发送完时,则返回再次通过编码对物联网设备指示灯的亮灯状态进行间接控制,重复上述过程,直至待发送数据已全部发送。

综上所述,本发明只要物联网设备具有可控的led指示灯,不需要改动硬件,仅更新软件就可以为现有的设备增加一个低速数据传输通道,适用于现有设备的软升级改造。本发明可以通过间接控制的led指示灯向外界发送信息,适用面广。提出的线路编码方式,发送速率和可靠性相对较高。本发明提出的方案适用于windows类和linux类嵌入式操作系统,涵盖了当前大多数物联网设备。

如图3所示,为本发明公开的一种基于物联网设备指示灯的数据传输系统实施例1的结构示意图,所述系统可以包括:

控制模块301,用于通过编码对物联网设备指示灯的亮灯状态进行间接控制;

一般物联网设备都具有led指示灯,可以被物联网设备软件控制。本发明提出利用软件控制物联网设备指示灯,使用可见光通信的技术向外发送信息,这样,不需要改动硬件功能,只需要更新物联网设备的软件就可以为物联网设备增加一个对外传输数据的低速通道,可以用于在物联网设备升级时增加监控功能等应用场合。

但是,目前多数物联网设备软件是运行于操作系统(如嵌入式linux、安卓等)之上的,且led是某个模块的指示灯,由外部芯片控制,并不能由用户软件直接控制亮灭。针对这种结构的物联网设备,可以使用间接控制来利用led发送数字信号。例如,假设利用储存器指示灯传输数据,此时图5中的“模块控制芯片”指的是储存器控制芯片,当cpu通过储存器控制芯片访问储存器时,控制芯片同时控制led指示灯亮,访问结束后,led灯灭。应用软件不能直接控制led,只能通过向操作系统提交储存器读写请求来间接控制led亮(相当于发射1码元)。而led灯灭(发射0码元)的时间则由程序延时来控制。这种方法存在一个问题,当前主流嵌入式操作系统都是非实时操作系统,其延时精度为10ms量级且很不稳定。受此影响,当发送速率达到1kbps量级后,最终发射的波形0码元时间极不稳定,造成接收端无法成功接收。

针对上述问题,当需要传输物联网设备的数据时,本发明提出一种线路编码方式,仅采用led亮灯状态来承载信息,通过编码对物联网设备指示灯的亮灯状态进行间接控制。

数据处理模块302,用于通过亮灯状态实现传输物联网设备的数据。

当通过编码对物联网设备指示灯的亮灯状态进行间接控制后,在需要传输物联网设备的数据时,进一步根据物联网设备指示灯亮灯状态实现物联网设备的数据进行传输。

综上所述,在上述实施例中,当需要实现物联网设备的数据传输时,首先通过编码对物联网设备指示灯的亮灯状态进行间接控制,然后通过亮灯状态实现传输物联网设备的数据。本发明通过编码对物联网设备指示灯的亮灯状态进行间接控制,在不更改物联网设备硬件结构的情况下,能够通过指示灯利用可见光通信来实现物联网设备的数据传输,进一步提升了用户使用物联网设备的体验。

如图4所示,为本发明公开的一种基于物联网设备指示灯的数据传输系统实施例2的结构示意图,所述系统可以包括:

控制模块401,用于通过编码对物联网设备指示灯的亮灯状态进行间接控制,其中,将编码0代表物联网设备指示灯的短亮,将编码1代表物联网设备指示灯的长亮;

一般物联网设备都具有led指示灯,可以被物联网设备软件控制。本发明提出利用软件控制物联网设备指示灯,使用可见光通信的技术向外发送信息,这样,不需要改动硬件功能,只需要更新物联网设备的软件就可以为物联网设备增加一个对外传输数据的低速通道,可以用于在物联网设备升级时增加监控功能等应用场合。

但是,目前多数物联网设备软件是运行于操作系统(如嵌入式linux、安卓等)之上的,且led是某个模块的指示灯,由外部芯片控制,并不能由用户软件直接控制亮灭。针对这种结构的物联网设备,可以使用间接控制来利用led发送数字信号。例如,假设利用储存器指示灯传输数据,此时图5中的“模块控制芯片”指的是储存器控制芯片,当cpu通过储存器控制芯片访问储存器时,控制芯片同时控制led指示灯亮,访问结束后,led灯灭。应用软件不能直接控制led,只能通过向操作系统提交储存器读写请求来间接控制led亮(相当于发射1码元)。而led灯灭(发射0码元)的时间则由程序延时来控制。这种方法存在一个问题,当前主流嵌入式操作系统都是非实时操作系统,其延时精度为10ms量级且很不稳定。受此影响,当发送速率达到1kbps量级后,最终发射的波形0码元时间极不稳定,造成接收端无法成功接收。

针对上述问题,当需要传输物联网设备的数据时,本发明提出一种线路编码方式,仅采用led亮灯状态来承载信息,通过编码对物联网设备指示灯的亮灯状态进行间接控制。具体的,将编码0代表物联网设备指示灯的短亮,将编码1代表物联网设备指示灯的长亮。其中,长亮和短亮的时间比例可调。

第一判断单元402,用于判断读取到的编码是否为0;

当读取到编码数据后,进一步判断读取到的编码是否为0,即判断led灯是否要处于短亮状态。

控制单元403,用于当读取到的编码为0时,读取xk数据,控制物联网设备指示灯短亮;

当判断读取到的编码为0时,如图6所示,以储存器指示灯为例,此时储存器控制芯片读xk数据所需时间为t,相应的指示灯亮的时间也为t。

第一判断单元402,还用于当读取到的编码不为0时,判断读取到的编码是否为1;

当判断读取到的编码不为0时,进一步判断读取到的编码是否为1,即判断led灯是否要处于长亮状态。

控制单元403,还用于当读取到的编码为1时,读取2xk数据,控制所述物联网设备指示灯长亮;

当判断读取到的编码为1时,如图6所示,以储存器指示灯为例,此时储存器控制芯片读2xk数据所需时间为2t,相应的指示灯亮的时间也为2t。

需要说明的是,指示灯灭的时间利用程序运行的自然间隔,由于操作系统作用,其时长并不确定。读数据量和比值关系为可调参数,越小则速率越快,在应用时根据接收距离和接收器件敏感度来合理设定。经实验,当x=2(既短亮读取2k,长亮读取4k)时信息速率可达10kbps,且接收端可以稳定的读取数据。

上述操作在实现时还需注意,必须关闭储存器读缓冲区,否则读数据将不产生真的硬件操作,led指示灯并不会亮。使用的具体方法如下:

在windows类操作系统下(如win10iot),建立文件句柄时需使用带no_buffering参数的api函数,函数调用为:

createfile(path,generic_read,0,intptr.zero,open_existing,no_buffering,intptr.zero);

在linux类操作系统下(包括嵌入式linux、安卓),需要使用directio模式,函数调用为:

open(path,o_rdonly|o_direct,0755)。

第二判断单元404,用于判断待发送数据是否全部发送;

在通过指示灯发送数据的过程中,实时判断待发送数据是否全部发送。

结束模块405,用于当待发送数据全部发送时,结束数据传输过程;

返回模块406,用于当待发送数据未全部发送时,返回所述控制单元,再次通过编码对物联网设备指示灯的亮灯状态进行间接控制。

当待发送数据已全部发送时,则结束整个数据传输过程;如果待发送数据还未全部发送完时,则返回再次通过编码对物联网设备指示灯的亮灯状态进行间接控制,重复上述过程,直至待发送数据已全部发送。

综上所述,本发明只要物联网设备具有可控的led指示灯,不需要改动硬件,仅更新软件就可以为现有的设备增加一个低速数据传输通道,适用于现有设备的软升级改造。本发明可以通过间接控制的led指示灯向外界发送信息,适用面广。提出的线路编码方式,发送速率和可靠性相对较高。本发明提出的方案适用于windows类和linux类嵌入式操作系统,涵盖了当前大多数物联网设备。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1