
射频识别技术
寰宇C++
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Debug调试,保存的日志文件控制在2000行左右(可以当printf打印,也可以选择输出信息到文件,还能控制文件行数)
//Debug调试开关,打开则输出到文件,屏蔽则直接终端输出//****************************************************#define DEBUG //使能DEBUG,输出调试信息给文件char *filepath="/opt/test.txt";int max_rows=2000; //文件内容行数最大值int file_rows=0; //实际文件内容行数//***********************************.原创 2021-12-02 14:01:21 · 997 阅读 · 0 评论 -
Python + logging 输出到屏幕,将log日志写入文件
Python之日志处理(logging模块)本节内容日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging四大组件记录日志 配置logging的几种方式 向日志输出中添加上下文信息 参考文档一、日志相关概念日志是一种可以追踪某些软件运行时所发生事件的方法。软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情。一个事件可以用一个可包含可选变量数据的消息来描述。此外,事件也有重要性原创 2021-10-06 21:11:12 · 3088 阅读 · 1 评论 -
PySimpleGUI-master 界面展现
Browser_START_HERE_Demo_Programs_Browser.pyDemo_All_Elements.pyDemo_Animated_GIFsDemo_Animated_GIFs_Using_PILDemo_Auto_Save_Window_PositionDemo_Bar_ChartDemo_Base64_Image_EncoderDemo_Base64_Single_Image_EncoderDemo_Bord...原创 2021-09-27 16:01:05 · 812 阅读 · 1 评论 -
RFID Gen2协议 blf 控制 【BLF:反向散射链路频率】
一.反向散射耦合RFID系统1.反向散射雷达技术为RFID的反向散射耦合方式提供了理论和应用基础。当电磁波遇到空间目标时,其能量的一部分被目标吸收,另一部分以不同的强度散射到各个方向。在散射的能量中,一小部分反射回发射天线,并被天线接收(因此发射天线也是接收天线),对接收信号进行放大和处理,即可获得目标的有关信息。2.RFID反向散射耦合方式一个目标反射电磁波的频率由反射横截面来确定。反射横截面的大小与一系列的参数有关,如目标的大小、形状和材料,电磁波的波长和极化方向等。由于...原创 2021-09-01 17:11:37 · 1157 阅读 · 0 评论 -
System.InvalidOperationExceptino:如果应用程序没有控制台或者控制台输入已通过文件进行重定向,则无法读取键,请尝试使用Console.Read
System.InvalidOperationExceptino:如果应用程序没有控制台或者控制台输入已通过文件进行重定向,则无法读取键,请尝试使用Console.Read这个问题其实很简单,主要是因为你的项目中设置了Windows应用程序但是使用了控制台中才可以使用的方法:Console.如果继续使用控制台程序,则可以改设置:现在就没问题了...原创 2021-08-07 11:19:18 · 824 阅读 · 0 评论 -
Python库导入错误:ImportError: No module named matplotlib.pyplot
Python库导入错误:ImportError: No module named matplotlib.pyplot在Python中导入matplotlib.pyplot时出现如下错误:在Windows操作系统下解决办法为:打开命令提示符(按快捷键Win+r ,输入“cmd",回车),输入以下指令即可安装matplotlib模块:python -m pip install matplotlibPython中其他模块在Windows下安装指令与此类似。...原创 2021-08-06 16:31:37 · 3231 阅读 · 0 评论 -
物联网后向散射系统的诞生与技术原理
我们已步入万物互联的新时代,然而物联网节点高度依赖电源供电,严重影响了物联网的普及应用。因为在一个实际部署的、有一定规模的物联网中更换电池并不是一件简单的事情。我们首先需要准确知道成百上千个节点中哪些节点需要更换电池,然后远赴野外,找到这些节点并进行电池更换。只要物联网系统运行,这样的工作就需要不断迭代进行。仅仅是更换电池的人力代价,就足以让物联网潜在用户望而却步。更何况,电池的大量使用也将导致严重的环境污染。令人欣慰的是,低功耗感知元器件、低功耗处理芯片、低功耗通信等技术的出现,为物联网摆脱电池束缚带原创 2021-08-06 11:45:24 · 1954 阅读 · 0 评论 -
硬核易懂来了!!原码 反码 补码 一网打尽
今天复习计网的时候看到了UDP头部有差错校验,其中的checksum算法没理的太清楚,索性写一篇博客,顺便回顾一下其他的。校验和覆盖的内容:IP校验和:IP首部。ICMP校验和:ICMP首部+ICMP数据;UDP、TCP校验和:首部+数据+12个字节伪首部(源IP地址、目的IP地址、协议、TCP/UDP包长)。计算校验和的步骤:[1]把校验和字段设置为0。[2]把需要校验的数据看成以16位为单位的数字组成,依次进行二进制反码求和。[3]把得到的结果存入校验和字段中。另外UDP、TC原创 2021-07-28 18:10:05 · 507 阅读 · 0 评论 -
计算程序耗时 ,linux 版本 C C++
#include <sys/time.h> //引入头文件int main(){ struct timeval t1,t2; double timeuse; gettimeofday(&t1,NULL); fun(); gettimeofday(&t2,NULL); timeuse = (t2.tv_sec - t1.tv_sec) + (double)(t2.tv_usec - t1.tv_usec)/1000000.原创 2021-07-20 15:26:14 · 463 阅读 · 0 评论 -
一文解决python的GUI--python程序员必会GUI库-神器PySimpleGUI良心总结
import PySimpleGUI as sg def 总体说明(): #下面这个layout变量就是控件的集合,里面放空间 #将来我们直接把这个变量传到窗口(屏幕)那里 #你可以把它当作实际内容 #以下是个简单的例子 layout = [[sg.Text("要显示在窗口上的文字")], [sg.Button("完成")]] #他还有参数,你懂的:title='Options',etitle_color='rd', #sg.Win...原创 2021-07-15 21:57:19 · 1626 阅读 · 1 评论 -
RFID超高频技术商业应用(2) 服装管理应用
RFID技术的快速发展,已经得到越来越多的领域的认可与使用。超高频作为RFID技术中其中一种频段,由于非接触式,读取距离远,识别快,存储数据量大,超高频RFID技术已经应用越来越广。RFID技术从服装生产、加工、质检、仓储、物流运输、配送、销售等各个环节都进行信息化管理。RFID超高频技术将如何打造服装管理新领域。1、服装RFID防伪功能在RFID服装管理的生产过程中,利用超高频RFID发卡器将单件服装的一些重要属性如:名称、等级、货号、型号、面料、里料、洗涤方式、执行标准、商品编号、检验员编号原创 2021-07-14 11:09:36 · 366 阅读 · 0 评论 -
RFID超高频技术商业应用(1) 服装管理应用
一直以来,RFID电子标签因其更好的安全性、数据流量大、使用寿命长、读取方便快捷等特点在国内零售业的应用亦是如火如荼。欧美地区的化妆品和珠宝零售商销售的产品中更是超过60%都携带了RFID电子标签。“最近三五年,服装零售方面应用的RFID标签天线,例如电子珠宝标签、RFID服装吊牌等已经是我们业绩主力,从梅西百货开始、到迪卡侬、到优衣库、到海澜之家,尤其从优衣库推广应用之后,零售应用RFID技术最近三年几乎接近九成”,业内人士透露说道。采用RFID技术可实现全寿命跟踪、效率提升和智能防盗等功能,可以解决目前原创 2021-07-14 09:44:11 · 462 阅读 · 0 评论 -
超高频RFID模块
2.从逻辑上将标签存储器分为四个存储区,每个存储区可以由一个或一个以上的存储器字组成。这四个存储区是:00 保留区(Password):前两个字是销毁(kill)密码,后两个字是访问(access)密码。可读可写。01 EPC 区(EPC):存EPC号的区域,本读写器规定最大能存放15字EPC号。可读可写。10 TID 区(TID):存由标签生产厂商设定的 ID 号,目前有4字和8字两种ID 号。可读,不可写。11 用户区(User):不同厂商该区不一样。Inpinj 公司的 G2 标签没有用户..原创 2021-07-09 17:20:34 · 2090 阅读 · 0 评论 -
字符转数值,转十六进制,十六进制字符直接转十进制数值
/将字符转为数值int char_to_int(char ch){ // 如果是数字,则用数字的ASCII码减去48, 如果ch = '2' ,则 '2' - 48 = 2 if(isdigit(ch)) return ch - 48; // 如果是字母,但不是A~F,a~f则返回 if( ch < 'A' || (ch > 'F' && ch < 'a') || ch > 'z' ) .原创 2021-07-09 15:53:48 · 321 阅读 · 0 评论 -
什么是RFID? RFID简介,射频识别技术发展历史.金属液体对RFID的影响
什么是RFID? '''RFID是射频识别技术的英文(Radio Frequency Identification)的缩写,又称电子[[标签]]''',射频识别技术是20世纪90年代开始兴起的一种自动识别技术,射频识别技术是一项利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触[[信息传递]]并通过所传递的信息达到识别目的的技术。 无线射频识别技术(RFID)已经成为一个很热门的话题。据业内人士预测,RFID[[技术市场]]将在未来五年内在新的产品与服务上带来30至100亿[[美金]]的商机,随原创 2021-07-09 14:09:25 · 3475 阅读 · 0 评论 -
在linux内核文件中arch文件作用
arch 这个子目录包含了此核心源代码所支持的硬件体系结构相关的核心代码。如对于X86平台就是i386。include 这个目录包括了核心的大多数include文件。另外对于每种支持的体系结构分别有一个子目录。init 此目录包含核心启动代码。mm 此目录包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于arch/*/mm目录下,如对应于X86的就是arch/i386/mm/fault.cdrivers 系统中所有的设备驱动都位于此目录中。它又进一步划分成几类设备驱动,每一种也有对应原创 2021-06-05 16:57:20 · 2191 阅读 · 1 评论 -
linux 时间校准
记录一下校准时间操作的执行步骤:首先使用 date 查看当前时间是否准确校准时间命令ntpdate cn.pool.ntp.org原创 2021-06-04 17:26:14 · 214 阅读 · 0 评论 -
通俗易懂理解 setsockopt函数
之前一直没明白setsockopt的作用。原来是用来设置socket的属性。setsockopt设置SO_REUSEADDR。socket关闭之后并不会立即收回,而是要经历一个TIME_WAIT的阶段。windows下最多可以达到4分钟。所以在这个时候对这个端口进行重新绑定就会出错。所以需要先设置 SO_REUSEADDR.或者在closesocket的时候,使用setsockopt设置SO_DONTLINGER。也不会有TIME_WAIT的阶段.通常使用这个设置来加强网络程序的健壮性。原创 2021-05-20 10:51:05 · 489 阅读 · 0 评论 -
warning: incompatible implicit declaration of built-in function ‘strncpy‘
添加 #include <stdio.h>#include <string.h>#include <stdlib.h>原创 2021-05-19 14:26:14 · 361 阅读 · 0 评论 -
warning: backslash and newline separated by space
删除反斜杠符""后面的空格,按方向键右键查看 在delete删除.原创 2021-05-14 10:26:23 · 224 阅读 · 0 评论 -
passing argument 1 of ‘pthread_mutex_lock‘ from incompatible pointer type
这类警告出现的原因是:xxx函数的x参数作为指针类型参数,指针类型不相容。解决办法: 在调用函数的参数前加上强制类型转换即可。示例源代码:void * signal_exit(void){ printf("Stop sniffer\n"); exit(0);}int main(void){ signal(SIGINT, signal_exit); return 0;}原因分析:void(* signal(int sig,void(* func...原创 2021-05-14 10:23:26 · 9559 阅读 · 0 评论 -
incompatible implicit declaration of built-in function ‘strlen‘
C语言编译出现 incompatible implicit declaration of built-in function ‘strlen’等C语言 编译时出现错误warning: incompatible implicit declaration of built-in function ‘malloc’warning: incompatible implicit declaration of built-in function ‘bzero’warning: incompatible im原创 2021-05-12 16:20:52 · 3172 阅读 · 0 评论 -
RFID定位原理及优劣势(优缺点)解读
RFID(Radio Frequency Identification)技术,又称无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。RFID定位原理类似于GPS定位,RFID标签在接收到多个读写器信号后,根据每个读写器的信号值计算出所在坐标。图中,A1-F8为一块场地,将其划分为A1-F8的24个子区域,每个区域有一个地理坐标。图中的笔记本代表携带RFID标签的设备,场地的4个角落里放着4个RFID读写器,...原创 2021-04-28 14:57:25 · 17426 阅读 · 2 评论 -
lseek()函数与fseek()函数详解
lseek()函数与fseek()函数详解C语言lseek()函数:移动文件的读写位置头文件: #include #include 定义函数:off_t lseek(int fildes, off_t offset, int whence);函数说明:每一个已打开的文件都有一个读写位置, 当打开文件时通常其读写位置是指向文件开头, 若是以附加的方式打开文件(如O_APPEND), 则读写位置会指向文件尾. 当read()或write()时, 读写位置会随之增加,lseek(原创 2021-04-28 11:18:35 · 2139 阅读 · 0 评论 -
定时器 通过select设置定时器
//秒级定时器#include <sys/time.h> #include <sys/select.h> #include <time.h> #include <stdio.h> //秒级定时器void setTimer(int seconds,int mseconds){ struct timeval temp; temp.tv_sec=seconds; temp.tv_usec=mseconds; s.原创 2021-04-28 10:18:47 · 873 阅读 · 0 评论 -
什么是回调函数?
我们绕点远路来回答这个问题。编程分为两类:系统编程(system programming)和应用编程(application programming)。所谓系统编程,简单来说,就是编写库;而应用编程就是利用写好的各种库来编写具某种功用的程序,也就是应用。系统程序员会给自己写的库留下一些接口,即API(application programming interface,应用编程接口),以供应用程序员使用。所以在抽象层的图示里,库位于应用的底下。当程序跑起来时,一般情况下,应用程序(applic...原创 2021-04-27 10:43:19 · 189 阅读 · 0 评论 -
如何把路由器当作交换机来使用?
路由器自身集成一个交换机的功能,能将路由器当交换机使用。网络的连接,不使用路由器上的WAN口,将前端路由器的网线接入路由器的LAN口,电脑也接入LAN口,路由器就可以当交换机使用。前端路由器----LAN口----路由器----LAN口----计算机1、更改路由器的管理地址,不要去前端的路由器IP地址冲突。我司路由器默认的管理地址都为192.168.1.1,因此在设置时,要更改路由器的管理地址,不要冲突。2、关闭该路由器上的DHCP功能,由前端的路由器来进行IP地址的分配。否则计算机无法获取原创 2021-04-27 10:27:26 · 1201 阅读 · 0 评论 -
什么是调试串口和普通串口
从通信的角度,没什么区别,只是调试串口用来打印调试信息,普通串口用于和其他设备通信原创 2021-04-27 09:43:21 · 2618 阅读 · 0 评论 -
linux提供了一系列的函数来操作GPIO
int io_out, in_in; //定义一个输出IO和一个输入IO io_out = GPIO_TO_PIN(1, 16); io_in = GPIO_TO_PIN(1, 17); gpio_request(io_out, "gpio_out"); //申请IO gpio_request(io_in, "gpio_in"); gpio_direction_output(io_out, 1); //设置IO为输出,上拉 gpio_direction_inpu..原创 2021-04-26 16:00:31 · 507 阅读 · 0 评论 -
什么是Telnet?
什么是Telnet? 对于Telnet的认识,不同的人持有不同的观点,可以把Telnet当成一种通信协议,但是对于入侵者而言,Telnet只是一种远程登录的工具。一旦入侵者与远程主机建立了Telnet连接,入侵者便可以使用目标主机上的软、硬件资源,而入侵者的本地机只相当于一个只有键盘和显示器的终端而已。为什么需要telnet? telnet就是查看某个端口是否可访问。我们在搞开发的时候,经常要用的端口就是 8080。那么你可以启动服务器,用telnet 去查看这个端口是否可用。 Te.原创 2021-04-25 16:11:13 · 3241 阅读 · 0 评论 -
Linux-eth0 eth0:1 和eth0.1关系
eth0 eth0:1 和eth0.1三者的关系对应于物理网卡、子网卡、虚拟VLAN网卡的关系:物理网卡:物理网卡这里指的是服务器上实际的网络接口设备,这里我服务器上双网卡,在系统中看到的2个物理网卡分别对应是eth0和eth1这两个网络接口。子网卡:子网卡在这里并不是实际上的网络接口设备,但是可以作为网络接口在系统中出现,如eth0:1、eth1:2这种网络接口。它们必须要依赖于物理网卡,虽然可以与物理网卡的网络接口同时在系统中存在并使用不同的IP地址,而且也拥有它们自己的网络接口配置文件。但是当所依.原创 2021-04-25 15:26:54 · 2047 阅读 · 0 评论 -
DHCP服务器是什么?
DHCP服务器是什么?DHCP服务器是指由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。通俗点说,DHCP服务器就是自动给电脑分配IP地址和子网掩码的服务器。比如我们设置了路由器的DHCP服务器,让DHCP服务器自动分配IP地址,从192.168.1.100到192.168.1.199(子网掩码会自动设置,我们无需设置),如下图所示。...原创 2021-04-25 15:20:50 · 3171 阅读 · 0 评论 -
foxmail远程主机强迫关闭了一个现有的连接
远程主机强迫关闭了一个现有的连接”,按照foxmail中的系统设置——账号——服务器,勾选“如果服务器支持,就使用STARTTLS加密传输”+ 发件服务器身份验证中选择“不需要验证”。解决了问题...原创 2021-04-25 13:02:20 · 14298 阅读 · 0 评论 -
C语言中access的使用
access()函数用来判断用户是否具有访问某个文件的权限(或判断某个文件是否存在).access总揽: #include<unistd.h> int access(const char *pathname,int mode)参数: pathname:表示要测试的文件的路径 mode:表示测试的模式可能的值有: R_OK:是否具有读权限 W_OK...原创 2021-04-22 15:52:36 · 3292 阅读 · 0 评论 -
source insight所有文件乱码
【解决办法】:单个文件乱码解决办法: 菜单栏中【File】 > 【Reload As Encoding...】 > 【Chinese Simplified (GB18030)】 > 选择后,点击load,问题解决!!!所有文件乱码解决办法: 我的理解,在做下面操作的时候,先设置,然后关闭所有打开的文件,然后再打开文件即可 菜单栏中 【Options】 > 【Preferences】 >File标签中,最下面的“Default e...原创 2021-04-22 11:16:15 · 1256 阅读 · 0 评论 -
多线程的同步与互斥(互斥锁、条件变量)
//两种方法对锁进行初始化pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr);//互斥锁的销毁int pthread_mutex_destroy(pthread_mutex_t *mutex);//获得锁int pthrea.原创 2021-04-22 11:02:03 · 370 阅读 · 0 评论 -
Linux 开发环境与开发工具的建立
原创 2021-04-21 17:01:52 · 140 阅读 · 1 评论 -
什么是原子性,什么是原子性操作?
原子(atom)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为”不可被中断的一个或一系列操作” 。举个例子:A想要从自己的帐户中转1000块钱到B的帐户里。那个从A开始转帐,到转帐结束的这一个过程,称之为一个事务。在这个事务里,要做如下操作:1. 从A的帐户中减去1000块钱。如果A的帐户原来有3000块钱,现在就变成2000块钱了。2. 在B的帐户里加1000块钱。如果B的帐户如果原来有2000块钱,现在则变成3000块钱了。如果在A的帐...原创 2021-04-21 10:16:13 · 1201 阅读 · 0 评论 -
linux下使用文件IO监听GPIO中断
#include<stdlib.h>#include<stdio.h>#include<string.h>#include<unistd.h>#include<fcntl.h>#include<poll.h> #define MSG(args...) printf(args) //函数声明static int gpio_export(int pin);static int gpio_unexport(in...原创 2021-04-20 17:44:41 · 1410 阅读 · 0 评论 -
一文带你深入了解linux驱动
很多程序员在学习技能时,盲目追求技术实现,而忽略了整个生态环境的观察和基础理论铺垫,导致学完后似是而非,不能举一反三,遇到项目依然拿不出合理的解决方案。作为一个技术开发者,大家要明白“技术只是工具,有用的是产品”,我们要用技术去解决问题,而不是单纯地做个技术控,自我娱乐。想要学习一门新技术,我们首先要对它有个清晰的了解,不能什么都不懂就开始往上面扑,就像很多人到庙里面就上香求佛祖保佑,可能根本都不知道这个佛是哪一路神仙。那今天我们就先带大家来深入了解下嵌入式开发中至关重要的一环:linux驱动。在学原创 2021-04-20 16:37:36 · 5186 阅读 · 0 评论