注重版权,若要转载烦请附上作者和链接

作者:Joshua_yi

链接:https://blog.csdn.net/weixin_44984664/article/details/109704772

文章目录

  • 一、引言
    • (二)RFID技术
    • (二)RFID多标签冲突问题
  • 二、面向比特的防冲突机制
  • 三、面向时隙的防冲突机制
  • 四、位和时隙相结合的防冲突机制
  • 五、确定性标签防冲突算法
    • (一)简介
    • (二)二进制树型搜索算法(BS)
    • (三)基于位仲裁的二进制树算法(BBT)
    • (四)修正的基于位仲裁的二进制树算法(MBBT)
    • (五)动态二进制搜索算法(DBS)
    • (六)基于后退索引的动态二进制搜索算法(BDBS)
  • 六、随机标签防冲突算法
    • (一)简介
    • (二)ALOHA算法和时隙ALOHA算法
    • (三)帧时隙ALOHA算法(FSA)
    • (四)动态帧时隙ALOHA算法(DFSA)
  • 七、总结
  • 八、参考文献

一、引言

(二)RFID技术

无线射频识别即射频识别技术(Radio Frequency Identification,RFID),是自动识别技术的一种,通过无线射频方式进行非接触双向数据通信,利用无线射频方式对记录媒体(电子标签或射频卡)进行读写,从而达到识别目标和数据交换的目的,其被认为是21世纪最具发展潜力的信息技术之一。

无线射频识别技术通过无线电波不接触快速信息交换和存储技术,通过无线通信结合数据访问技术,然后连接数据库系统,加以实现非接触式的双向通信,从而达到了识别的目的,用于数据交换,串联起一个极其复杂的系统。在识别系统中,通过电磁波实现电子标签的读写与通信。根据通信距离,可分为近场和远场,为此读/写设备和电子标签之间的数据交换方式也对应地被分为负载调制和反向散射调制。

(二)RFID多标签冲突问题

RFID读写器正常情况下一个时间点只能对磁场中的一张RFID卡进行读或写操作,但是实际应用中经常有当多张卡片同时进入读写器的射频场,读写器怎么处理呢?读写器需要选出特定的一张卡片进行读或写操作,这就是标签防碰撞。

防碰撞机制是RFID技术中特有的问题。在接触式IC卡的操作中是不存在冲突的,因为接触式智能卡的读写器有一个专门的卡座,而且一个卡座只能插一张卡片,不存在读写器同时面对两张以上卡片的问题。常见的非接触式RFID卡中的防冲突机制主要有以下几种。

二、面向比特的防冲突机制

高频的ISO14443A使用这种防冲突机制,其原理是基于卡片有一个全球唯一的序列号。比如Mifare1卡,每张卡片有一个全球唯一的32位二进制序列号。显而易见,卡号的每一位上不是"1"就是"0",而且由于是全世界唯一,所以任何两张卡片的序列号总有一位的值是不一样的,也就说总存在某一位,一张卡片上是"0",而另一张卡片上是"1"。 当两张以上卡片同时进入射频场,读写器向射频场发出卡呼叫命令,问射频场中有没有卡片。这些卡片同时回答"有卡片"; 然后读写器发送防冲突命令"把你们的卡号告诉我",收到命令后所有卡片同时回送自己的卡号。 可能这些卡片卡号的前几位都是一样的。比如前四位都是1010,第五位上有一张卡片是"0"而其他卡片是"1",于是所有卡片在一起说自己的第五位卡号的时候,由于有卡片说"0",有卡片说"1",读写器听出来发生了冲突。 读写器检测到冲突后,对射频场中的卡片说,让卡号前四位是"1010",第五位是"1"的卡片继续说自己的卡号,其他的卡片不要发言了。 结果第五位是"1"的卡片继续发言,可能第五位是"1"的卡片不止一张,于是在这些卡片回送卡号的过程中又发生了冲突,读写器仍然用上面的办法让冲突位是"1"的卡片继续发言,其他卡片禁止发言,最终经过多次的防冲突循环,当只剩下一张卡片的时候,就没有冲突了,最后胜出的卡片把自己完整的卡号回送给读写器,读写器发出卡选择命令,这张卡片就被选中了,而其他卡片只有等待下次卡呼叫时才能再次参与防冲突过程。 上述防冲突过程中,当冲突发生时,读写器总是选择冲突位为"1"的卡片胜出,当然也可以指定冲突位为"0"的卡片胜出。 上述过程有点拟人化了,实际情况下读写器是怎么知道发生冲突了呢?在前面的数据编码中我们已经提到,卡片向读写器发送命令使用副载波调制的曼侧斯特(Manchester)码,副载波调制码元的右半部分表示数据"0",副载波调制码元的左半部分表示数据"1",当发生冲突时,由于同时有卡片回送"0"和"1",导致整个码元都有副载波调制,读写器收到这样的码元,就知道发生冲突了。 这种方法可以保证任何情况下都能选出一张卡片,即使把全世界同类型的所有卡片都拿来防冲突,最多经过32个防冲突循环就能选出一张卡片。缺点是由于卡序列号全世界唯一,而卡号的长度是固定的,所以某一类型的卡片的生产数量也是一定的,比如常见的Mifare1卡,由于只有4个字节的卡序列号,所以其生产数量最多为2的32次方,即4294967296张。

三、面向时隙的防冲突机制

ISO14443B中使用这种防冲突机制。这里的时隙(timeslot)其实就是个序号。这个序号的取值范围由读写器指定,可能的范围有1-1、1-2、1-4、1-8、1-16。当两张以上卡片同时进入射频场,读写器向射频场发出卡呼叫命令,命令中指定了时隙的范围,让卡片在这个指定的范围内随机选择一个数作为自己的临时识别号。然后读写器从1开始叫号,如果叫到某个号恰好只有一张卡片选择了这个号,则这张卡片被选中胜出。如果叫到的号没有卡片应答或者有多于一张卡片应答,则继续向下叫号。如果取值范围内的所有号都叫了一遍还没有选出一张卡片,则重新让卡片随机选择临时识别号,直到叫出一张卡片为止。 这种办法不要求卡片有一个全球唯一序列号,所以卡片的生产数量没有限制,但是理论上存在一种可能,就是永远也选不出一张卡片来。 Felica采用的也是这种机制。

四、位和时隙相结合的防冲突机制

ISO15693中使用这种机制。一方面每张卡片有一个7字节的全球唯一序列号,另一方面读写器在防冲突的过程中也使用时隙叫号的方式,不过这里的号不是卡片随机选择的,而是卡片唯一序列号的一部分。 叫号的数值范围分为0-1和0-15两种。其大体过程是,当有多张卡片进入射频场,读写器发出清点请求命令,假如指定卡片的叫号范围是0-15,则卡片序列号最低4位为0000的卡片回送自己的7字节序列号。如果没有冲突,卡片的序列号就被登记在PCD中。然后读写器发送一个帧结束标志,表示让卡片序列号最低4位为0001的卡片作出应答;之后读写器每发送一个帧结束标志,表示序列号的最低4位加1,直到最低4位为1111的卡片被要求应答。如果此过程中某一个卡片回送序列号时没有发生冲突,读写器就可选择此张卡片;如果巡检过程中没有卡片反应,表示射频场中没有卡片;如果有卡片反应的时隙发生了冲突,比如最低4位是1010的卡片回送卡号时发生了冲突,则读写器在下一次防冲突循环中指定只有最低4位是1010的卡片参与防冲突,然后用卡片的5-8位作为时隙,重复前面的巡检。如果被叫卡片的5-8位时隙也相同,之后再用卡片的9-12位作为时隙,重复前面的巡检,依次类推。读写器可以从低位起指定任意位数的序列号,让卡号低位和指定的低位序列号相同的卡片参与防冲突循环,卡片用指定号前面的一位或4位作为时隙对读写器的叫号作出应答。由于卡片的序列号全球唯一,所以任何两张卡片总有某个连续的4位二进制数不一样,因而总能选出一张卡片。需要指出的是,当选定的时隙数为1时,这种防冲突机制等同于面向比特的防冲突机制。

五、确定性标签防冲突算法

(一)简介

目前在给出的关于RFID系统的ISO/IEC标准中,应用的确定性标签防冲突算法如下:

在ISO 14443标准中,TYPE A中使用的是二进制树搜索算法。

在ISO 18000-3标准中,MODE2使用的是FTDMA算法。

在ISO 18000-6标准中,TYPEB使用的是二进制树搜索算法。

(二)二进制树型搜索算法(BS)

二进制树型搜索算法(Binary Search)属于时分多路算法的一种,按照递归的方式遇到有冲突发生就进行分枝,生两个子集。当这些分枝越来越细,直到最后分枝下面只有一个信息包或无剩余信息包。若在某时隙发生冲突,所有的包都不再占用信道,直到冲突问题解决。如同抛一枚硬币一样,这些信息包随机的分为两个分枝,在第一个分枝里,是抛0面的信息包,在接下来的时隙内,主要解决这些信息包发生的冲突,如果再次有冲突,则继续按前述分为两个分枝,过程不断重复,直到某个时隙为空或是成功完成一次的数据传输,然后返回上一个分枝,这个过程遵循First-in Last-out的原则,先处理完成第一个分支,再来传输第二个分枝,也就是抛1面的信息包。

二进制搜索算法是利用逐步减少发生冲突的位的方法来完成对标签的识别的。阅读器必须能够准确地发现发生冲突的位是该算法的前提条件。因此,在该算法中,标签的返回信号的编码方式使用了Manchester编码。在Manchester编码方式中,每个信号比特中间引入跳变来同时代表不同数值和同步信息。一个负电平到J下电平的跳变代表逻辑"O",而一个正电平到负电平的跳变则代表逻辑"l"。在数据传输过程中"没有变化"的状态是不允许的。因此,当一个阅读器收到标签的返回信号后,如果发现某些位信号的状态没有发生改变,那么阅读器就能够判断这些位一定发生了相互之间的冲突。

(三)基于位仲裁的二进制树算法(BBT)

在基于位仲裁(Bit Binary Tree)的二进制树算法中,所有的处于阅读器读写范围内的未被阅读器识别的标签在开始时候都处于激活状态(并不是指这些标签都是主动式标签,而是由阅读器发送命令激活)。所有的这些标签都将参加仲裁过程。但是在一个仲裁过程的进行当中,如果有新的标签进来,不参加本次仲裁的过程。但是,当此次仲裁过程结束后,这些新进来的标签可以参加下一个仲裁过程。一次完整的仲裁过程的定义是:从一次仲裁开始,到一个标签被阅读器所识别的整个过程。算法的核心思想是:收到阅读器的读写信号之后,在阅读器读写范围内的所有处于激活状态的标签都发送给阅读器一个位(O或者1,是标签识别码(D)的一位,一般从高位开始)。阅读器收到标签返回信号后,如果发现没有冲突,也就是标签返回的都是0或者都是l,阅读器将存储该位信息;而如果阅读器发现标签返回信号之间有冲突存在,即返回信号中既有0也有1,阅读器将选择发送0的一组标签或者发送l的那组标签继续本次仲裁的过程。一旦阅读器选了某组,另外一组在接下来的仲裁过程中将不苒发送信号给阅读器。本次仲裁过程一直持续到有某个标签被识别。被识别出的标签将不参加下面的仲裁过程。本次仲裁过程结束之后,如果仍有标签未被识别,将开始一个新的仲裁过程。根据该算法的思想可知,该算法一次仲裁的重复次数与阅读器能够操作的标签数量不相关,仅与标签的ID的长度相关。同时仲裁重复的次数与标签的数目有关。假定有珂个标签,每个标签的长度是m,那么算法需要的全部重复的次数,为 I=n∗mI = n * mI=n∗m 可以结合一个例子来说明该算法的执行过程。假定在阅读器读写范围内存在5个标签,它们的识别码分别是00000001(标签1),00001001(标签2),00100010(标签3),001l1000(标签4),00111001(标签5)。该算法的执行过程可以用2表示。

上图中,出现"?(O)“号的地方表示标签返回信号在阅读器处发生了冲突,且冲突后,阅读器选择了发送信号为0的那一组标签继续本次的仲裁过程。可以看到,5个标签的识别过程用了5次仲裁过程。而每次仲裁过程,阅读器发送了8次询问信号。因此要识别出这5个标签,阅读器总共发送了40次询问信号,也就是算法总共重复了40次(5X8位)。基于位仲裁的二进制树算法能够有效地解决标签之间的冲突问题,但是由算法的特点可以看出,该算法仅适合于标签数目比较少,并且标签的识别码比较短的RFID系统。但在实际应用中,阅读器往往需要在很短的时间内识别大量的标签,而且实际的标签的识别码(EPC码)很长(64位、96位或256位)。所以,该算法并不适合于实际的应用。上图中,出现”?(O)"号的地方表示标签返回信号在阅读器处发生了冲突,且冲突后,阅读器选择了发送信号为0的那一组标签继续本次的仲裁过程。可以看到,5个标签的识别过程用了5次仲裁过程。而每次仲裁过程,阅读器发送了8次询问信号。因此要识别出这5个标签,阅读器总共发送了40次询问信号,也就是算法总共重复了40次(5*8位)。基于位仲裁的二进制树算法能够有效地解决标签之间的冲突问题,但是由算法的特点可以看出,该算法仅适合于标签数目比较少,并且标签的识别码比较短的RFID系统。但在实际应用中,阅读器往往需要在很短的时间内识别大量的标签,而且实际的标签的识别码(EPC码)很长(64位、96位或256位)。所以,该算法并不适合于实际的应用。

(四)修正的基于位仲裁的二进制树算法(MBBT)

修正的基于位仲裁的二进制树算法(Modified Bit Binary Tree)的算法原理基本上和基于位仲裁的二进制树算法的算法原理一样,除了一点不同,那就是当两个标签只有最后一位不同,其它位的值都相同的时候,不需要再进行一次仲裁的过程,而可以直接同时识别出来两个标签。 修正的基于位仲裁的二进制树算法的执行过程如图

由于标签4和标签5的识别码除了最后一位不同外,其它的各位都相同。所以,在阅读器进行第4次仲裁过程后,可以同时识别出来这两个标签,而不需要再执行一次仲裁的过程。图3中,识别这5个标签,算法重复的次数是32次(4*8位)。由修正的基于位仲裁的二进制树算法的执行过程可知,在一些特殊的情况下,和基于位仲裁的二进制算法相比,该算法能够减小算法的重复次数,从而可以减小阅读器读写标签的时间。但是效果不是很明显,仍需要进一步改进。

(五)动态二进制搜索算法(DBS)

通过研究二进制搜索算法可以发现,阅读器每次传输的命令长度都和标签的识别码一样,而且标签的回复信号也需要把自己的识别码完整的传输给阅读器,不管是已经被识别出来的位,还是未被识别出来的位。如前所述,在实际应用中,标签的识别码通常很长,所以按照二进制搜索算法要传输大量的数据。通过研究二进制搜索方法,研究者提出了动态二进制搜索算法(Dynamic Binary Search )。该算法中,阅读器在请求命令中只需要发送需要识别的识别码的已知部分作为搜索条件,而应答器只需要传输未被识别的部分。若标签D长度为M bit,则用动态二进制搜索算法每次传送的D平均长度为 L=(M+1)/2L = (M + 1) / 2L=(M+1)/2 若标签数为N个,采用二迸制搜索算法识别N个ID为Mbit的标签所需要传输的总数据量(总迭代次数*标签ID长度)为 S=M∙SUM(N)=M[∑i=1r−1(i+1)2i−1+(r+1)(N−2i−1)]S=M\bullet SUM(N)=M[\sum_{i=1}^{r-1}(i+1)2^{i-1} + (r+1)(N-2^{i-1})]S=M∙SUM(N)=M[i=1∑r−1​(i+1)2i−1+(r+1)(N−2i−1)] 而动态二进制搜索算法需传输的总数据量为 S′=(M+1)∙[∑i=1r−1+(r+1)(N−2r−1)]/2=S/2S' = (M+1)\bullet [\sum_{i=1}^{r-1}+(r+1)(N-2^{r-1})]/2 =S/2S′=(M+1)∙[i=1∑r−1​+(r+1)(N−2r−1)]/2=S/2

可见,通过这种简单的改动,动态二进制搜索算法要传输的数据数量和所需时间可以比二进制搜索算法减少50%。虽然动态二进制对原有的算法进行了修改后,效率提高了50%,但是这种算法在实际的应用中仍然不能满足要求,只适用于少量的标签的应用中。

(六)基于后退索引的动态二进制搜索算法(BDBS)

基于后退索引的动态二进制搜索算法(Back-Off Dynamic Binary Search)算法是二进制搜索算法的另外一种改进算法。和二进制搜索算法相比,有以下两点不同:

当一个标签被识别出之后,该算法的重复过程和二进制算法有所不同。阅读器下一过程开始所发送请求命令中的参数和上一过程的倒数第二个请求命令所发送请求命令中的参数相同。然后是倒数第三个,第四个等等。该过程一直反复,直到所有的标签都被识别。

在第一次请求命令中,阅读器发送"NULL",而不是最大的识别码。在下一个请求命令中,阅读器发送已知的位,而不是所有的位。和二进制搜索算法一样,阅读器也是从高位到低位开始搜索。如果标签的识别码的高位和阅读器发送的已知位相同,则标签响应阅读器。

六、随机标签防冲突算法

(一)简介

目前在给出的关于RFID系统的ISO国际标准中,应用的随机标签防冲突算法如下:

在ISO 14443标准中,TYPE B使用的是时隙ALOHA算法。

在ISO 15693标准中,使用的是时隙ALOHA算法。

在ISO 18000-3标准中,MODEl使用的是时隙ALOHA算法。

在ISO 18000-6标准中,TYPEA使用的是ALOHA算法。

(二)ALOHA算法和时隙ALOHA算法

在RFID系统中,ALOHA算法主要是用在只读标签系统中。在RFID系统中,ALOHA算法是由标签驱动的随机TDMA过程。这就意味着一旦一个标签进入一个阅读器的读写范围,它将主动发送数据给阅读器。在这样一个系统中,标签和阅读器之间的通信数据量比较小,主要是标签的识别码。在ALOHA算法中,标签周期性的发送数据给阅读器。标签发送数据的时间是整个周期的一小部分。第一次发送数据给阅读器之后,标签要等待一段相当长的时间后才再一次发送数据给阅读器。通过这种方式,直到所有标签都完成发送数据给阅读器后,整个重复周期才停止。考虑ALOHA的这种工作机制可知,如果多个标签在同时发送它们的数据给阅读器,或者在一个标签正在发送它的数据给阅读器的过程中,另外的标签也开始发送过程,必然会导致标签之间的相互冲突。当阅读器读写区域内的标签数目非常多的时候,这种冲突的几率会剧烈增加,导致系统的吞吐量急剧减小。因此,该算法仅仅适用于标签的数目比较小,而且标签和阅读器之间的数据交换量也比较小的情况(如果标签和阅读器之间的数据交换量比较大的话,将会对标签识别造成很大的时延)。而对于标签数目比较大,而且阅读器和标签之间的数据交换量比较大的情况,必须对ALOHA算法加以改进。时隙ALOHA算法正是基于这样一个思想而发展起来的。时隙ALOHA是第一个ALOHA的改进算法,该算法的吞吐量是ALOHA算法的吞吐量的两倍。在该算法中,标签只能在每个时隙的开始发送数据给阅读器,时隙的多少和起始时间由阅读器所控制。很显然,和ALOHA算法不同,时隙ALOHA是一个随机的、由阅读器驱动的TDMA防冲突算法。因为标签只能在每个时隙的起始发送数据,从而使得冲突发生的时间间隔只有ALOHA算法的一半。所以,该算法的吞吐量是ALOHA算法的两倍。表4表明了时隙ALOHA算法的执行过程。

“Downlink"表示"下行信道”,即从阅读器到标签的通信;“Uplink"表示"上行信道”,即从标签到阅读器的通信。从表4可以看出,标签l在时隙l和时隙2中都发送其数据给阅读器。时隙1和时隙2都发生了标签之间的相互冲突。在时隙3中只有标签5发送数据给阅读器,所以没有冲突发生,标签5发送数据成功。该过程重复执行到所有的标签都被阅读器所识别为止。

(三)帧时隙ALOHA算法(FSA)

尽管时隙ALOHA算法比ALOHA算法的吞吐量提升了一倍,但是如果在阅读器的读写范围内的标签非常大的时候,该算法的效率也会很快降低。帧时隙ALOHA是时隙ALOHA的一个改进算澍。和时隙ALOHA算法相比,帧时隙ALOHA算法的最大的不同之处就是,通信信道被分为若干个帧,每帧又分割为若干时隙。标签在一个数据帧之内只能选择一个时隙进行数据的传输。这就意味着在一个数据帧之内,一个标签最多只能传输一次。图5简要描述了帧时隙ALOHA算法的执行过程。

"Downlink"和"Uplink"的含义和表4相同。"Frame i"示阅读器发送的第i个请求命令帧。和时隙ALOHA算法一样,帧时隙ALOHA算法将持续执行,直到所有的标签都被阅读器所识别。

(四)动态帧时隙ALOHA算法(DFSA)

在FSA算法执行的过程中,阅读器所发送的所有的请求命令帧的长度都相同,即发送的每帧中的时隙的数目都相同(每个时隙的长度都是相同的,便于算法的操作)。这在很大程度上限制了FSA算法的效率,可以说是FSA算法的一个致命缺点。在实际的应用过程中,标签的数目往往事先并不可知,这就会出现两种情况。一种情况是实际标签的数目远大于阅读器请求命令帧中的时隙数目;另外一种情况和第一种情况相反,就是实际标签的数目大大小于阅读器请求命令帧中的时隙数目。在第一种情况下,由于标签的数目太多,而阅读器请求命令帧中的时隙数目太少,就必然会造成多个标签争用一个时隙的情况增多。这就会导致标签之间的相互冲突,从而使得有些标签在较长时间内还不能得到识别,导致阅读器识别全部标签的时间大大增加。在第二种情况下,由于标签的数目太少,而阅读器请求命令帧中的时隙数目又太多,就会导致有很多剩余的时隙。从而导致由于不必要的时间浪费而使得阅读器识别全部标签的时间增大。DFSA算法正是为了解决这样一个问题而提出来的。

七、总结

由于RFID技术具有其他自动识别技术不可比拟的优点,近年来获得了广泛的关注。本论文从当前获得广泛应用的RFID系统出发,对RFID阅读器防冲突算法进行了较深入的思考和总结。

八、参考文献

  • http://tech.rfidworld.com.cn/2019_10/f1ea0285a2255195.html RFID多标签阅读的防冲突机制

  • 物联网RFID标签防冲突方法解析

  • 射频识别技术 RFID

  • http://d.wanfangdata.com.cn/thesis/Y1463360 RFID标签及阅读器防冲突算法研究

多RFDI标签读取冲突问题相关推荐

  1. 无源的nfc加传感_基于ON Semiconductor SPS无源温度标签,应用于冷链运输的 UHF 标签读取器方案...

    冷链,即冷冻冷藏供应链的简称,泛指冷藏冷冻类食品从原材料供应物流.食品工厂内生产物流.贮藏运输物流至贩卖销售物流等,各个环节中始终处于规定的低温环境下,以保证食品质量,减少食品损耗的一项系统工程 .随 ...

  2. spring使用@Value标签读取*.properties文件的中文乱码问题的解决

    spring使用@Value标签读取*.properties文件的中文乱码问题的解决 参考文章: (1)spring使用@Value标签读取*.properties文件的中文乱码问题的解决 (2)ht ...

  3. mp3 音频 音乐 tag ID3 ID3V1 ID3V2 标签 读取信息 获得图片 jpeg bmp 图片转换(上)

    看到标题估计有人懵了,不过对于用到的人可以说是眼前一亮啊.做了点这个小东西,断断续续的花了我好长时间.本来不想写,但是网上的资料都是坑爹呢. 中国的抄袭果然是根深蒂固啊.上到机构.砖家.公司,下到各种 ...

  4. Vue:uniapp实现NFC标签读取功能

    微信小程序官方文档中提供了调用NFC功能的基础库: NFC - wx.getNFCAdapter - <微信小程序官方开发文档(全) - 20210305> - 书栈网 · BookSta ...

  5. 【xml】【精灵标注助手】【标签读取与重写】

    顶部位置 具体内容 精灵标注助手的标注结果 code: 将精灵标注结果改为voc格式标注结果 改写后的xml文件内容 内容4 内容5 内容6 1. 精灵标注助手的标注结果 返回顶部 <?xml ...

  6. VTK 7.0 安装中内存读取冲突 no override found for “.. 解决记录

    https://blog.csdn.net/u012552296/article/details/50865997

  7. MonsoonRF推出新型RFID读取器,安装难度和换灯泡差不多

    安装RFID基础设施所需的成本和时间是RFID部署的障碍之一.一些企业希望在特定范围内试用一个系统从而测试标签读取的能力并判断这些数据的作用.它们需要先安装RFID读取器并将其连接到电缆,天线,以太网 ...

  8. Qt制作简单标签云(上)

    前言:这两天看Qt看到了网络通信这块,就想起了以前想写的一个小项目:标签云(当时不知道这个名,后来查了才知道的).花了一些心思,做了个简易的标签云版本.记录在此. 本项目分以下几个部分进行记录: 1. ...

  9. 使用Glide加载、缓存图片、Gif、解决背景出现浅绿色、GlideModules冲突

    之前一直使用Volley ImageLoader.或者Picasso,无意间发现Glide,觉得真的是棒棒的. 1.和其他的一样在Module的build.gradle中添加依赖 compile 'c ...

最新文章

  1. python皮同_Python OpenCV 图像的双线性插值算法,全网最细致的算法说明_橡皮擦,一个逗趣的互联网高级网虫-CSDN博客...
  2. 关于MySQLdb连接数据的使用(插入数据,删除数据,更新数据,搜索数据——前端页面完成这些对数据库的操作)
  3. 华为某研究生程序员哀叹:年薪五十多万,存款一百万,却不知道未来怎么走!...
  4. CSS魔法堂:说说Float那个被埋没的志向
  5. 没有Javax的Jakarta EE:这次世界也不会结束
  6. 论文学习9-Bidirectional LSTM-CRF Models for Sequence Tagging(LSTM,BILSTM,LSTM-CRF,BILSTM-CRF
  7. javaweb实现验证码功能
  8. 远程登录服务器哪个工具好,远程登录服务器,有什么比较好用的工具?
  9. mybatis 多表插入_CRUD_Operator-Mybatis
  10. 微软vc运行库地址VC9VC11
  11. 开源的魔兽世界参考架构——mangos--网络游戏引擎BigWorld 服务器介绍
  12. 倒计时1天,IMG、完美、腾讯技术大咖相聚直播间详解光线追踪技术
  13. 计算机正数和负数的除法运算,正数与负数——整数的乘除法与四则运算.pdf
  14. CPU线程与超线程技术
  15. 商用密码产品认证-IPSec/SSL网关技术与产品
  16. php抓取微信文章图片保存到本地
  17. 数据库系统原理与应用教程(040)—— MySQL 查询(二):设置要查询的列名或表达式
  18. ShuZu冒泡排序选择排序
  19. 从 BeReal 爆火背后,探秘图片社交新范式
  20. ALLEGRO-DRC-错误代码

热门文章

  1. 物流机器人基本认识(1)
  2. 人脸检测:在公共交通场所监控中起什么样的作用?
  3. e.g. i.e. etc. et al. w.r.t. i.i.d.英文论文中的缩写语
  4. 美国不惜代价研究超能力
  5. 如何将Java完全卸载
  6. 【每日论文阅读】Collaborative Visual Inertial SLAM for Multiple Smart Phones
  7. 组件、子系统、包区别联系
  8. ssm+java计算机毕业设计宾馆管理信息系统jjf0x(程序+lw+源码+远程部署)
  9. win10电脑如何录屏
  10. 【深度长文】小样本学习及其在美团场景中的应用