概述
双向条码 (bi-directional bar code )是条码符号两端均可作为扫描起点的条码。
条码的分类主要依据条码的编码结构和条码的性质来决定。例如,
按条码的长度来分,可分为定长和非定长条码;
按排列方式分,可分为连续型和非连续型条码;
从校验方式分,又可分为自校验和非自校验型条码等。
条码可分为一维条码和二维条码。一维条码是通常我们所说的传统条码。一维条码按照应用可分为商品条码和物流条码。商品条码包括EAN条码和UPC条码,物流条码包括128条码、ITF条码、39条码、库德巴条码等。二维条码根据构成原理、结构形状的差异,可分为两大类型:一类是行排式二维条码(2D stacked bar code);另一类是矩阵式二维条码(2D matrix bar code)。
需要经历扫描和译码两个过程。物体的颜色是由其反射光的类型决定的,白色物体能反射各种波长的可见光,黑色物体则吸收各种波长的可见光,所以当条形码扫描器光源发出的光在条形码上反射后,反射光照射到条码扫描器内部的光电转换器上,光电转换器根据强弱不同的反射光信号,转换成相应的电信号。根据原理的差异,扫描器可以分为光笔、红光CCD、激光、影像四种。电信号输出到条码扫描器的放大电路增强信号之后,再送到整形电路将模拟信号转换成数字信号。白条、黑条的宽度不同,相应的电信号持续时间长短也不同。主要作用就是防止静区宽度不足。然后译码器通过测量脉冲数字电信号0,1的数目来判别条和空的数目。通过测量0,1信号持续的时间来判别条和空的宽度。此时所得到的数据仍然是杂乱无章的,要知道条形码所包含的信息,则需根据对应的编码规则(例如:EAN-8码),将条形符号换成相应的数字、字符信息。最后,由计算机系统进行数据处理与管理,物品的详细信息便被识别了。
条形码扫描原理
不论是采取何种规则印制的条形码,都由静区、起始字符、数据字符与终止字符组成。有些条码在数据字符与终止字符之间还有校验字符。
静区:静区也叫空白区,分为左空白区和右空白区,左空白区是让扫描设备做好扫描准备,右空白区是保证扫描设备正确识别条码的结束标记。
为了防止左右空白区(静区)在印刷排版时被无意中占用,可在空白区加印一个符号(左侧没有数字时印<;号,右侧没有数字时加印>;号)这个符号就叫静区标记。主要作用就是防止静区宽度不足。只要静区宽度能保证,有没有这个符号都不影响条码的识别。
起始字符:第一位字符,具有特殊结构,当扫描器读取到该字符时,便开始正式读取代码了。
数据字符:条形码的主要内容。
校验字符:检验读取到的数据是否正确。不同编码规则可能会有不同的校验规则。
终止字符:最后一位字符,一样具有特殊结构,用于告知代码扫描完毕,同时还起到只是进行校验计算的作用。
为了方便双向扫描,起止字符具有不对称结构。因此扫描器扫描时可以自动对条码信息重新排列。条码扫描器有光笔、CCD、激光、影像四种
光笔:最原始的扫描方式,需要手动移动光笔,并且还要与条形码接触。
CCD:以CCD作为光电转换器,LED作为发光光源的扫描器。在一定范围内,可以实现自动扫描。并且可以阅读各种材料、不平表面上的条码,成本也较为低廉。但是与激光式相比,扫描距离较短。
激光:以激光作为发光源的扫描器。又可分为线型、全角度等几种。
影像:以光源拍照利用自带硬解码板解码,通常影像扫描可以同时扫描一维及二维条码。
线型:多用于手持式扫描器,范围远,准确性高。
全角度:多为工业级固定式扫描,自动化程度高,在各种方向上都可以自动读取条码及输出电平信号,结合传感器使用。
条形码,英文barcode,是产品一个身份标记代码,由全球GS1制定标准,不同国家根据自身情况做区分,我国由中国物品编码中心制定国家标准。
- ENA-13: 全球通用的商品条码,长度为13位,字符集为【0-9】。
- Code-128编码:长度无限制,字符集是ASCII码。
1. 串口简介
通用异步收发传输器,英文全称Universal Asynchronous Receiver/Transmitter,简称UART
UART
UART是一种通用的数据通信协议,也是异步串行通信口(串口)的总称,它在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的数据转换成并行数据
UART是异步串行通信口,SPI是同步的,双方约定好使用频率一致的时钟,主机发送时钟
UART中,数据的收发都有独立的端口,所以它可以实现全双工通信
RS232传输距离比较近,传输速率也比较慢,数据线只有两条,可以节省IO口
2. 串口RS232接口
是UART串口的一种,没有时钟线只有两个数据线
在这里插入图片描述
在这里插入图片描述
注意:两个设备间的TXD和RXD应交叉相连
串口数据的发送和接收都是基于帧结构的,起始位+数据位+停止位,共10bit,空闲状态下rx和tx都保持高电平
在这里插入图片描述
波特率:来波特率指数据信号对载波的调制速率,它用单位时间内载波调制状态改变次数来表示,其单位为波特(Baud),Bps
比特率:比特率是每秒传输的比特数。单位为比特(bps位/秒)
波特率源与比特率的关系为:比特率=波特率 * 单个调制状态对应的二进制位数
串口常用波特率有4800、9600、115200
9600Bps的串口比特率就是9600*1bps,串口发送或接收1bit数据的时间称为1个波特,也就是1/9600s。clk = 50MHz,T = 20ns,9600Bps下,传输一个波特需要的时钟个数,cnt = (1 * 10^9)ns / 9600 / 20ns 约等于5208,相当于每个bit的传输间隔需要50MHz时钟下的5208个clk
上位机
上位机是指可以直接发出操控命令的计算机,一般是PC/host computer/master computer/upper computer,屏幕上显示各种信号变化(液压,水位,温度等)。
下位机
下位机是直接控制设备获取设备状况的计算机,一般是PLC/单片机single chip microcomputer/slave computer/lower computer之类的。
上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机。上位机是什么,上下位机都需要编程,都有专门的开发系统。在概念上,控制者和提供服务者是上位机,被控制者和被服务者是下位机,也可以理解为主机和从机的关系,但上位机和下位机是可以转换的。
两机如何通讯,一般取决于下位机,下位机一般具有更可靠的独有通讯协议;
使用一些新的API(API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力;
多语言支持功能模块,一般同时支持数种高级语言为上位机编程。上位机是什么。
通常上位机和下位机通讯可以采用不同的通讯协议,有RS232的串口通讯或者RS485串行通讯。
上位机是指可以直接发出操控命令的计算机
下位机是直接控制设备获取设备状况的计算机
工控机,工作站,触摸屏作为上位机, 通信控制PLC,单片机等作为下位机
概念:程序(指令)和数据存放在同一存储器的不同地址,存储单元线性排列,且其位数固定
优点:最大限度地利用资源
缺点:顺序执行,程序/数据→内存→取指令执行指令,效率较低
代表:Intel x86
二、哈佛体系结构
概念:程序(指令)与数据存储在不同存储器中
优点:并行工作,相对独立,效率更高
缺点:不能最大限度地利用资源
代表:ARM
冯.诺伊曼体系结构利用更多的时间取换取空间,达到了资源利用的最大化;哈佛体系结构利用空间换取时间,达到了时间效率的最大化。
最后
以上就是故意睫毛膏为你收集整理的物联网基础01的全部内容,希望文章能够帮你解决物联网基础01所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复