精华内容
下载资源
问答
  • ARM硬件知识和常见通信协议

    千次阅读 2017-10-17 22:30:38
    ARM硬件知识,常见通信协议I2C和SPI,电平标准TTL和RS232,内存,NAND Flash

    ARM处理器

    ARM(Advanced RISC Machines)一个32位元精简指令集(RISC)处理器架构,ARM处理器广泛地使用在许多嵌入式系统设计。ARM处理器的特点有指令长度固定,执行效率高,低成本等。

    特点
    1、体积小、低功耗、低成本、高性能;
    2、支持Thumb(16位)/ARM(32位!)双指令集,能很好的兼容8位/16位器件;
    3、大量使用寄存器,指令执行速度更快;
    4、大多数数据操作都在寄存器中完成;
    5、寻址方式灵活简单,执行效率高;
    6、指令长度固定。

    这里写图片描述

    如图为ARM处理器的发展和产品:

    ①ARM Cortex™-A 系列应用型处理器可向托管丰富OS平台和用户应用程序的设备提供全方位的解决方案,从超低成本手机、智能手机、移动计算平台、数字电视和机顶盒到企业网络、打印机和服务器解决方案。—移动应用端

    ②ARM Cortex-R实时处理器为要求可靠性、高可用性、容错功能、可维护性和实时响应的嵌入式系统提供高性能计算解决方案。—实时性处理器

    ③ARM Cortex™-M处理器系列是一系列可向上兼容的高能效、易于使用的处理器,这些处理器旨在帮助开发人员满足将来的嵌入式应用的需要。这些需要包括以更低的成本提供更多功能、不断增加连接、改善代码重用和提高能效。Cortex-M 系列针对成本和功耗敏感的MCU和终端应用。—微控制器


    ARM处理器的通信图(示例为ARM920T)

    这里写图片描述
    详细解说:
    ARM9TDMI为处理器核心(速度400MHz),从MMU(Memory Management Unit的缩写,中文名是内存管理单元,包括数据cache和指令cache)调取数据(当MMU中有数据为cache命中,当MMU中没有数据为cache未命中),cache中没有数据时从内存中调取数据。 —– 内存管理算法。

    BUS(总线)分为AHB BUS(高速总线)和APB BUS(外设总线)。
    AHB BUS用来高速传输,如LCD ( Liquid Crystal Display 的液晶显示器的简称)挂载在高速总线上(在ARM920T中为100MHz),USB Host,NAND Ctrl,Camera。
    APB BUS上挂载USB Device,GPIO。
    Ps:速度要匹配才能够准确通信。


    总线(Bus)

    这里写图片描述

    是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所传输的信息种类,计算机的总线可以划分为数据总线地址总线控制总线,分别用来传输数据、数据地址和控制信号。

    详细解说:
    地址总线是CPU用来指定存储单元(二进制编码),决定了CPU能访问的最大内存空间,如10根总线能最大访问1024位二进制数据(1B),32位系统能最大访问4GB(2^32-1)。
    数据总线是CPU与其他器件之间的数据传输通道,数据总线的宽度决定了CPU和外界的数据传输数据。每条数据线一次只能传输一位二进制数据,如8根数据线一次课传输一个8位二进制数据(即1个字节)。
    控制总线是对外部器件进行控制,控制线的宽度决定了CPU对外部器件的控制能力。


    总线通信方式
    ①串行通信和并行通信
    串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。(最低只需要1根数据线,数据按位传输)
    并行通信是指一组数据的各数据位在多条线上同时被传输,各数据位同时传输,传输速度快、效率高。并行数据传输只适用于近距离的通信。
    Ps:并行接口的数据传输率比串行接口快8倍,标准并口的数据传输率理论值为1Mbps(兆比特/秒)

    ②单工、半双工和全双工
    信息只能单向传送为单工;
    信息能双向传送但不能同时双向传送称为半双工;
    信息能够同时双向传送则称为全双工。

    ③同步通信和异步通信
    同步通信是一种bit同步通信技术,要求发收双方具有同频同相的同步时钟信号,只需在传送报文的最前面附加特定的同步字符,使发收双方建立同步,此后便在同步时钟的控制下逐位发送/接收。
    异步通信在发送字符时,所发送的字符之间的时隙可以是任意的。但是接收端必须时刻做好接收的准备。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。


    串口总线通信
    DB9串口示意图

    这里写图片描述这里写图片描述
    Ps:DB9属于串行(按位传输),异步(没有时钟线),全双工(分为RXD和TXD)。

    电脑上常见的DB接口有:
    串行通信接口RS232 9针 –DB9
    显示器 VGA 15针 – DB15
    并行打印机 LPT 25孔 -DB25


    串口通信时序

    这里写图片描述
    这里写图片描述
    详细解说:
    Baud rate(波特率):单位时间内载波参数变化的次数,如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps。
    Data bits:一次传输的位数,两者一定要匹配,在一次传输之后有校验位,不包含校验位;
    奇校验(Odd Parity): 就是让原有数据序列中(包括你要加上的一位)1的个数为奇数;
    偶校验(Even Parity):就是让原有数据序列中(包括你要加上的一位)1的个数为偶数;
    只能检查奇数个位的变化,当一次变化偶数变化就检查不出来。
    Row Control:流控
    DTR(Data Terminal Ready):数据终端准备
    DSR(Data Set Ready):数据发送准备
    RTS(Request To Send):请求发送
    CTS(Clear To Send):清除发送
    XON/XOFF(通信速率匹配协议):异步通信中,用于数据传输速率大于等于1200b/s时进行速率匹配,方法是控制发送方的发速率以匹配双方的速率。

    过程:起始位->地位…高位->校验位->停止位


    TTL、RS232、RS485(电平标准)

    单片机CPU一般都提供TTL电平的UART(Universal Asynchronous Receiver and Transmitter,通用异步收发器)通信接口,它是一种通用的数据通信协议,它包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和总线标准规范。

    ▶TTL电平:输出低电平要小于0.8V,高电平要大于2.4V;输入低于1.2V就认为是0,高于2.0V就认为是1;

    ▶RS232电平:逻辑1的电平为-3~-15V,逻辑0的电平为+3~+15V,介于-3~+3V之间的电压无意义;

    ▶RS485电平:差分信号-2500mv~-200mv为逻辑0;差分信号+2500mv~+200mv为逻辑1;-200mv~+200mv为高阻状态。

    这里写图片描述
    MAX232芯片是 TTL电平与RS232电平的专用双向转换芯片,可以TTL转RS-232,也可以RS-232转TTL。

    TTL电平一般用于芯片与芯片之间的通信;RS232采用了正负逻辑电平,提高线路的抗干扰性最远可以达到15米左右;如果更远的距离会采样RS485,它使用两线制的差分信号传输,最远可至1200米;RS232全双工只支持点对点通讯(1:1),RS485半双工或单双工支持总线形式通讯(1:N)。


    I2C总线(串行,半双工,同步)

    这里写图片描述这里写图片描述

    I2C是由Philips公司发明的一种串行数据通信协议,仅使用两根信号线:SerialClock(简称SCL)和SerialData(简称SDA)。
    I2C是总线结构,1个Master,1个或多个Slave,各Slave设备以7位地址区分,地址后面再跟1位读写位,表示读(=1)或者写(=0),所以我们有时也可看到8位形式的设备地址,此时每个设备有读、写两个地址,高7位地址其实是相同的。—地址+读(1)/写(0)
    系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,具体可以看相应芯片的datasheet。


    I2C总线通信时序

    这里写图片描述

    过程:起始信号->地址(选址)->数据->应答信号(ack/nack)->结束信号

    详细解说:
    ①空闲状态
     I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线。

    ②起始位与停止位的定义
    起始信号:当SCL为高期间,SDA由高到低的跳变;启动信号是一种电平跳变时序信号,而不是一个电平信号。
    停止信号:当SCL为高期间,SDA由低到高的跳变;停止信号也是一种电平跳变时序信号,而不是一个电平信号。

    ③数据的有效性
    I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定(锁死),只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。
    Ps:SCL高,传输数据有效; SCL低,SDA才能变化

    ④ACK/NACK
    发送器每发送一个字节,就在时钟脉冲9期间释放数据线,由接收器反馈一个应答信号。 应答信号为低电平时,规定为有效应答位(ACK简称应答位),表示接收器已经成功地接收了该字节;应答信号为高电平时,规定为非应答位(NACK),一般表示接收器接收该字节没有成功。 对于反馈有效应答位ACK的要求是,接收器在第9个时钟脉冲之前的低电平期间将SDA线拉低,并且确保在该时钟的高电平期间为稳定的低电平。 如果接收器是主控器,则在它收到最后一个字节后,发送一个NACK信号,以通知被控发送器结束数据发送,并释放SDA线,以便主控接收器发送一个停止信号P。


    SPI总线(串行,半双工,同步)

    这里写图片描述

    SPI全称是串行外设接口(Serial Peripheral Interface),是由Motorola提出的一种全双工同步串行通信接口,通信波特率可以高达5Mbps,但具体速度大小取决于SPI硬件。SPI接口具有全双工操作,操作简单,数据传输速率较高的优点,但也存在没有指定的流控制,没有应答机制确认是否接收到数据的缺点。
    SPI总线只需四条线(如图所示)就可以完成MCU与各种外围器件的通讯:
    ▶MOSI – Master数据输出,Slave数据输入
    ▶MISO – Master数据输入,Slave数据输出
    ▶SCK – 时钟信号,由Master产生
    ▶/CS – Slave使能信号,由Master控制,片选。

    SPI通信采用主从模式(Master-Slave)架构,一般为一个Master和多个Slave的应用模式。
    SPI主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等。


    SPI总线通信

    这里写图片描述
    SPI是[单主设备(single-master )]通信协议,这意味着总线中的只有一支中心设备能发起通信。当SPI主设备想读/写[从设备]时,它首先拉低[从设备]对应的SS线(SS是低电平有效),接着开始发送工作脉冲到时钟线上,在相应的脉冲时间上,[主设备]把信号发到MOSI实现“写”,同时可对MISO采样而实现“读”。

    这里写图片描述

    详细解说:
    SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响,SPI主模块和与之通信的外设音时钟相位和极性应该一致。
    ▶如果CPOL=0,串行同步时钟的空闲状态为低电平;
    ▶如果CPOL=1,串行同步时钟的空闲状态为高电平;
    时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。
    ▶如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;
    ▶如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样;
    一般根据从设备配置,需要两边相同。


    SPI工作原理
    这里写图片描述这里写图片描述

    详细解说:
    SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如上右图所示,在SCLK的下降沿上数据改变,上升沿一位数据被存入移位寄存器。SPI接口没有指定的流控制,没有应答机制确认是否接收到数据。


    内存

    根据内存的工作原理划分出的两种内存:SRAM(Static Random Access Memory)与DRAM(Dynamic Random Access Memory)
    ▶DRAM是一种以电荷形式进行存储的半导体存储器,每个存储单元由一个晶体管和一个电容器组成。数据存储在电容器中。电容器会由于漏电而导致电荷丢失,因而DRAM器件是不稳定的。为了将数据保存在存储器中,DRAM器件必须有规律地进行刷新。
    ▶SRAM每个存储单元需要四到六个晶体管和其他零件,接通代表1,断开表示0,并且状态会保持到接收了一个改变信号为止。这些晶体管不需要刷新,但停机或断电时,它们同DRAM一样,会丢掉信息。SRAM的速度非常快,通常能以20ns或更快的速度工作。
    Ps:除了价格较贵外,SRAM芯片在外形上也较大,与DRAM相比要占用更多的空间。SRAM的高速和静态特性使它们通常被用来作为Cache存储器。

    SDRAM(Synchronous Dynamic Random Access Memory)在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;
    DDR(Double Data Rate SDRAM)内存则是一个时钟周期内传输两次次数据,它能够在时钟的上升期和下降期各传输一次数据;

    在嵌入式MCU中,cache一般是SRAM,外接内存一般都支持SDRAM,现在的ARM处理器普遍都可以支持DDR内存。SDRAM单片大小一般最大到64MB左右,而DDRAM可以到GB。


    S3C2440 内存映射

    这里写图片描述

    详细解说:
    S3C2440对外引出了27根地址线ADDR0~ADDR26,它最多能够寻址128MB,而S3C2440的寻址空间可以达到1GB,这是由于S3C2440将1GB的地址空间分成了8个BANKS(Bank0~Bank7),其中每一个BANK对应一根片选信号线nGCS0~nGCS7,当访问BANKx的时候,nGCSx管脚电平拉低,用来选中外接设备, S3C2440通过8根选信号线和27根地址线,就可以访问1GB。


    FL2440原理图

    这里写图片描述

    详细解说:

    将两片32M内存的SDRAM串联,构造成64M内存的SDRAM。
    SDRAM的内部是一个存储阵列,阵列就类似于表格一样,有行、列之分,这样我们要访问(读、写)一个单元,就要先指定一个行地址,一个列地址,这样就找到了该单元,这就是SDRAM的寻址的基本原理。这里的单元我们一般称为存储单元,而整个表格称为逻辑BANK(Logical Bank , L-BANK),一般每个SDRAM都会有4个L-BANK。SDRAM的逻辑结构如下图所示:

    1. 地址线从addr2~addr14、数据线data0~data31
    2. BA0、BA1
    3. 数据掩码信号DQM0,DQM1,DQM2,DQM3;
    4. SDRAM的时钟有效信号SCKE;
    5. SDRAM的时钟信号SCLK0,SCLK1;
    6. SDRAM片选信号nSCS0(它与nGCS6是同一引脚的两个功能);
    7. SDRAM行地址选通脉冲信号nSRAS;
    8. SDRAM列地址选通脉冲信号nSCAS;
    9. 写允许信号nWE(它不是专用于SDRAM的)。

    过程:SCKE->SCLKn->nS3C->BANK->nSRAS,nSCAS->读2字节


    Flash存储器

    这里写图片描述

    详细解说:
    Flash Memory中文名字叫闪存,是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器。按功能特性分为两种:一种是NOR型闪存,以编码应用为主,其功能多与运算相关;另一种为NAND型闪存,主要功能是存储资料,如数码相机中所用的记忆卡。Intel于1988年首先开发出Nor flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结结,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。

    NorFlash 有自己的数据和地址总线,因此可采用类似RAM的随机访问。NorFlash的特点是芯片内执行(XIP: eXecute In Place),这样应用程序应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。如果uboot中的ro段就可以直接在 NorFlash上运行,只需要把rw段和zi段拷贝到RAM中运行即可。
    Nand Flash器件使用复杂的I/O口来串行的存取数据,8个引脚用来传送控制,地址和数据信息。由于时序较为复杂,所以一般CPU最好集成NAND控制器。 另外由于NandFlash没有挂接在地址总线上,所以如果想用NandFlash作为系统的启动盘,就需要CPU具备特殊的功能。

    NandFlash和NorFlash的共性首先表现在向芯片中写数据必须先将芯片中对应的内容清空,然后再写入,也就是通常说的“先檫后写”。只不过NorFlash只用檫写一个字,而NandFlash需要擦写整个块。

    (1)应用程序对NorFlash操作以“字”为基本单位。为了方便对大容量NOR闪存的管理,通常将NOR闪存分成大小为128KB或者64KB的逻辑块,有时候块内还分成扇区。读写时需要同时逻辑块号和块内偏移。
    (2)应用程序对NandFlash操作是以“块”为基本单位。NandFlash的块比较小,一般是8KB,然后每块又分成页,页的大小一般是512字节。要修改NandFlash中一个字节,必须重写整个数据块。
    (2)Nandflash出于成本的考虑,出厂时允许有坏块,使用过程中也可以产生坏块,所以在进行数据读写时通常都会进行数据ECC检测。而Norflash则不存在坏块问题,这也导致不同flash今后选择的文件系统也不一样。

    Ps:
    1 Device = 2048 Block
    1 Block = 64 Page
    1 Page = 2048 + 64 B (此处的64B空间是判断2048 B是否存在坏块 —– CRC循环冗余校验)
    擦除的最小单位是 1 个 Block (128KB)
    写的最小单位是 1 个 Page (2KB—–0x20000)
    NAND FLASH
    这里写图片描述


    参考网页资料

    百度文库搜索: TTL RS232 RS485
    串口基础知识: http://www.cnblogs.com/stevenxiu/p/5849337.html

    百度文库搜索: i2c总线协议
    I2C总线协议介绍 : http://blog.csdn.net/subkiller/article/details/6854910
    GPIO模拟I2C总线代码: http://www.cnblogs.com/aceheart/articles/3307477.html

    百度文库搜索: SPI总线协议
    I2C和SPI协议: http://blog.csdn.net/ce123/article/details/6878547
    SPI总线协议及时序图: http://blog.163.com/sunshine_linting/blog/static/44893323201181482335951/

    SDRAM工作原理 : http://blog.sina.com.cn/s/blog_8e27098301019jgs.html
    Nandflash Norflash比较: http://www.cnblogs.com/jingzhishen/p/4399110.html

    展开全文
  • 联网常见通信协议与通讯协议梳理【上】- 通讯协议1 “通信”与“通讯”傻傻分得清传统意义上的“通讯”主要指电话、电报、电传。通讯的“讯”指消息(Message),媒体讯息通过通讯网络从一端传递到另外一端。媒体...

    联网常见通信协议与通讯协议梳理【上】- 通讯协议


    1  “通信”与“通讯”傻傻分得清

    传统意义上的“通讯”主要指电话、电报、电传。通讯的“讯”指消息(Message),媒体讯息通过通讯网络从一端传递到另外一端。媒体讯息的内容主要是话音、文字、图片和视频图像。其网络的构成主要由电子设备系统和无线电系统构成,传输和处理的信号是模拟的。所以,“通讯”一词应特指采用电报、电话、网络等媒体传输系统实现上述媒体信息传输的过程。“通讯”重在内容形式,因此通讯协议主要集中在ISO七层协议中的应用层。

    “通信”仅指数据通信,即通过计算机网络系统和数据通信系统实现数据的端到端传输。通信的“信”指的是信息(Information),信息的载体是二进制的数据,数据则是可以用来表达传统媒体形式的信息,如声音、图像、动画等。“通信”重在传输手段或使用方式,从这个角度,“通信”的概念包括了信息“传输”。因此通信协议主要集中在ISO七层协议中的物理层、数据链路层、网络层和传输层。

    在物联网应用中,通信技术包括Wi-Fi、RFID、NFC、ZigBee、Bluetooth、LoRa、NB-IoT、GSM、GPRS、3/4/5G网络、Ethernet、RS232、RS485、USB等。

    相关的通信协议(协议栈、技术标准)包括Wi-Fi(IEEE 802.11b)、RFID、NFC、ZigBee、Bluetooth、LoRa、NB-IoT、CDMA/TDMA、TCP/IP、WCDMA、TD-SCDMA、TD-LTE、FDD-LTE、TCP/IP、HTTP等。注:3GPP将5G技术标准制定分为两个阶段,原计划中第一阶段的标准将在2018年底作为R15的一部分公布,将仅针对NR。第二阶段的标准将在2019年底作为R16的一部分,包括整个5G架构(包括核心网络)。

    物联网技术框架体系中所使用到的通讯协议主要有:AMQP、JMS、REST、HTTP/HTTPS、COAP、DDS 、MQTT等。


    通讯协议

    2.1  HTTP/HTTPS

    一、HTTP

    HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

    HTTP协议的主要特点可概括如下:

    (1)支持客户/服务器模式。

    (2)简单快速。客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

    (3)灵活。HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

    (4)无连接。无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

    (5)无状态。HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

    二、HTTPS

    HTTPS(Hypertext TransferProtocol over Secure Socket Layer,基于SSL的HTTP协议)使用了HTTP协议,但HTTPS使用不同于HTTP协议的默认端口及一个加密、身份验证层(HTTP与TCP之间)。这个协议的最初研发由网景公司进行,提供了身份验证与加密通信方法,现在它被广泛用于互联网上安全敏感的通信。

    客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。

    (1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。

    (2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

    (3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

    (4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。

    (5)Web服务器利用自己的私钥解密出会话密钥。

    (6)Web服务器利用会话密钥加密与客户端之间的通信。


    2.2  WebService/REST

    首先说明下,WebService和REST都不是一种协议,他们是基于HTTP/HTTPS的一种技术方式或风格,之所以放在这里,是因为在物联网应用服务对外接口方式常采用WebService和RESTful API。


    一、WebService

    WebService是一种跨编程语言和跨操作系统平台的远程调用技术。

    XML+XSD,SOAP和WSDL就是构成WebService平台的三大技术。

    (1)XML+XSD

    WebService采用HTTP协议传输数据,采用XML格式封装数据(即XML中说明调用远程服务对象的哪个方法,传递的参数是什么,以及服务对象的返回结果是什么)。XML是WebService平台中表示数据的格式。除了易于建立和易于分析外,XML主要的优点在于它既是平台无关的,又是厂商无关的。无关性是比技术优越性更重要的:软件厂商是不会选择一个由竞争对手所发明的技术的。

    XML解决了数据表示的问题,但它没有定义一套标准的数据类型,更没有说怎么去扩展这套数据类型。例如,整形数到底代表什么?16位,32位,64位?这些细节对实现互操作性很重要。XML Schema(XSD)就是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。WebService平台就是用XSD来作为其数据类型系统的。当你用某种语言(如VB.NET或C#)来构造一个Web service时,为了符合WebService标准,所有你使用的数据类型都必须被转换为XSD类型。你用的工具可能已经自动帮你完成了这个转换,但你很可能会根据你的需要修改一下转换过程。

    (2)SOAP

    WebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议。SOAP提供了标准的RPC方法来调用Web Service。

    SOAP协议 = HTTP协议 + XML数据格式

    SOAP协议定义了SOAP消息的格式,SOAP协议是基于HTTP协议的,SOAP也是基于XML和XSD的,XML是SOAP的数据编码方式。打个比喻:HTTP就是普通公路,XML就是中间的绿色隔离带和两边的防护栏,SOAP就是普通公路经过加隔离带和防护栏改造过的高速公路。

    (3)WSDL

    好比我们去商店买东西,首先要知道商店里有什么东西可买,然后再来购买,商家的做法就是张贴广告海报。 WebService也一样,WebService客户端要调用一个WebService服务,首先要有知道这个服务的地址在哪,以及这个服务里有什么方法可以调用,所以,WebService务器端首先要通过一个WSDL文件来说明自己家里有啥服务可以对外调用,服务是什么(服务中有哪些方法,方法接受的参数是什么,返回值是什么),服务的网络地址用哪个url地址表示,服务通过什么方式来调用。

    WSDL(Web Services Description Language)就是这样一个基于XML的语言,用于描述Web Service及其函数、参数和返回值。它是WebService客户端和服务器端都能理解的标准格式。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应WebService的代理类代码。

    WSDL文件保存在Web服务器上,通过一个url地址就可以访问到它。客户端要调用一个WebService服务之前,要知道该服务的WSDL文件的地址。WebService服务提供商可以通过两种方式来暴露它的WSDL文件地址:1.注册到UDDI服务器,以便被人查找;2.直接告诉给客户端调用者。

    二、REST

    REST (Representational State Transfer),表征状态转换,是基于HTTP 协议开发的一种通信风格,目前还不是标准。

    适用范围:REST/HTTP 主要为了简化互联网中的系统架构,快速实现客户端和服务器之间交互的松耦合,降低了客户端和服务器之间的交互延迟。因此适合在物联网的应用层面,通过REST 开放物联网中资源,实现服务被其他应用所调用。它有以下特点:

    (1)REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful;

    (2)客户端和服务器之间的交互在请求之间是无状态的;

    (3)在服务器端,应用程序状态和功能可以分为各种资源,它向客户端公开。资源的例子有:应用程序对象、数据库记录、算法等等。每个资源都使用URI (Universal Resource Identifier) 得到一个惟一的地址。所有资源都共享统一的界面,以便在客户端和服务器之间传输状态;

    (4)使用的是标准的HTTP方法,比如GET、PUT、POST 和DELETE。

    REST是互联网中服务调用API 封装风格,物联网中数据采集到物联网应用系统中,在物联网应用系统中,可以通过开放RESTAPI的方式,把数据服务开放出去,被互联网中其他应用所调用。

    2.3  CoAP 协议

    CoAP (Constrained Application Protocol),受限应用协议,应用于无线传感网中协议。

    适用范围:CoAP 是简化了HTTP 协议的RESTfulAPI,CoAP 是6LowPAN 协议栈中的应用层协议,它适用于在资源受限的通信的IP 网络。它有以下特点:

    (1)报头压缩。CoAP 包含一个紧凑的二进制报头和扩展报头。它只有短短的4B 的基本报头,基本报头后面跟扩展选项。一个典型的请求报头为10~20B。

    (2)方法和URIs。为了实现客户端访问服务器上的资源,CoAP 支持GET、PUT、POST 和DELETE 等方法。CoAP 还支持URIs,这是Web 架构的主要特点。

    (3)传输层使用UDP 协议。CoAP 协议是建立在UDP 协议之上,以减少开销和支持组播功能。它也支持一个简单的停止和等待的可靠性传输机制。

    (4)支持异步通信。HTTP 对M2M(Machine-to-Machine)通信不适用,这是由于事务总是由客户端发起。而CoAP 协议支持异步通信,这对M2M 通信应用来说是常见的休眠/唤醒机制。

    (5)支持资源发现。为了自主的发现和使用资源,它支持内置的资源发现格式,用于发现设备上的资源列表,或者用于设备向服务目录公告自己的资源。它支持RFC5785 中的格式,在CoRE 中用/.well—known/core 的路径表示资源描述。

    (6)支持缓存。CoAP 协议支持资源描述的缓存以优化其性能。


    CoAP协议主要实现:

    (1)libcoap(C 语言实现)

    (2)Californium(java 语言实现)

    另外,CoAP 和6LowPan,这分别是应用层协议和网络适配层协议,其目标是解决设备直接连接到IP 网络,也就是IP 技术应用到设备之间、互联网与设备之间的通信需求。因为IPV6 技术带来巨大寻址空间,不光解决了未来巨量设备和资源的标识问题,互联网上应用可以直接访问支持IPV6 的设备,而不需要额外的网关。

    2.4  MQTT 协议(低带宽)

    MQTT (Message Queuing Telemetry Transport ),消息队列遥测传输,由IBM 开发的即时通讯协议,相比来说比较适合物联网场景的通讯协议。MQTT 协议采用发布/订阅模式,所有的物联网终端都通过TCP 连接到云端,云端通过主题的方式管理各个设备关注的通讯内容,负责将设备与设备之间消息的转发。

    MQTT 在协议设计时就考虑到不同设备的计算性能的差异,所以所有的协议都是采用二进制格式编解码,并且编解码格式都非常易于开发和实现。最小的数据包只有2个字节,对于低功耗低速网络也有很好的适应性。有非常完善的QOS 机制,根据业务场景可以选择最多一次、至少一次、刚好一次三种消息送达模式。运行在TCP 协议之上,同时支持TLS(TCP+SSL)协议,并且由于所有数据通信都经过云端,安全性得到了较好地保障。

    适用范围:在低带宽、不可靠的网络下提供基于云平台的远程设备的数据传输和监控。

    它具有以下特点:

    (1使用基于代理的发布/订阅消息模式,提供一对多的消息发布;

    (2使用TCP/IP 提供网络连接;

    (3小型传输,开销很小(固定长度的头部是2 字节),协议交换最小化,以降低网络流量;

    (4支持QoS,有三种消息发布服务质量:“至多一次”, “至少一次”, “只有一次”。

    协议主要实现和应用:

    (1已经有PHP,JAVA,Python,C,C#等多个语言版本的协议框架;

    (2IBM Bluemix 的一个重要部分是其IoTFoundation 服务,这是一项基于云的MQTT实例;

    (3移动应用程序也早就开始使用MQTT,如Facebook Messenger 和com 等。

    另外,MQTT 协议一般适用于设备数据采集到端(Device→Server,Device→Gateway),集中星型网络架构(hub-and-spoke),不适用设备与设备之间通信,设备控制能力弱,另外实时性较差,一般都在秒级。

    2.5  DDS 协议(高可靠性、实时)

    DDS(Data Distribution Service for Real-Time Systems),面向实时系统的数据分布服务,这是大名鼎鼎的OMG 组织提出的协议,其权威性应该能证明该协议的未来应用前景。

    适用范围:分布式高可靠性、实时传输设备数据通信。目前DDS 已经广泛应用于国防、民航、工业控制等领域。

    它具有以下特点:

    (1以数据为中心;

    (2使用无代理的发布/订阅消息模式,点对点、点对多、多对多;

    (3提供多大21 种QoS服务质量策略。

    协议主要实现:

    (1OpenDDS 是一个开源的C++ 实现;

    (2OpenSplice DDS;

    另外,DDS很好地支持设备之间的数据分发和设备控制,设备和云端的数据传输,同时DDS的数据分发的实时效率非常高,能做到秒级内同时分发百万条消息到众多设备。DDS在服务质量(QoS)上提供非常多的保障途径,这也是它适用于国防军事、工业控制这些高可靠性、可安全性应用领域的原因。但这些应用都工作在有线网络下,在无线网络,特别是资源受限的情况下,没有见到过实施案例。

    2.6  AMQP 协议(互操作性)

    AMQP(Advanced Message Queuing Protocol),先进消息队列协议,这是OASIS 组织提出的,该组织曾提出OSLC(Open Source Lifecyle)标准,用于业务系统例如PLM,ERP,MES等进行数据交换。

    适用范围:最早应用于金融系统之间的交易消息传递,在物联网应用中,主要适用于移动手持设备与后台数据中心的通信和分析。

    它有以下特点:

    (1Wire 级的协议,它描述了在网络上传输的数据的格式,以字节为流;

    (2面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全;

    协议实现:

    (1Erlang 中的实现有RabbitMQ

    (2AMQP 的开源实现,用C 语言编写OpenAMQ

    (3Apache Qpid

    (4stormMQ

    2.7  XMPP 协议(即时通信)

    XMPP(Extensible Messaging and Presence Protocol)可扩展通讯和表示协议,XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF 国际标准组织完成了标准化工作。

    适用范围:即时通信的应用程序,还能用在网络管理、内容供稿、协同工具、档案共享、游戏、远端系统监控等。

    它有以下特点:

    (1客户机/服务器通信模式;

    (2分布式网络;

    (3简单的客户端,将大多数工作放在服务器端进行;

    (4标准通用标记语言的子集XML的数据格式。

    另外,XMPP 是基于XML 的协议,由于其开放性和易用性,在互联网及时通讯应用中运用广泛。相对HTTP,XMPP 在通讯的业务流程上是更适合物联网系统的,开发者不用花太多心思去解决设备通讯时的业务通讯流程,相对开发成本会更低。但是HTTP 协议中的安全性以及计算资源消耗的硬伤并没有得到本质的解决。

    2.8  JMS (JavaMessage Service)

    JMS (Java Message Service),JAVA 消息服务,这是JAVA 平台中著名的消息队列协议。

    Java 消息服务(Java Message Service)应用程序接口,是一个Java 平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java 消息服务是一个与具体平台无关的API,绝大多数MOM 提供商都对JMS 提供支持。

    JMS 是一种与厂商无关的API,用来访问消息收发系统消息,它类似于JDBC(Java DatabaseConnectivity)。这里,JDBC 是可以用来访问许多不同关系数据库的API,而JMS则提供同样与厂商无关的访问方法,以访问消息收发服务。许多厂商都支持JMS,包括IBM的MQSeries、BEA 的Weblogic JMS service 和Progress 的SonicMQ。JMS能够通过消息收发服务(有时称为消息中介程序或路由器)从一个JMS 客户机向另一个JMS 客户机发送消息。消息是JMS 中的一种类型对象,由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。消息主体则携带着应用程序的数据或有效负载。根据有效负载的类型来划分,可以将消息分为几种类型,它们分别携带:简单文本(TextMessage)、可序列化的对象(ObjectMessage)、属性集合(MapMessage)、字节流(BytesMessage)、原始值流(StreamMessage),还有无有效负载的消息(Message)。

    2.9 通讯协议比较


    物联网常见通信协议与通讯协议梳理【下】- 通信协议

    1  概述

    在上一篇文章《物联网常见通信协议与通讯协议梳理【上】- 通讯协议》中,对物联网常用通信协议和通讯协议作了区分,并对通讯协议进行了分享;本文将对常用的通信协议进行剖析,重点面向市场上使用率较高的,且又不是诸如TCP/IP之类老生常谈的。


    2  近距离通信协议

    2.1  RFID

    RFID的空中接口通信协议规范基本决定了RFID的工作类型,RFID读写器和相应类型RFID标签之间的通讯规则,包括:频率、调制、位编码及命令集。ISO/IEC制定五种频段的空中接口协议。

    (1) ISO/IEC 18000-1《信息技术-基于单品管理的射频识别-第1部分:参考结构和标准化的参数定义》。它规范空中接口通信协议中共同遵守的读写器与标签的通信参数表、知识产权基本规则等内容。这样每一个频段对应的标准不需要对相同内容进行重复规定。

    (2) ISO/IEC 18000-2《信息技术-基于单品管理的射频识别-第2部分:135KHz以下的空中接口通信用参数》。它规定在标签和读写器之间通信的物理接口,读写器应具有与Type A(FDX)和Type B(HDX)标签通信的能力;规定协议和指令再加上多标签通信的防碰撞方法。 

    (3) ISO/IEC 18000-3《信息技术-基于单品管理的射频识别-第3部分:参数空中接口通信在13.56MHz》。它规定读写器与标签之间的物理接口、协议和命令再加上防碰撞方法。关于防碰撞协议可以分为两种模式,而模式1又分为基本型与两种扩展型协议(无时隙无终止多应答器协议和时隙终止自适应轮询多应答器读取协议)。模式2采用时频复用FTDMA协议,共有8个信道,适用于标签数量较多的情形。

    (4) ISO/IEC 18000-4《信息技术-基于单品管理的射频识别-第4部分:2.45 GHz空中接口通信用参数》。它规定读写器与标签之间的物理接口、协议和命令再加上防碰撞方法。该标准包括两种模式,模式1是无源标签工作方式是读写器先讲;模式2是有源标签,工作方式是标签先讲。

    (5) ISO/IEC 18000-6《信息技术-基于单品管理的射频识别-第6部分:860 MHz - 960 MHz空中接口通信参数》。它规定读写器与标签之间的物理接口、协议和命令再加上防碰撞方法。它包含TypeA、TypeB和TypeC三种无源标签的接口协议,通信距离最远可以达到10m。其中TypeC是由EPCglobal起草的,并于2006年7月获得批准,它在识别速度、读写速度、数据容量、防碰撞、信息安全、频段适应能力、抗干扰等方面有较大提高。2006年递交V4.0草案,它针对带辅助电源和传感器电子标签的特点进行扩展,包括标签数据存储方式和交互命令。带电池的主动式标签可以提供较大范围的读取能力和更强的通信可靠性,不过其尺寸较大,价格也更贵一些。

    (6) ISO/IEC 18000-7《信息技术-基于单品管理的射频识别-第7部分:433 MHz有源空中接口通信参数》。它规定读写器与标签之间的物理接口、协议和命令再加上防碰撞方法。有源标签识读范围大,适用于大型固定资产的跟踪。属于有源电子标签。

     

    此外,还有3个常用的RFID协议:

    (1)ISO/IEC 14443 《识别卡—无触点集成电路卡—邻近卡》

    国际标准ISO 14443定义了两种信号接口:TypeA和TypeB。ISO 14443A和B互不兼容。

    一、ISO 14443 TypeA

    ISO 14443 TypeA(也称ISO 14443A)一般用于门禁卡、公交卡和小额储值消费卡等,具有较高的市场占有率。

    举例:

    1)MIFARE ULtralight(MFO ICU1X):国内常称U10。此芯片没有加密功能,只能系统加密,内存是64个字节,典型应用:广深高速火车票。(另:MIFARE ULtralight C,也叫U20,此芯片可以加密,内存是192个字节)。这两个芯片的内码位数都是一样的,不过内码数据时不同的。(国内兼容芯片有FM11RF005内存64个字节、BL75R12内存64个字节等)

    2)MIFARE Std 1k(MF1 IC S50)国内常称MF1 S50。主要应用在一卡通方面。内存1KB,有16个扇区,每个扇区有4个块,每个块16个字节。初始密码是12个F。(国内兼容芯片有FM11R08、ISSI4439、TKS50、BL75R06等)

    3)MIFARE Std 4k(MF1 IC S70)国内常称为MF1 S70。主要应用在一卡通方面。内存4KB,共40个扇区,前面32个扇区跟S50一样,每个扇区有4个块,后面8个扇区是16个块,每个块都是16个字节。初始密码是12个F。(国内兼容芯片有ISSI4469、FM11RF32以及华大的S70)。

    4)Mifare DESFire 4k(MF3 IC D41/D40)国内常称为MF3。典型应用:南京地铁。

    5)SHC1102上海华虹生产。典型应用:上海一卡通。

    二、ISO 14443 TypeB

    ISO14443B由于加密系数比较高,更适合于CPU卡,一般用于身份证、护照、银联卡等,目前的第二代电子身份证采用的标准是ISO 14443 TypeB协议。

    举例:

    1)SR176瑞士意法半导体(ST)生产。

    2)SRIX4K瑞士意法半导体(ST)生产。

    3)THR1064:北京同方生产。典型应用:奥运门票。

    4)AT88RF020:美国爱特梅尔(ATMIL)生产。典型应用:广州地铁卡。

    5)第二代居民身份证:上海华虹、北京同方THR9904、天津大塘和北京华大生产。

    (2)ISO/IEC 15693《识别卡—无接触点集成电路卡—近距卡》

    ISO 14443A/B的读写距离通常在10cm以内,应用较广。但ISO 15693的读写距离可以达到1m,应用较灵活,与ISO 18000-3兼容(我国的国家标准很多与ISO 18000大部分兼容)。

    举例:

    1)ICODE SLI(SL2ICS20):国内常称ICODE 2(内存是1Kbit),此型号常用。国内兼容有BL75R05、FM1302N。(另:ICODE SLI-S内存是2048bit,ICODE SLI-L内存是512bit,这两款芯片在国内不常用。)

    2)Tag-it HF-1 Plus:国内常称Tl2048,美国德州仪器公司(简称TI公司)生产。

    3)EM4135瑞士EM生产。

    4)BL75R04上海贝岭生产以及FM1302T(复旦生产),兼容TI公司的Tag-it HF-1 Plus。

    (3)ISO 18092《信息技术系统间近距离无线通信及信息交换的接口和协议》

    NFC协议,对近距离无线通信技术进行了一些规范。NFC属于RFID范畴,但又与RFID有一些区别,因此本文将单独一小节对NFC进行阐述。


    2.2  NFC

    2.2.1  NFC概述

    近距离无线通信NFC是Near Field Communication缩写,即近距离无线通讯技术,是一种短距离的高频无线通信技术,允许电子设备之间进行非接触式点对点数据传输(在10厘米内)交换数据。

    NFC 提供了一种简单、触控式的解决方案,可以让消费者简单直观地交换信息、访问内容与服务。这个技术由免接触式射频识别(RFID)演变而来,并向下兼容RFID,最早由Philips、Nokia和Sony主推,主要可能用于手机等手持设备中。由于近场通讯具有天然的安全性,因此,NFC技术被认为在手机支付等领域具有很大的应用前景。 NFC 将非接触读卡器、非接触卡和点对点(Peer-to-Peer)功能整合进一块单芯片,为消费者的生活方式开创了不计其数的全新机遇。

    这是一个开放接口平台,可以对无线网络进行快速、主动设置,也是虚拟连接器,服务于现有蜂窝状网络、蓝牙和无线802.11 设备。和RFID不同,NFC采用了双向的识别和连接。在20cm距离内工作于13.56MHz频率范围。它能快速自动地建立无线网络,为蜂窝设备、蓝牙设备、Wi-Fi设备提供一个“虚拟连接”,使电子设备可以在短距离范围进行通讯。 

    2.2.2  NFC技术原理

    NFC的设备可以在主动或被动模式下交换数据。

    在被动模式下,启动NFC通信的设备,也称为NFC发起设备(主设备),在整个通信过程中提供射频场。它可以选择106kbps、212kbps或424kbps其中一种传输速度,将数据发送到另一台设备。另一台设备称为NFC目标设备(从设备),不必产生射频场,而使用负载调制(load modulation)技术,即可以相同的速度将数据传回发起设备。 移动设备主要以被动模式操作,可以大幅降低功耗,并延长电池寿命。电池电量较低的设备可以要求以被动模式充当目标设备,而不是发起设备。

     

    在主动模式下,每台设备要向另一台设备发送数据时,都必须产生自己的射频场。这是对等网络通信的标准模式,可以获得非常快速的连接设置。


    2.2.3 NFC应用

    NFC技术的应用可以分为四种基本的类别:

    (1)接触通过(TouchandGo),如门禁管制、车票和门票等,使用者只需携带储存着票证或门控密码的移动设备靠近读取装置即可。

    (2)接触确认(TouchandConfirm),如移动支付,用户通过输入密码或者仅是接受交易,确认该次交易行为。

    (3)接触连接(TouchandConnect),如把两个内建NFC的装置相连接,进行点对点数据传输,例如下载音乐、图片互传和同步交换通讯簿等。

    (4)接触浏览(TouchandExplore),NFC设备可以提供一种以上有用的功能,消费者将能够通过浏览一个NFC设备,了解提供的是何种功能和服务。

    2.3  Bluetooth

    2.3.1  起源

    蓝牙的名字来源于10世纪丹麦国王Harald Blatand - 英译为Harold Bluetooth(因为他十分喜欢吃蓝梅,所以牙齿每天都带着蓝色)。他将当时的瑞典、芬兰与丹麦统一起来。用他的名字来命名这种新的技术标准,含有将四分五裂的局面统一起来的意思。


    1998年5月,爱立信、诺基亚、东芝、IBM和英特尔公司等五家著名厂商,在联合开展短程无线通信技术的标准化活动时提出了蓝牙技术,其宗旨是提供一种短距离、低成本的无线传输应用技术。

    2.3.2  蓝牙技术的规范及特点

    蓝牙技术是一种无线数据与语音通信的开放性全球规范,工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段,标准是IEEE802.15,工作在2.4GHz 频带,带宽为1Mb/s。

    它以低成本的近距离无线连接为基础,为固定与移动设备通信环境建立一个特别连接。以时分方式进行全双工通信,其基带协议是电路交换和分组交换的组合。一个跳频频率发送一个同步分组,每个分组占用一个时隙,使用扩频技术也可扩展到5个时隙。 同时,蓝牙技术支持1个异步数据通道或3个并发的同步话音通道,或1个同时传送异步数据和同步话音的通道。每一个话音通道支持64kb/s的同步话音;异步通道支持最大速率为721kb/s,反向应答速率为57. 6 kb/s的非对称连接,或者是432. 6 kb/s的对称连接。

    依据发射输出电平功率不同,蓝牙传输有3 种距离等级:

    Class1为100m左右;

    Class2约为10m

    Class3约为2-3m

    一般情况下,其正常的工作范围是10m 半径之内。在此范围内,可进行多台设备间的互联。

    2.3.3  蓝牙版本

    目前蓝牙发展到了蓝牙5.0

    下面对现阶段主要版本蓝牙技术的特性做一个详细的介绍:

    一、版本1.1

    传输率约在748~810kb/s,因是早期设计,容易受到同频率之间的类似通信产品干扰,影响通讯质量。这个初始版本支持Stereo音效的传输要求,但只能够以(单工)方式工作,加上带宽频率响应等指标不理想,并未算是最好的Stereo传输工具。

    二、版本1.2

    同样是只有748~810kb/s的传输率,但增加了(改善Software)抗干扰跳频功能。支持Stereo音效的传输要求,但只能够作(单工)方式工作,加上带宽频率响应还是不理想,也不能作为立体声(Stereo)传输工具。

    三、版本2.0

    2.0是1.2的改良提升版,传输率约在1.8M/s~2.1M/s,可以有(双工)的工作方式。即一边作语音通讯,同时亦可以传输档案/高质素图片,2.0版本当然也支持Stereo运作。随后蓝牙2.0版本的芯片,增加了Stereo译码芯片,则连A2DP(Advanced Audio Distribution Profile)也可以不需要了。

    四、版本2.1

    为了改善蓝牙技术存在的问题,蓝牙SIG组织(Special Interest Group)推出了Bluetooth 2.1+EDR版本的蓝牙技术。改善装置配对流程:以往在连接过程中,需要利用个人识别码来确保连接的安全性,而改进过后的连接方式则是会自动使用数字密码来进行配对与连接,举例来说,只要在手机选项中选择连接特定装置,在确定之后,手机会自动列出当前环境中可使用的设备,并且自动进行连结;而短距离的配对方面:也具备了在两个支持蓝牙的手机之间互相进行配对与通讯传输的NFC(Near Field Communication)机制;更佳的省电效果:蓝牙2.1版加入了Sniff Subrating的功能,透过设定在2个装置之间互相确认讯号的发送间隔来达到节省功耗的目的。蓝牙2.1将装置之间相互确认的讯号发送时间间隔从旧版的0.1秒延长到0.5秒左右,如此可以让蓝牙芯片的工作负载大幅降低,也可让蓝牙可以有更多的时间可以彻底休眠。根据官方的报告,采用此技术之后,蓝牙装置在开启蓝牙联机之后的待机时间可以有效延长5倍以上,开始支持全双工通信模式。

    五、版本3.0+HS

    2009年4月21日,蓝牙技术联盟(BluetoothSIG)正式颁布了新一代标准规范"BluetoothCoreSpecificationVersion3.0HighSpeed"(蓝牙核心规范3.0版高速),蓝牙3.0的核心是"Generic Alternate MAC/PHY"(AMP),这是一种全新的交替射频技术,允许蓝牙协议栈针对任一任务动态地选择正确射频。最初被期望用于新规范的技术包括802.11以及UMB,但是新规范中取消了UMB的应用。作为新版规范,蓝牙3.0的传输速度自然会更高,而秘密就在802.11无线协议上。通过集成"802.11PAL"(协议适应层),蓝牙3.0的数据传输率提高到了大约24Mbps(即可在需要的时候调用802.11WI-FI用于实现高速数据传输),是蓝牙2.0的八倍,可以轻松用于录像机至高清电视、PC至PMP、UMPC至打印机之间的资料传输。功耗方面,通过蓝牙3.0高速传送大量数据自然会消耗更多能量,但由于引入了增强电源控制(EPC)机制,再辅以802.11,实际空闲功耗会明显降低,蓝牙设备的待机耗电问题有望得到初步解决。此外,新的规范还具备通用测试方法(GTM)和单向广播无连接数据(UCD)两项技术,并且包括了一组HCI指令以获取密钥长度。据称,配备了蓝牙2.1模块的PC理论上可以通过升级固件让蓝牙2.1设备也支持蓝牙3.0。联盟成员已经开始为设备制造商研发蓝牙3.0解决方案。

    六、蓝牙4.0

    (1)简介

    蓝牙4.0为蓝牙3.0的升级标准蓝牙4.0最重要的特性是省电,极低的运行和待机功耗可以使一粒纽扣电池连续工作数年之久。此外,低成本和跨厂商互操作性,3毫秒低延迟、AES-128加密等诸多特色,可以用于计步器、心律监视器、智能仪表、传感器物联网等众多领域,大大扩展蓝牙技术的应用范围。

    (2)主要特点

    蓝牙4.0是蓝牙3.0+HS规范的补充,专门面向对成本和功耗都有较高要求的无线方案,可广泛用于卫生保健、体育健身、家庭娱乐、安全保障等诸多领域。它支持两种部署方式:双模式和单模式。双模式中,低功耗蓝牙功能集成在现有的经典蓝牙控制器中,或再在现有经典蓝牙技术(2.1+EDR/3.0+HS)芯片上增加低功耗堆栈,整体架构基本不变,因此成本增加有限。

    Singlemode只能与BT4.0互相传输无法向下兼容(与3.0/2.1/2.0无法相通);Dual mode可以向下兼容可与BT4.0传输也可以跟3.0/2.1/2.0传输。单模式面向高度集成、紧凑的设备,使用一个轻量级连接层(Link Layer)提供超低功耗的待机模式操作、简单设备恢复和可靠的点对多点数据传输,还能让联网传感器在蓝牙传输中安排好低功耗蓝牙流量的次序,同时还有高级节能和安全加密连接。

    (3)优点

    蓝牙4.0将三种规格集一体,包括传统蓝牙技术、高速技术和低耗能技术,与3.0版本相比最大的不同就是低功耗。“4.0版本的功耗较老版本降低了90%,更省电,“随着蓝牙技术由手机、游戏、耳机、便携电脑和汽车等传统应用领域向物联网、医疗等新领域的扩展,对低功耗的要求会越来越高。4.0版本强化了蓝牙在数据传输上的低功耗性能。”

    七、蓝牙4.1

    (1)简介

    如果说蓝牙 4.0主打的是省电特性的话,那么此次升级蓝牙4.1的关键词应当是IOT(全联网),也就是把所有设备都联网的意思。为了实现这一点,对通讯功能的改进是蓝牙 4.1最为重要的改进之一。

    (2)主要特点

    1)批量数据的传输速度

    首当其冲的就是批量数据的传输速度,大家知道蓝牙的传输速率一直非常渣,与已经跨入千兆的Wi-Fi相比毫无可比性。所以蓝牙4.1在已经被广泛使用的蓝牙4.0 LE基础上进行了升级,使得批量数据可以以更高的速率传输。当然这并不意味着可以用蓝牙高速传输流媒体视频,这一改进的主要针对的还是刚刚兴起的可穿戴设备。例如已经比较常见的健康手环,其发送出的数据流并不大,通过蓝牙4.1能够更快速地将跑步、游泳、骑车过程中收集到的信息传输到手机等设备上,用户就能更好地实时监控运动的状况,这是很有用处的。在蓝牙4.0时代,所有采用了蓝牙4.0 LE的设备都被贴上了“Bluetooth Smart” 和 “BluetoothSmartReady”的标志。其中Bluetooth Smart Ready设备指的是PC、平板、手机这样的连接中心设备,而Bluetooth Smart设备指的是蓝牙耳机、键鼠等扩展设备。之前这些设备之间的角色是早就安排好了的,并不能进行角色互换,只能进行1对1连接。而在蓝牙4.1技术中,就允许设备同时充当“Bluetooth Smart”和“Bluetooth SmartReady”两个角色的功能,这就意味着能够让多款设备连接到一个蓝牙设备上。举个例子,一个智能手表既可以作为中心枢纽,接收从健康手环上收集的运动信息的同时,又能作为一个显示设备,显示来自智能手机上的邮件、短信。借助蓝牙4.1技术智能手表、智能眼镜等设备就能成为真正的中心枢纽。

    2)通过IPV6连接到网络

    除此之外,可穿戴设备上网不易的问题,也可以通过蓝牙4.1进行解决。新标准加入了专用通道允许设备通过 IPv6 联机使用。举例来说,如果有蓝牙设备无法上网,那么通过蓝牙4.1连接到可以上网的设备之后,该设备就可以直接利用IPv6连接到网络,实现与WiFi相同的功能。尽管受传输速率的限制,该设备的上网应用有限,不过同步资料、收发邮件之类的操作还是完全可以实现的。这个改进的好处在于传感器、嵌入式设备只需蓝牙便可实现连接手机、连接互联网,相对而言WiFi多用于连接互联网,在连接设备方面效果一般,无法做到蓝牙的功能。未来随着物联网逐渐走进我们的生活,无线传输在日常生活中的地位也会越来越高,蓝牙作为普及最广泛的传输方式,将在“物联网”中起到不可忽视的作用。不过,蓝牙完全适应IPv6则需要更长的时间,所以就要看芯片厂商如何帮助蓝牙设备增加IPv6的兼容性了。

    3)简化设备连接

    在各大手机厂商以及PC厂商的推动下,几乎所有的移动设备和笔记本电脑中都装有蓝牙的模块,用户对于蓝牙的使用也比较多。不过仍有大量用户觉得蓝牙使用起来很麻烦,归根结底还是蓝牙设备较为复杂的配对、连接造成的。试想一下,如果与手机连接的智能手表,每次断开连接后,都得在设置界面中手动选择一次才能重新连接,这就非常麻烦了。之前解决这一问题的方法是厂商在两个蓝牙设备中都加入NFC芯片,通过NFC近场通讯的方式来简化重新配对的步骤,这本是个不错的思路。只是搭载NFC芯片的产品不仅数量少,而且价格偏高,非常小众。

    蓝牙4.1针对这点进行了改进,对于设备之间的连接和重新连接进行了很大幅度的修改,可以为厂商在设计时提供更多的设计权限,包括设定频段创建或保持蓝牙连接,这以改变使得蓝牙设备连接的灵活性有了非常明显的提升。两款带有蓝牙4.1的设备之前已经成功配对,重新连接时只要将这两款设备靠近,即可实现重新连接,完全不需要任何手动操作。举个例子,以后使用蓝牙4.1的耳机时,只要打开电源开关就行了,不需要在手机上进行操作,非常的简单。

    4)与4G和平共处

    在移动通信领域,近期最火的话题莫过于4G了,已经成为全球无线通信网络一个不可逆转的发展趋势。而蓝牙4.1也专门针对4G进行了优化,确保可以与4G信号和平共处,这个改进被蓝牙技术联盟称为“共存性”。可能大家会觉得疑惑,手机网络信号和蓝牙不是早就共存了么,为什么蓝牙4.1还要特别针对这点改进呢?这是因为在实际的应用中,如果这两者同时传输数据,那么蓝牙通信就可能受到手机网络信号的干扰,导致传输速率的下降。因此在全新的蓝牙4.1标准中,一旦遇到蓝牙4.1和4G网络同时在传输数据的情况,那么蓝牙4.1就会自动协调两者的传输信息,从而减少其它信号对蓝牙4.1的干扰,用户也就不用担心传输速率下降的问题了。

    5)蓝牙4.1提供的增强功能

    包括:

    AES加密技术提供更安全的连接。该功能使无线耳机更加适用于政府、医疗及银行等安全至上的应用领域。

    可通过专属Bluetooth Smart远程遥控器操控耳机、扬声器及条形音箱,并支持同步播放源于另一个完全不同设备的音频流。

    八、蓝牙4.2标准

    2014年12月4日,蓝牙4.2标准颁布,改善了数据传输速度和隐私保护程度,可直接通过IPv6和6LoWPAN接入互联网。在新的标准下蓝牙信号想要连接或者追踪用户设备必须经过用户许可,否则蓝牙信号将无法连接和追踪用户设备。

    速度方面变得更加快速,两部蓝牙设备之间的数据传输速度提高了2.5倍,因为蓝牙智能(Bluetooth Smart)数据包的容量提高,其可容纳的数据量相当于此前的10倍左右。

    九、蓝牙5.0协议

    于美国时间2016年6月16日在伦敦正式发布,为现阶段最高级的蓝牙协议标准。蓝牙5.0有以下特点:

    (1)更快的传输速度

    蓝牙5.0的开发人员称,新版本的蓝牙传输速度上限为2Mbps,是之前4.2LE版本的两倍。当然,你在实际生活中是不太可能达到这个极限速度的,但是仍然可以体验到显著的速度提升。

    (2)更远的有效距离

    蓝牙5.0的另外一个重要改进是,它的有效距离是上一版本的4倍,因此在理论上,当你拿着手机站在距离蓝牙音箱300米的地方,它还是会继续放着你爱的歌。也就是说,理论上,蓝牙发射和接收设备之间的有效工作距离可达300米。当然,实际的有效距离还取决于你使用的电子设备。

    (3)导航功能

    蓝牙5.0将添加更多的导航功能,因此该技术可以作为室内导航信标或类似定位设备使用,结合Wi-Fi可以实现精度小于1米的室内定位。举个例子,如果你是路痴,你仍可以使用蓝牙技术,在诺大的商业中心找到路。

    (4)物联网功能

    物联网还在持续火爆,因此,蓝牙5.0针对物联网进行了很多底层优化,力求以更低的功耗和更高的性能为智能家居服务。

    (5)升级硬件

    此前的一些蓝牙版本更新只要求升级软件,但蓝牙5.0很可能要求升级到新的芯片。不过,旧的硬件仍可以兼容蓝牙5.0,你就无法享用其新的性能了。搭载蓝牙5.0芯片的旗舰级手机将于2017年问世,相信中低端手机也将陆陆续续内置蓝牙5芯片。苹果将为成为第一批使用该项技术的厂商之一。

    (6)更多的传输功能

    全新的蓝牙5.0能够增加更多的数据传输功能,硬件厂商可以通过蓝牙5.0创建更复杂的连接系统,比如Beacon或位置服务。因此通过蓝牙设备发送的广告数据可以发送少量信息到目标设备中,甚至无需配对。

    (7)更低的功耗

    众所周知,蓝牙是智能手机的必备功能,随着智能设备和移动支付等越来越多需要打开蓝牙,才能享受便利功能逐渐融入人们的生活之中,蓝牙的功耗成为了智能手机待机时间的一大杀手。为此蓝牙5.0将大大降低了蓝牙的功耗,使人们在使用蓝牙的过程中再也不必担心待机时间短的问题。

    (8)真正支持无损传输

    支持24bit/192KHz的无损音源传输,对现有的Wi-Fi高保真无损音频传输形成有效威胁。

    2.3.4  蓝牙匹配规则

    两个蓝牙设备在进行通讯前,必须将其匹配在一起,以保证其中一个设备发出的数据信息只会被经过允许的另一个设备所接受。蓝牙技术将设备分为两种:主设备和从设备。

    (1)蓝牙主设备

    主设备一般具有输入端。在进行蓝牙匹配操作时,用户通过输入端可输入随机的匹配密码来将两个设备匹配。

    蓝牙手机、安装有蓝牙模块的PC等都是主设备。(例如:蓝牙手机和蓝牙PC进行匹配时,用户可在蓝牙手机上任意输入一组数字,然后在蓝牙PC上输入相同的一组数字,来完成这两个设备之间的匹配。)

    (2)蓝牙从设备

    从设备一般不具备输入端。因此从设备在出厂时,在其蓝牙芯片中,固化有一个4位或6位数字的匹配密码。蓝牙耳机、UD数码笔等都是从设备。(例如:蓝牙PC与UD数码笔匹配时,用户将UD笔上的蓝牙匹配密码正确的输入到蓝牙PC上,完成UD笔与蓝牙PC之间的匹配。)

    注意事项:

    主设备与主设备之间、主设备与从设备之间,是可以互相匹配在一起的;而从设备与从设备是无法匹配的。

    例如:蓝牙PC与蓝牙手机可以匹配在一起;蓝牙PC也可以与UD笔匹配在一起;而UD笔与UD笔之间是不能匹配的。

    一个主设备,可匹配一个或多个其他设备。例如:一部蓝牙手机,一般只能匹配7个蓝牙设备。而一台蓝牙PC,可匹配十多个或数十个蓝牙设备。

    在同一时间,蓝牙设备之间仅支持点对点通讯。

    2.3.5  蓝牙应用

    蓝牙技术可以应用于日常生活的各个方面,例如,引入蓝牙技术,就可以去掉移动电话与膝上型电脑之间的令人讨厌的连接电缆而而通过无线使其建立通信。

    打印机、PDA、桌上型电脑、传真机、键盘、游戏操纵杆以及所有其它的数字设备都可以成为蓝牙系统的一部分。

    远距离蜂窝通信协议

    远距离蜂窝通信协议主要是2/3/4/5G、NB-IoT等技术下的各电信运营商采用的制式、协议,在这里就不再多为电信运营商和大设备商们摇旗了。

    远距离非蜂窝通信协议

    4.1  ZigBee

    4.1.1  ZigBee简介

    ZigBee这个名字来源于蜂群的通信方式:蜜蜂之间通过跳Zigzag形状的舞蹈来交互消息,以便共享食物源的方向、位置和距离等信息。借此意义Zigbee作为新一代无线通讯技术的命名。


    ZigBee是一种高可靠的无线数传网络,类似于CDMA和GSM网络。ZigBee数传模块类似于移动网络基站。ZigBee是一个由可多到65000个无线数传模块组成的一个无线网络平台,在整个网络范围内,每一个网络模块之间可以相互通信,每个网络节点间的距离可以从标准的75m无限扩展。通讯距离从标准的75m到几百米、几公里,并且支持无限扩展(依靠节点数增加)。与移动通信的CDMA网或GSM网不同的是,ZigBee网络主要是为工业现场自动化控制数据传输而建立,因而,它必须具有简单,使用方便,工作可靠,价格低的特点;而移动通信网主要是为语音通信而建立,每个基站价值一般都在几十万甚至上百万元人民币,而每个ZigBee网络“基站”(节点)却不到1000元人民币。

    4.1.2  技术特点

    ZigBee是一种无线连接,可工作在2.4GHz(全球流行)、868MHz(欧洲流行)和915 MHz(美国流行)3个频段上,分别具有最高250kbit/s、20kbit/s和40kbit/s的传输速率,它的传输距离在10-75m的范围内,但可以继续增加。

    作为一种无线通信技术,ZigBee具有如下特点:

    (1) 低功耗

    (2) 成本低

    (3) 时延短

    (4) 网络容量大

    (5) 可靠

    (6) 安全

    4.1.3  ZigBee协议栈

    ZigBee协议栈结构是基于标准OSI七层模型的,包括高层应用规范、应用汇聚层、网络层、媒体接入层和物理层,如下图所示。


    IEEE802.15.4定义了两个物理层标准,分别是2.4GHz物理层和868/915MHz物理层。两者均基于直接序列扩频(DSSS)技术。

    868MHz只有一个信道,传输速率为20kb/s;902MHz~928MHZ频段有10个信道,信道间隔为2MHz,传输速率为40kb/s。以上这两个频段都采用BPSK调制。

    2.4GHz~2.4835 GHz频段有16个信道,信道间隔为5MHz,能够提供250kb/s的传输速率,采用O-QPSK调制。

    为了提高传输数据的可靠性,IEEE 802.15.4定义的媒体接入控制(MAC)层采用了CSMA-CA和时隙CSMA-CA信道接入方式和完全握手协议。

    应用汇聚层主要负责把不同的应用映射到ZigBee网络上,主要包括安全与鉴权、多个业务数据流的会聚、设备发现和业务发现。

    4.1.4  应用领域

    (1)家庭和建筑物的自动化控制:照明、空调、窗帘等家具设备的远程控制;

    (2)消费性电子设备:电视、DVD、CD机等电器的远程遥控。

    (3) PC外设:无线键盘、鼠标、游戏操纵杆等;

    (4)工业控制:使数据的自动采集、分析和处理变得更加容易;

    (5) 医疗设备控制:医疗传感器、病人的紧急呼叫按钮等;

    (6)交互式玩具。

    4.2  LoRa

    LoRa™(LongRange,远距离)是一种调制技术,与同类技术相比,提供更远的通信距离。由于LoRa调制是物理层(PHY),因此也可将其用于不同的协议和不同网络架构(如Mesh、Star、点对点)等等。可以将LoRa概括为以下几种协议:

    (1)LoRaWAN协议

    (2)CLAA网络协议

    (3)LoRa私有网络协议

    (4)LoRa数据透传

    LoRa的协议不同,其产品和业务形态也有所不同。

    4.2.1  LoRaWAN协议

    LoRaWAN协议是由LoRa联盟推动的一种低功耗广域网协议,针对低成本、电池供电的传感器进行了优化,包括不同类别的节点,优化了网络延迟和电池寿命。LoRa联盟标准化了LoRaWAN,以确保不同国家的LoRa网络是可以互操作的。

    LoRaWAN构建的是一个运营商级的大网,覆盖地区乃至全国的网络。经过几年的发展,目前已建立起了较为完整的生态链:LoRa芯片→模组→传感器→基站或网关→网络服务→应用服务。

    在芯片方面,Semtech授权了多家公司做芯片,如ST、Micorochip、华普等,使得芯片产品更为丰富,一芯多源,产品不再受限于一家供应商。未来或许会有更多的厂家授权,生产出满足物联网市场多样化需求的产品来。

    在LoRaWAN网络还没有部署好的时候,符合LoRaWAN协议的模组还不能像2G/3G/4G模组等一样自由销售。一般地LoRaWAN模组是与网关或基站的产品搭配一起销售。部分厂家也开源了终端部分,提供网关和网络服务部分的解决方案。

    在LoRaWAN的产品中,多数厂家是以提供(云)端到(终)端的解决方案为主,包括模组、网关和网络服务器(Network Server),如NPLINK、八月科技、华立、唯传、门思、未来宽带等公司。由于对设备数据的要求不同,LoRaWAN网络服务(NS)有的是私有化部署,有的是部署在公有云或第三方网络服务器上。

    LoRaWAN目前还基本上是面向toB的市场,还没有普及到toC市场。一些具有行业或市场资源的公司会较早地部署LoRaWAN网络,改变原有或创造新的应用系统,而低功耗广域网市场的创新活力也在于此。

    4.2.2  CLAA协议

    中国LoRa应用联盟(China Lora Application Alliance,简称CLAA)是在LoRa Alliance支持下,由中兴通讯发起,各行业物联网应用创新主体广泛参与、合作共建的技术联盟,旨在共同建立中国LoRa应用合作生态圈,推动LoRa产业链在中国的应用和发展,建设多业务共享、低成本、广覆盖、可运营的LoRa物联网。中兴通讯作为LoRa Alliance(简称LoRa联盟)董事会成员,与LoRa联盟成员一起共同推动LoRa技术在全球低功耗广域网络(LPWAN)建设和产业链的发展。”

    中兴通讯在LoRaWAN的基础上优化了协议,构建了共建共享的LoRa应用平台。凭借中兴通讯行业的实力和影响力,在CLAA平台上已聚集了很多公司的产品。CLAA提供网关和云化核心网服务,可快速搭建起LoRa网络的物联网系统的应用来。

    CLAA有四种主要的业务合作模式:

    (1)独立运营商:提供全套解决方案;支持客户建网,并与CLAA共享物联网互联互通

    (2)大型合作伙伴:直接参股,CLAA负责建网,多城市大范围覆盖,享受全网整体受益,CLAA承担运维费

    (3)中小型客户:直接采购设备,CLAA协助建网,城市级或区域级覆盖,享受城市级、区域级收益,客户承担运维费

    (4)专业渠道商:直接采购设备,自行微客户建网,协助客户运营,客户承担运维费用

    4.2.3  LoRa私有网络协议

    在面向小范围节点数不多的应用中,使用LoRaWAN网关部署网络成本就显得高了。用一个或几个SX127x做一个小“网关”或“集中器”,无线连接上百个的SX127x,组建一个小的星型网络,通过自己的LoRa私有通信协议,就可以实现一个简单的LoRa私有网络,这也是一种比较灵活方式。当然,协议也可以是LoRaWAN协议。

    4.2.4  LoRa数据透传

    目前市面上LoRa芯片基本上源于美国SEMTECH的SX127x系列,用LoRa做成透传模块,只进行简单的发送和接收,实现点对点数据的传输,应用相对简单。

    5  有线通信协议

    5.1  USB协议

    目前USB已经发展了3代协议:

    USB协议规范1.1——支持USB低速和全速规范(12Mbps)

    USB协议规范2.0——支持USB高速协议规范(480Mbps)

    USB协议规范3.0——支持USB超高速协议规范(5Gbps)

    USB3.0是最新的USB规范,该规范由英特尔等公司发起。USB 2.0已经得到了PC厂商普遍认可,接口更成为了硬件厂商的必备接口。USB2.0的最大传输带宽为480Mbps(60MB/s),而USB3.0的最大传输带宽高达5.0Gbps(即640MB/s)。不过注意这是理论传输值,如果几台设备共用一个USB通道,主控制芯片会对每台设备可支配的带宽进行分配、控制。如在USB1.1中,所有设备只能共享1.5MB/s的带宽。如果单一的设备占用USB接口所有带宽的话,就会给其他设备的使用带来困难。

    5.2  RS232协议

    RS232是一种异步传输标准接口协议。通常 RS-232接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现 。RS232最常用的连接方式是三根线:一条发送线、一条接收线及一条地线。

    电平信号:逻辑1(MARK)=-3V~-15V,逻辑0(SPACE)=+3~+15V

    传输距离:RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰(两条传输线上的信号同时变大或变小)等问题,因此一般用于20m以内的通信。

    RS232不能实现多机通信。

    传输速率:RS232的传输速率较慢,能够达到1Mbps的已经比较少。

    5.3  RS485协议

    RS485是RS232升级版的串口协议,一般采用两线制传输:A、B两条传输线。

    电平信号:-2V~-6V表示“0”,+2V~+6V表示“1”,电压为A-B的电压。

    传输距离:一般1Km以内都没有问题。理论上,通信速率在100Kpbs及以下时,RS485的最长传输距离可达1200米,但在实际应用中传输的距离也因芯片及电缆的传输特性而所差异。在传输过程中可以采用增加中继的方法对信号进行放大,最多可以加八个中继,也就是说理论上RS485的最大传输距离可以达到9.6公里。如果真需要长距离传输,可以采用光纤为传播介质,收发两端各加一个光电转换器,多模光纤的传输距离是5~10公里,而采用单模光纤可达50公里的传播距离。

    RS485可以实现多机通信。

    原因:RS485为半双工通信方式,即分时实现收和发。总线空闲的状态下需要保证状态为逻辑1,也就是A-B的电压符合逻辑1的电平值。假设此时1为主机,2和3为从机,数据线的连接方式为1,2,3的A连接在一起,1,2,3的B也连接在一起,不存在RS232连接方式的问题。

    异步传输(Asynchronous Transmission): 异步传输将比特分成小组进行传送,小组可以是8位的1个字符或更长。发送方可以在任何时刻发送这些比特组,而接收方从不知道它们会在什么时候到达。一个常见的例子是计算机键盘与主机的通信。

    波特率计算:如果设置波特率为115200,数据位为8bit,起始位为1bit,结束位为1bit,校验位为1bit;那1s钟不间断可传送的字符(1bit起始位+8bit数据位+1bit校验位+1bit结束位,共11bit)为115200/11=10472;10472/1024结果约为10.227所以速率约为10kB/ps。

    5.4  M-Bus协议

    M-BUS在本文中暂不介绍,因为笔者在后续文章中将分享远程抄表系统,而M-Bus是为远程抄表系统数据采集而诞生的,在远程抄表系统中,笔者将会对M-Bus协议进行分析。


    展开全文
  • 1 “通信”与“通讯”傻傻分得清 传统意义上的“通讯”主要指电话、电报、电传。通讯的“讯”指消息(Message),媒体讯息通过通讯网络从一端传递到另外一端。媒体讯息的内容主要是话音、文字、图片和视频图像。其...

    1  “通信”与“通讯”傻傻分得清

    传统意义上的“通讯”主要指电话、电报、电传。通讯的“讯”指消息(Message),媒体讯息通过通讯网络从一端传递到另外一端。媒体讯息的内容主要是话音、文字、图片和视频图像。其网络的构成主要由电子设备系统和无线电系统构成,传输和处理的信号是模拟的。所以,“通讯”一词应特指采用电报、电话、网络等媒体传输系统实现上述媒体信息传输的过程。“通讯”重在内容形式,因此通讯协议主要集中在ISO七层协议中的应用层。

    “通信”仅指数据通信,即通过计算机网络系统和数据通信系统实现数据的端到端传输。通信的“信”指的是信息(Information),信息的载体是二进制的数据,数据则是可以用来表达传统媒体形式的信息,如声音、图像、动画等。“通信”重在传输手段或使用方式,从这个角度,“通信”的概念包括了信息“传输”。因此通信协议主要集中在ISO七层协议中的物理层、数据链路层、网络层和传输层。

    在物联网应用中,通信技术包括Wi-Fi、RFID、NFC、ZigBee、Bluetooth、LoRa、NB-IoT、GSM、GPRS、3/4/5G网络、Ethernet、RS232、RS485、USB等。

    相关的通信协议(协议栈、技术标准)包括Wi-Fi(IEEE 802.11b)、RFID、NFC、ZigBee、Bluetooth、LoRa、NB-IoT、CDMA/TDMA、TCP/IP、WCDMA、TD-SCDMA、TD-LTE、FDD-LTE、TCP/IP、HTTP等。注:3GPP将5G技术标准制定分为两个阶段,原计划中第一阶段的标准将在2018年底作为R15的一部分公布,将仅针对NR。第二阶段的标准将在2019年底作为R16的一部分,包括整个5G架构(包括核心网络)。

    物联网技术框架体系中所使用到的通讯协议主要有:AMQP、JMS、REST、HTTP/HTTPS、COAP、DDS 、MQTT等。

    2 通讯协议

    2.1  HTTP/HTTPS

    一、HTTP

    HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

    HTTP协议的主要特点可概括如下:

    (1)支持客户/服务器模式。

    (2)简单快速。客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

    (3)灵活。HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

    (4)无连接。无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

    (5)无状态。HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

    二、HTTPS

    HTTPS(Hypertext TransferProtocol over Secure Socket Layer,基于SSL的HTTP协议)使用了HTTP协议,但HTTPS使用不同于HTTP协议的默认端口及一个加密、身份验证层(HTTP与TCP之间)。这个协议的最初研发由网景公司进行,提供了身份验证与加密通信方法,现在它被广泛用于互联网上安全敏感的通信。

    客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。

    (1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。

    (2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

    (3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

    (4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。

    (5)Web服务器利用自己的私钥解密出会话密钥。

    (6)Web服务器利用会话密钥加密与客户端之间的通信。

    2.2  WebService/REST

    首先说明下,WebService和REST都不是一种协议,他们是基于HTTP/HTTPS的一种技术方式或风格,之所以放在这里,是因为在物联网应用服务对外接口方式常采用WebService和RESTful API。

     

    一、WebService

    WebService是一种跨编程语言和跨操作系统平台的远程调用技术。

    XML+XSD,SOAP和WSDL就是构成WebService平台的三大技术。

    (1)XML+XSD

    WebService采用HTTP协议传输数据,采用XML格式封装数据(即XML中说明调用远程服务对象的哪个方法,传递的参数是什么,以及服务对象的返回结果是什么)。XML是WebService平台中表示数据的格式。除了易于建立和易于分析外,XML主要的优点在于它既是平台无关的,又是厂商无关的。无关性是比技术优越性更重要的:软件厂商是不会选择一个由竞争对手所发明的技术的。

    XML解决了数据表示的问题,但它没有定义一套标准的数据类型,更没有说怎么去扩展这套数据类型。例如,整形数到底代表什么?16位,32位,64位?这些细节对实现互操作性很重要。XML Schema(XSD)就是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。WebService平台就是用XSD来作为其数据类型系统的。当你用某种语言(如VB.NET或C#)来构造一个Web service时,为了符合WebService标准,所有你使用的数据类型都必须被转换为XSD类型。你用的工具可能已经自动帮你完成了这个转换,但你很可能会根据你的需要修改一下转换过程。

    (2)SOAP

    WebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议。SOAP提供了标准的RPC方法来调用Web Service。

    SOAP协议 = HTTP协议 + XML数据格式

    SOAP协议定义了SOAP消息的格式,SOAP协议是基于HTTP协议的,SOAP也是基于XML和XSD的,XML是SOAP的数据编码方式。打个比喻:HTTP就是普通公路,XML就是中间的绿色隔离带和两边的防护栏,SOAP就是普通公路经过加隔离带和防护栏改造过的高速公路。

    (3)WSDL

    好比我们去商店买东西,首先要知道商店里有什么东西可买,然后再来购买,商家的做法就是张贴广告海报。 WebService也一样,WebService客户端要调用一个WebService服务,首先要有知道这个服务的地址在哪,以及这个服务里有什么方法可以调用,所以,WebService务器端首先要通过一个WSDL文件来说明自己家里有啥服务可以对外调用,服务是什么(服务中有哪些方法,方法接受的参数是什么,返回值是什么),服务的网络地址用哪个url地址表示,服务通过什么方式来调用。

    WSDL(Web Services Description Language)就是这样一个基于XML的语言,用于描述Web Service及其函数、参数和返回值。它是WebService客户端和服务器端都能理解的标准格式。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应WebService的代理类代码。

    WSDL文件保存在Web服务器上,通过一个url地址就可以访问到它。客户端要调用一个WebService服务之前,要知道该服务的WSDL文件的地址。WebService服务提供商可以通过两种方式来暴露它的WSDL文件地址:1.注册到UDDI服务器,以便被人查找;2.直接告诉给客户端调用者。

    二、REST

    REST (Representational State Transfer),表征状态转换,是基于HTTP 协议开发的一种通信风格,目前还不是标准。

    适用范围:REST/HTTP 主要为了简化互联网中的系统架构,快速实现客户端和服务器之间交互的松耦合,降低了客户端和服务器之间的交互延迟。因此适合在物联网的应用层面,通过REST 开放物联网中资源,实现服务被其他应用所调用。它有以下特点:

    (1)REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful;

    (2)客户端和服务器之间的交互在请求之间是无状态的;

    (3)在服务器端,应用程序状态和功能可以分为各种资源,它向客户端公开。资源的例子有:应用程序对象、数据库记录、算法等等。每个资源都使用URI (Universal Resource Identifier) 得到一个惟一的地址。所有资源都共享统一的界面,以便在客户端和服务器之间传输状态;

    (4)使用的是标准的HTTP方法,比如GET、PUT、POST 和DELETE。

    REST是互联网中服务调用API 封装风格,物联网中数据采集到物联网应用系统中,在物联网应用系统中,可以通过开放RESTAPI的方式,把数据服务开放出去,被互联网中其他应用所调用。

    2.3  CoAP 协议

    CoAP (Constrained Application Protocol),受限应用协议,应用于无线传感网中协议。

    适用范围:CoAP 是简化了HTTP 协议的RESTfulAPI,CoAP 是6LowPAN 协议栈中的应用层协议,它适用于在资源受限的通信的IP 网络。它有以下特点:

    (1)报头压缩。CoAP 包含一个紧凑的二进制报头和扩展报头。它只有短短的4B 的基本报头,基本报头后面跟扩展选项。一个典型的请求报头为10~20B。

    (2)方法和URIs。为了实现客户端访问服务器上的资源,CoAP 支持GET、PUT、POST 和DELETE 等方法。CoAP 还支持URIs,这是Web 架构的主要特点。

    (3)传输层使用UDP 协议。CoAP 协议是建立在UDP 协议之上,以减少开销和支持组播功能。它也支持一个简单的停止和等待的可靠性传输机制。

    (4)支持异步通信。HTTP 对M2M(Machine-to-Machine)通信不适用,这是由于事务总是由客户端发起。而CoAP 协议支持异步通信,这对M2M 通信应用来说是常见的休眠/唤醒机制。

    (5)支持资源发现。为了自主的发现和使用资源,它支持内置的资源发现格式,用于发现设备上的资源列表,或者用于设备向服务目录公告自己的资源。它支持RFC5785 中的格式,在CoRE 中用/.well—known/core 的路径表示资源描述。

    (6)支持缓存。CoAP 协议支持资源描述的缓存以优化其性能。

     

    CoAP协议主要实现:

    (1)libcoap(C 语言实现)

    (2)Californium(java 语言实现)

    另外,CoAP 和6LowPan,这分别是应用层协议和网络适配层协议,其目标是解决设备直接连接到IP 网络,也就是IP 技术应用到设备之间、互联网与设备之间的通信需求。因为IPV6 技术带来巨大寻址空间,不光解决了未来巨量设备和资源的标识问题,互联网上应用可以直接访问支持IPV6 的设备,而不需要额外的网关。

    2.4  MQTT 协议(低带宽)

    MQTT (Message Queuing Telemetry Transport ),消息队列遥测传输,由IBM 开发的即时通讯协议,相比来说比较适合物联网场景的通讯协议。MQTT 协议采用发布/订阅模式,所有的物联网终端都通过TCP 连接到云端,云端通过主题的方式管理各个设备关注的通讯内容,负责将设备与设备之间消息的转发。

    MQTT 在协议设计时就考虑到不同设备的计算性能的差异,所以所有的协议都是采用二进制格式编解码,并且编解码格式都非常易于开发和实现。最小的数据包只有2个字节,对于低功耗低速网络也有很好的适应性。有非常完善的QOS 机制,根据业务场景可以选择最多一次、至少一次、刚好一次三种消息送达模式。运行在TCP 协议之上,同时支持TLS(TCP+SSL)协议,并且由于所有数据通信都经过云端,安全性得到了较好地保障。

    适用范围:在低带宽、不可靠的网络下提供基于云平台的远程设备的数据传输和监控。

    它具有以下特点:

    (1)使用基于代理的发布/订阅消息模式,提供一对多的消息发布;

    (2)使用TCP/IP 提供网络连接;

    (3)小型传输,开销很小(固定长度的头部是2 字节),协议交换最小化,以降低网络流量;

    (4)支持QoS,有三种消息发布服务质量:“至多一次”, “至少一次”, “只有一次”。

    协议主要实现和应用:

    (1)已经有PHP,JAVA,Python,C,C#等多个语言版本的协议框架;

    (2)IBM Bluemix 的一个重要部分是其IoTFoundation 服务,这是一项基于云的MQTT实例;

    (3)移动应用程序也早就开始使用MQTT,如Facebook Messenger 和com 等。

    另外,MQTT 协议一般适用于设备数据采集到端(Device→Server,Device→Gateway),集中星型网络架构(hub-and-spoke),不适用设备与设备之间通信,设备控制能力弱,另外实时性较差,一般都在秒级。

    2.5  DDS 协议(高可靠性、实时)

    DDS(Data Distribution Service for Real-Time Systems),面向实时系统的数据分布服务,这是大名鼎鼎的OMG 组织提出的协议,其权威性应该能证明该协议的未来应用前景。

    适用范围:分布式高可靠性、实时传输设备数据通信。目前DDS 已经广泛应用于国防、民航、工业控制等领域。

    它具有以下特点:

    (1)以数据为中心;

    (2)使用无代理的发布/订阅消息模式,点对点、点对多、多对多;

    (3)提供多大21 种QoS服务质量策略。

    协议主要实现:

    (1)OpenDDS 是一个开源的C++ 实现;

    (2)OpenSplice DDS;

    另外,DDS很好地支持设备之间的数据分发和设备控制,设备和云端的数据传输,同时DDS的数据分发的实时效率非常高,能做到秒级内同时分发百万条消息到众多设备。DDS在服务质量(QoS)上提供非常多的保障途径,这也是它适用于国防军事、工业控制这些高可靠性、可安全性应用领域的原因。但这些应用都工作在有线网络下,在无线网络,特别是资源受限的情况下,没有见到过实施案例。

    2.6  AMQP 协议(互操作性)

    AMQP(Advanced Message Queuing Protocol),先进消息队列协议,这是OASIS 组织提出的,该组织曾提出OSLC(Open Source Lifecyle)标准,用于业务系统例如PLM,ERP,MES等进行数据交换。

    适用范围:最早应用于金融系统之间的交易消息传递,在物联网应用中,主要适用于移动手持设备与后台数据中心的通信和分析。

    它有以下特点:

    (1)Wire 级的协议,它描述了在网络上传输的数据的格式,以字节为流;

    (2)面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全;

    协议实现:

    (1)Erlang 中的实现有RabbitMQ

    (2)AMQP 的开源实现,用C 语言编写OpenAMQ

    (3)Apache Qpid

    (4)stormMQ

    2.7  XMPP 协议(即时通信)

    XMPP(Extensible Messaging and Presence Protocol)可扩展通讯和表示协议,XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF 国际标准组织完成了标准化工作。

    适用范围:即时通信的应用程序,还能用在网络管理、内容供稿、协同工具、档案共享、游戏、远端系统监控等。

    它有以下特点:

    (1)客户机/服务器通信模式;

    (2)分布式网络;

    (3)简单的客户端,将大多数工作放在服务器端进行;

    (4)标准通用标记语言的子集XML的数据格式。

    另外,XMPP 是基于XML 的协议,由于其开放性和易用性,在互联网及时通讯应用中运用广泛。相对HTTP,XMPP 在通讯的业务流程上是更适合物联网系统的,开发者不用花太多心思去解决设备通讯时的业务通讯流程,相对开发成本会更低。但是HTTP 协议中的安全性以及计算资源消耗的硬伤并没有得到本质的解决。

    2.8  JMS (JavaMessage Service)

    JMS (Java Message Service),JAVA 消息服务,这是JAVA 平台中著名的消息队列协议。

    Java 消息服务(Java Message Service)应用程序接口,是一个Java 平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java 消息服务是一个与具体平台无关的API,绝大多数MOM 提供商都对JMS 提供支持。

    JMS 是一种与厂商无关的API,用来访问消息收发系统消息,它类似于JDBC(Java DatabaseConnectivity)。这里,JDBC 是可以用来访问许多不同关系数据库的API,而JMS则提供同样与厂商无关的访问方法,以访问消息收发服务。许多厂商都支持JMS,包括IBM的MQSeries、BEA 的Weblogic JMS service 和Progress 的SonicMQ。JMS能够通过消息收发服务(有时称为消息中介程序或路由器)从一个JMS 客户机向另一个JMS 客户机发送消息。消息是JMS 中的一种类型对象,由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。消息主体则携带着应用程序的数据或有效负载。根据有效负载的类型来划分,可以将消息分为几种类型,它们分别携带:简单文本(TextMessage)、可序列化的对象(ObjectMessage)、属性集合(MapMessage)、字节流(BytesMessage)、原始值流(StreamMessage),还有无有效负载的消息(Message)。

    2.9 通讯协议比较

     

    展开全文
  • 微信公众号“智物客”和您免费分享物联网、智慧...在上文分析物联网常用通讯协议的基础上,本文按近距离通信、远距离蜂窝通信、远距离非蜂窝通信、有线通信4个方面分享了物联网常用通信协议。后续将分享三表远抄系统。

    物联网常见通信协议与通讯协议梳理【下】- 通信协议

    概述

    在上一篇文章《物联网常见通信协议与通讯协议梳理【上】- 通讯协议》中,对物联网常用通信协议和通讯协议作了区分,并对通讯协议进行了分享;本文将对常用的通信协议进行剖析,重点面向市场上使用率较高的,且又不是诸如TCP/IP之类老生常谈的。


    2  近距离通信协议

    2.1  RFID

    RFID的空中接口通信协议规范基本决定了RFID的工作类型,RFID读写器和相应类型RFID标签之间的通讯规则,包括:频率、调制、位编码及命令集。ISO/IEC制定五种频段的空中接口协议。

    (1) ISO/IEC 18000-1《信息技术-基于单品管理的射频识别-第1部分:参考结构和标准化的参数定义》。它规范空中接口通信协议中共同遵守的读写器与标签的通信参数表、知识产权基本规则等内容。这样每一个频段对应的标准不需要对相同内容进行重复规定。

    (2) ISO/IEC 18000-2《信息技术-基于单品管理的射频识别-第2部分:135KHz以下的空中接口通信用参数》。它规定在标签和读写器之间通信的物理接口,读写器应具有与Type A(FDX)和Type B(HDX)标签通信的能力;规定协议和指令再加上多标签通信的防碰撞方法。 

    (3) ISO/IEC 18000-3《信息技术-基于单品管理的射频识别-第3部分:参数空中接口通信在13.56MHz》。它规定读写器与标签之间的物理接口、协议和命令再加上防碰撞方法。关于防碰撞协议可以分为两种模式,而模式1又分为基本型与两种扩展型协议(无时隙无终止多应答器协议和时隙终止自适应轮询多应答器读取协议)。模式2采用时频复用FTDMA协议,共有8个信道,适用于标签数量较多的情形。

    (4) ISO/IEC 18000-4《信息技术-基于单品管理的射频识别-第4部分:2.45 GHz空中接口通信用参数》。它规定读写器与标签之间的物理接口、协议和命令再加上防碰撞方法。该标准包括两种模式,模式1是无源标签工作方式是读写器先讲;模式2是有源标签,工作方式是标签先讲。

    (5) ISO/IEC 18000-6《信息技术-基于单品管理的射频识别-第6部分:860 MHz - 960 MHz空中接口通信参数》。它规定读写器与标签之间的物理接口、协议和命令再加上防碰撞方法。它包含TypeA、TypeB和TypeC三种无源标签的接口协议,通信距离最远可以达到10m。其中TypeC是由EPCglobal起草的,并于2006年7月获得批准,它在识别速度、读写速度、数据容量、防碰撞、信息安全、频段适应能力、抗干扰等方面有较大提高。2006年递交V4.0草案,它针对带辅助电源和传感器电子标签的特点进行扩展,包括标签数据存储方式和交互命令。带电池的主动式标签可以提供较大范围的读取能力和更强的通信可靠性,不过其尺寸较大,价格也更贵一些。

    (6) ISO/IEC 18000-7《信息技术-基于单品管理的射频识别-第7部分:433 MHz有源空中接口通信参数》。它规定读写器与标签之间的物理接口、协议和命令再加上防碰撞方法。有源标签识读范围大,适用于大型固定资产的跟踪。属于有源电子标签。

     

    此外,还有3个常用的RFID协议:

    (1)ISO/IEC 14443 《识别卡—无触点集成电路卡—邻近卡》

    国际标准ISO 14443定义了两种信号接口:TypeA和TypeB。ISO 14443A和B互不兼容。

    一、ISO 14443 TypeA

    ISO 14443 TypeA(也称ISO 14443A)一般用于门禁卡、公交卡和小额储值消费卡等,具有较高的市场占有率。

    举例:

    1)MIFARE ULtralight(MFO ICU1X):国内常称U10。此芯片没有加密功能,只能系统加密,内存是64个字节,典型应用:广深高速火车票。(另:MIFARE ULtralight C,也叫U20,此芯片可以加密,内存是192个字节)。这两个芯片的内码位数都是一样的,不过内码数据时不同的。(国内兼容芯片有FM11RF005内存64个字节、BL75R12内存64个字节等)

    2)MIFARE Std 1k(MF1 IC S50)国内常称MF1 S50。主要应用在一卡通方面。内存1KB,有16个扇区,每个扇区有4个块,每个块16个字节。初始密码是12个F。(国内兼容芯片有FM11R08、ISSI4439、TKS50、BL75R06等)

    3)MIFARE Std 4k(MF1 IC S70)国内常称为MF1 S70。主要应用在一卡通方面。内存4KB,共40个扇区,前面32个扇区跟S50一样,每个扇区有4个块,后面8个扇区是16个块,每个块都是16个字节。初始密码是12个F。(国内兼容芯片有ISSI4469、FM11RF32以及华大的S70)。

    4)Mifare DESFire 4k(MF3 IC D41/D40)国内常称为MF3。典型应用:南京地铁。

    5)SHC1102上海华虹生产。典型应用:上海一卡通。

    二、ISO 14443 TypeB

    ISO14443B由于加密系数比较高,更适合于CPU卡,一般用于身份证、护照、银联卡等,目前的第二代电子身份证采用的标准是ISO 14443 TypeB协议。

    举例:

    1)SR176瑞士意法半导体(ST)生产。

    2)SRIX4K瑞士意法半导体(ST)生产。

    3)THR1064:北京同方生产。典型应用:奥运门票。

    4)AT88RF020:美国爱特梅尔(ATMIL)生产。典型应用:广州地铁卡。

    5)第二代居民身份证:上海华虹、北京同方THR9904、天津大塘和北京华大生产。

    (2)ISO/IEC 15693《识别卡—无接触点集成电路卡—近距卡》

    ISO 14443A/B的读写距离通常在10cm以内,应用较广。但ISO 15693的读写距离可以达到1m,应用较灵活,与ISO 18000-3兼容(我国的国家标准很多与ISO 18000大部分兼容)。

    举例:

    1)ICODE SLI(SL2ICS20):国内常称ICODE 2(内存是1Kbit),此型号常用。国内兼容有BL75R05、FM1302N。(另:ICODE SLI-S内存是2048bit,ICODE SLI-L内存是512bit,这两款芯片在国内不常用。)

    2)Tag-it HF-1 Plus:国内常称Tl2048,美国德州仪器公司(简称TI公司)生产。

    3)EM4135瑞士EM生产。

    4)BL75R04上海贝岭生产以及FM1302T(复旦生产),兼容TI公司的Tag-it HF-1 Plus。

    (3)ISO 18092《信息技术系统间近距离无线通信及信息交换的接口和协议》

    NFC协议,对近距离无线通信技术进行了一些规范。NFC属于RFID范畴,但又与RFID有一些区别,因此本文将单独一小节对NFC进行阐述。


    2.2  NFC

    2.2.1  NFC概述

    近距离无线通信NFC是Near Field Communication缩写,即近距离无线通讯技术,是一种短距离的高频无线通信技术,允许电子设备之间进行非接触式点对点数据传输(在10厘米内)交换数据。

    NFC 提供了一种简单、触控式的解决方案,可以让消费者简单直观地交换信息、访问内容与服务。这个技术由免接触式射频识别(RFID)演变而来,并向下兼容RFID,最早由Philips、Nokia和Sony主推,主要可能用于手机等手持设备中。由于近场通讯具有天然的安全性,因此,NFC技术被认为在手机支付等领域具有很大的应用前景。 NFC 将非接触读卡器、非接触卡和点对点(Peer-to-Peer)功能整合进一块单芯片,为消费者的生活方式开创了不计其数的全新机遇。

    这是一个开放接口平台,可以对无线网络进行快速、主动设置,也是虚拟连接器,服务于现有蜂窝状网络、蓝牙和无线802.11 设备。和RFID不同,NFC采用了双向的识别和连接。在20cm距离内工作于13.56MHz频率范围。它能快速自动地建立无线网络,为蜂窝设备、蓝牙设备、Wi-Fi设备提供一个“虚拟连接”,使电子设备可以在短距离范围进行通讯。 

    2.2.2  NFC技术原理

    NFC的设备可以在主动或被动模式下交换数据。

    在被动模式下,启动NFC通信的设备,也称为NFC发起设备(主设备),在整个通信过程中提供射频场。它可以选择106kbps、212kbps或424kbps其中一种传输速度,将数据发送到另一台设备。另一台设备称为NFC目标设备(从设备),不必产生射频场,而使用负载调制(load modulation)技术,即可以相同的速度将数据传回发起设备。 移动设备主要以被动模式操作,可以大幅降低功耗,并延长电池寿命。电池电量较低的设备可以要求以被动模式充当目标设备,而不是发起设备。

     

    在主动模式下,每台设备要向另一台设备发送数据时,都必须产生自己的射频场。这是对等网络通信的标准模式,可以获得非常快速的连接设置。


    2.2.3 NFC应用

    NFC技术的应用可以分为四种基本的类别:

    (1)接触通过(TouchandGo),如门禁管制、车票和门票等,使用者只需携带储存着票证或门控密码的移动设备靠近读取装置即可。

    (2)接触确认(TouchandConfirm),如移动支付,用户通过输入密码或者仅是接受交易,确认该次交易行为。

    (3)接触连接(TouchandConnect),如把两个内建NFC的装置相连接,进行点对点数据传输,例如下载音乐、图片互传和同步交换通讯簿等。

    (4)接触浏览(TouchandExplore),NFC设备可以提供一种以上有用的功能,消费者将能够通过浏览一个NFC设备,了解提供的是何种功能和服务。

    2.3  Bluetooth

    2.3.1  起源

    蓝牙的名字来源于10世纪丹麦国王Harald Blatand - 英译为Harold Bluetooth(因为他十分喜欢吃蓝梅,所以牙齿每天都带着蓝色)。他将当时的瑞典、芬兰与丹麦统一起来。用他的名字来命名这种新的技术标准,含有将四分五裂的局面统一起来的意思。


    1998年5月,爱立信、诺基亚、东芝、IBM和英特尔公司等五家著名厂商,在联合开展短程无线通信技术的标准化活动时提出了蓝牙技术,其宗旨是提供一种短距离、低成本的无线传输应用技术。

    2.3.2  蓝牙技术的规范及特点

    蓝牙技术是一种无线数据与语音通信的开放性全球规范,工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段,标准是IEEE802.15,工作在2.4GHz 频带,带宽为1Mb/s。

    它以低成本的近距离无线连接为基础,为固定与移动设备通信环境建立一个特别连接。以时分方式进行全双工通信,其基带协议是电路交换和分组交换的组合。一个跳频频率发送一个同步分组,每个分组占用一个时隙,使用扩频技术也可扩展到5个时隙。 同时,蓝牙技术支持1个异步数据通道或3个并发的同步话音通道,或1个同时传送异步数据和同步话音的通道。每一个话音通道支持64kb/s的同步话音;异步通道支持最大速率为721kb/s,反向应答速率为57. 6 kb/s的非对称连接,或者是432. 6 kb/s的对称连接。

    依据发射输出电平功率不同,蓝牙传输有3 种距离等级:

    Class1为100m左右;

    Class2约为10m

    Class3约为2-3m

    一般情况下,其正常的工作范围是10m 半径之内。在此范围内,可进行多台设备间的互联。

    2.3.3  蓝牙版本

    目前蓝牙发展到了蓝牙5.0

    下面对现阶段主要版本蓝牙技术的特性做一个详细的介绍:

    一、版本1.1

    传输率约在748~810kb/s,因是早期设计,容易受到同频率之间的类似通信产品干扰,影响通讯质量。这个初始版本支持Stereo音效的传输要求,但只能够以(单工)方式工作,加上带宽频率响应等指标不理想,并未算是最好的Stereo传输工具。

    二、版本1.2

    同样是只有748~810kb/s的传输率,但增加了(改善Software)抗干扰跳频功能。支持Stereo音效的传输要求,但只能够作(单工)方式工作,加上带宽频率响应还是不理想,也不能作为立体声(Stereo)传输工具。

    三、版本2.0

    2.0是1.2的改良提升版,传输率约在1.8M/s~2.1M/s,可以有(双工)的工作方式。即一边作语音通讯,同时亦可以传输档案/高质素图片,2.0版本当然也支持Stereo运作。随后蓝牙2.0版本的芯片,增加了Stereo译码芯片,则连A2DP(Advanced Audio Distribution Profile)也可以不需要了。

    四、版本2.1

    为了改善蓝牙技术存在的问题,蓝牙SIG组织(Special Interest Group)推出了Bluetooth 2.1+EDR版本的蓝牙技术。改善装置配对流程:以往在连接过程中,需要利用个人识别码来确保连接的安全性,而改进过后的连接方式则是会自动使用数字密码来进行配对与连接,举例来说,只要在手机选项中选择连接特定装置,在确定之后,手机会自动列出当前环境中可使用的设备,并且自动进行连结;而短距离的配对方面:也具备了在两个支持蓝牙的手机之间互相进行配对与通讯传输的NFC(Near Field Communication)机制;更佳的省电效果:蓝牙2.1版加入了Sniff Subrating的功能,透过设定在2个装置之间互相确认讯号的发送间隔来达到节省功耗的目的。蓝牙2.1将装置之间相互确认的讯号发送时间间隔从旧版的0.1秒延长到0.5秒左右,如此可以让蓝牙芯片的工作负载大幅降低,也可让蓝牙可以有更多的时间可以彻底休眠。根据官方的报告,采用此技术之后,蓝牙装置在开启蓝牙联机之后的待机时间可以有效延长5倍以上,开始支持全双工通信模式。

    五、版本3.0+HS

    2009年4月21日,蓝牙技术联盟(BluetoothSIG)正式颁布了新一代标准规范"BluetoothCoreSpecificationVersion3.0HighSpeed"(蓝牙核心规范3.0版高速),蓝牙3.0的核心是"Generic Alternate MAC/PHY"(AMP),这是一种全新的交替射频技术,允许蓝牙协议栈针对任一任务动态地选择正确射频。最初被期望用于新规范的技术包括802.11以及UMB,但是新规范中取消了UMB的应用。作为新版规范,蓝牙3.0的传输速度自然会更高,而秘密就在802.11无线协议上。通过集成"802.11PAL"(协议适应层),蓝牙3.0的数据传输率提高到了大约24Mbps(即可在需要的时候调用802.11WI-FI用于实现高速数据传输),是蓝牙2.0的八倍,可以轻松用于录像机至高清电视、PC至PMP、UMPC至打印机之间的资料传输。功耗方面,通过蓝牙3.0高速传送大量数据自然会消耗更多能量,但由于引入了增强电源控制(EPC)机制,再辅以802.11,实际空闲功耗会明显降低,蓝牙设备的待机耗电问题有望得到初步解决。此外,新的规范还具备通用测试方法(GTM)和单向广播无连接数据(UCD)两项技术,并且包括了一组HCI指令以获取密钥长度。据称,配备了蓝牙2.1模块的PC理论上可以通过升级固件让蓝牙2.1设备也支持蓝牙3.0。联盟成员已经开始为设备制造商研发蓝牙3.0解决方案。

    六、蓝牙4.0

    (1)简介

    蓝牙4.0为蓝牙3.0的升级标准蓝牙4.0最重要的特性是省电,极低的运行和待机功耗可以使一粒纽扣电池连续工作数年之久。此外,低成本和跨厂商互操作性,3毫秒低延迟、AES-128加密等诸多特色,可以用于计步器、心律监视器、智能仪表、传感器物联网等众多领域,大大扩展蓝牙技术的应用范围。

    (2)主要特点

    蓝牙4.0是蓝牙3.0+HS规范的补充,专门面向对成本和功耗都有较高要求的无线方案,可广泛用于卫生保健、体育健身、家庭娱乐、安全保障等诸多领域。它支持两种部署方式:双模式和单模式。双模式中,低功耗蓝牙功能集成在现有的经典蓝牙控制器中,或再在现有经典蓝牙技术(2.1+EDR/3.0+HS)芯片上增加低功耗堆栈,整体架构基本不变,因此成本增加有限。

    Singlemode只能与BT4.0互相传输无法向下兼容(与3.0/2.1/2.0无法相通);Dual mode可以向下兼容可与BT4.0传输也可以跟3.0/2.1/2.0传输。单模式面向高度集成、紧凑的设备,使用一个轻量级连接层(Link Layer)提供超低功耗的待机模式操作、简单设备恢复和可靠的点对多点数据传输,还能让联网传感器在蓝牙传输中安排好低功耗蓝牙流量的次序,同时还有高级节能和安全加密连接。

    (3)优点

    蓝牙4.0将三种规格集一体,包括传统蓝牙技术、高速技术和低耗能技术,与3.0版本相比最大的不同就是低功耗。“4.0版本的功耗较老版本降低了90%,更省电,“随着蓝牙技术由手机、游戏、耳机、便携电脑和汽车等传统应用领域向物联网、医疗等新领域的扩展,对低功耗的要求会越来越高。4.0版本强化了蓝牙在数据传输上的低功耗性能。”

    七、蓝牙4.1

    (1)简介

    如果说蓝牙 4.0主打的是省电特性的话,那么此次升级蓝牙4.1的关键词应当是IOT(全联网),也就是把所有设备都联网的意思。为了实现这一点,对通讯功能的改进是蓝牙 4.1最为重要的改进之一。

    (2)主要特点

    1)批量数据的传输速度

    首当其冲的就是批量数据的传输速度,大家知道蓝牙的传输速率一直非常渣,与已经跨入千兆的Wi-Fi相比毫无可比性。所以蓝牙4.1在已经被广泛使用的蓝牙4.0 LE基础上进行了升级,使得批量数据可以以更高的速率传输。当然这并不意味着可以用蓝牙高速传输流媒体视频,这一改进的主要针对的还是刚刚兴起的可穿戴设备。例如已经比较常见的健康手环,其发送出的数据流并不大,通过蓝牙4.1能够更快速地将跑步、游泳、骑车过程中收集到的信息传输到手机等设备上,用户就能更好地实时监控运动的状况,这是很有用处的。在蓝牙4.0时代,所有采用了蓝牙4.0 LE的设备都被贴上了“Bluetooth Smart” 和 “BluetoothSmartReady”的标志。其中Bluetooth Smart Ready设备指的是PC、平板、手机这样的连接中心设备,而Bluetooth Smart设备指的是蓝牙耳机、键鼠等扩展设备。之前这些设备之间的角色是早就安排好了的,并不能进行角色互换,只能进行1对1连接。而在蓝牙4.1技术中,就允许设备同时充当“Bluetooth Smart”和“Bluetooth SmartReady”两个角色的功能,这就意味着能够让多款设备连接到一个蓝牙设备上。举个例子,一个智能手表既可以作为中心枢纽,接收从健康手环上收集的运动信息的同时,又能作为一个显示设备,显示来自智能手机上的邮件、短信。借助蓝牙4.1技术智能手表、智能眼镜等设备就能成为真正的中心枢纽。

    2)通过IPV6连接到网络

    除此之外,可穿戴设备上网不易的问题,也可以通过蓝牙4.1进行解决。新标准加入了专用通道允许设备通过 IPv6 联机使用。举例来说,如果有蓝牙设备无法上网,那么通过蓝牙4.1连接到可以上网的设备之后,该设备就可以直接利用IPv6连接到网络,实现与WiFi相同的功能。尽管受传输速率的限制,该设备的上网应用有限,不过同步资料、收发邮件之类的操作还是完全可以实现的。这个改进的好处在于传感器、嵌入式设备只需蓝牙便可实现连接手机、连接互联网,相对而言WiFi多用于连接互联网,在连接设备方面效果一般,无法做到蓝牙的功能。未来随着物联网逐渐走进我们的生活,无线传输在日常生活中的地位也会越来越高,蓝牙作为普及最广泛的传输方式,将在“物联网”中起到不可忽视的作用。不过,蓝牙完全适应IPv6则需要更长的时间,所以就要看芯片厂商如何帮助蓝牙设备增加IPv6的兼容性了。

    3)简化设备连接

    在各大手机厂商以及PC厂商的推动下,几乎所有的移动设备和笔记本电脑中都装有蓝牙的模块,用户对于蓝牙的使用也比较多。不过仍有大量用户觉得蓝牙使用起来很麻烦,归根结底还是蓝牙设备较为复杂的配对、连接造成的。试想一下,如果与手机连接的智能手表,每次断开连接后,都得在设置界面中手动选择一次才能重新连接,这就非常麻烦了。之前解决这一问题的方法是厂商在两个蓝牙设备中都加入NFC芯片,通过NFC近场通讯的方式来简化重新配对的步骤,这本是个不错的思路。只是搭载NFC芯片的产品不仅数量少,而且价格偏高,非常小众。

    蓝牙4.1针对这点进行了改进,对于设备之间的连接和重新连接进行了很大幅度的修改,可以为厂商在设计时提供更多的设计权限,包括设定频段创建或保持蓝牙连接,这以改变使得蓝牙设备连接的灵活性有了非常明显的提升。两款带有蓝牙4.1的设备之前已经成功配对,重新连接时只要将这两款设备靠近,即可实现重新连接,完全不需要任何手动操作。举个例子,以后使用蓝牙4.1的耳机时,只要打开电源开关就行了,不需要在手机上进行操作,非常的简单。

    4)与4G和平共处

    在移动通信领域,近期最火的话题莫过于4G了,已经成为全球无线通信网络一个不可逆转的发展趋势。而蓝牙4.1也专门针对4G进行了优化,确保可以与4G信号和平共处,这个改进被蓝牙技术联盟称为“共存性”。可能大家会觉得疑惑,手机网络信号和蓝牙不是早就共存了么,为什么蓝牙4.1还要特别针对这点改进呢?这是因为在实际的应用中,如果这两者同时传输数据,那么蓝牙通信就可能受到手机网络信号的干扰,导致传输速率的下降。因此在全新的蓝牙4.1标准中,一旦遇到蓝牙4.1和4G网络同时在传输数据的情况,那么蓝牙4.1就会自动协调两者的传输信息,从而减少其它信号对蓝牙4.1的干扰,用户也就不用担心传输速率下降的问题了。

    5)蓝牙4.1提供的增强功能

    包括:

    AES加密技术提供更安全的连接。该功能使无线耳机更加适用于政府、医疗及银行等安全至上的应用领域。

    可通过专属Bluetooth Smart远程遥控器操控耳机、扬声器及条形音箱,并支持同步播放源于另一个完全不同设备的音频流。

    八、蓝牙4.2标准

    2014年12月4日,蓝牙4.2标准颁布,改善了数据传输速度和隐私保护程度,可直接通过IPv6和6LoWPAN接入互联网。在新的标准下蓝牙信号想要连接或者追踪用户设备必须经过用户许可,否则蓝牙信号将无法连接和追踪用户设备。

    速度方面变得更加快速,两部蓝牙设备之间的数据传输速度提高了2.5倍,因为蓝牙智能(Bluetooth Smart)数据包的容量提高,其可容纳的数据量相当于此前的10倍左右。

    九、蓝牙5.0协议

    于美国时间2016年6月16日在伦敦正式发布,为现阶段最高级的蓝牙协议标准。蓝牙5.0有以下特点:

    (1)更快的传输速度

    蓝牙5.0的开发人员称,新版本的蓝牙传输速度上限为2Mbps,是之前4.2LE版本的两倍。当然,你在实际生活中是不太可能达到这个极限速度的,但是仍然可以体验到显著的速度提升。

    (2)更远的有效距离

    蓝牙5.0的另外一个重要改进是,它的有效距离是上一版本的4倍,因此在理论上,当你拿着手机站在距离蓝牙音箱300米的地方,它还是会继续放着你爱的歌。也就是说,理论上,蓝牙发射和接收设备之间的有效工作距离可达300米。当然,实际的有效距离还取决于你使用的电子设备。

    (3)导航功能

    蓝牙5.0将添加更多的导航功能,因此该技术可以作为室内导航信标或类似定位设备使用,结合Wi-Fi可以实现精度小于1米的室内定位。举个例子,如果你是路痴,你仍可以使用蓝牙技术,在诺大的商业中心找到路。

    (4)物联网功能

    物联网还在持续火爆,因此,蓝牙5.0针对物联网进行了很多底层优化,力求以更低的功耗和更高的性能为智能家居服务。

    (5)升级硬件

    此前的一些蓝牙版本更新只要求升级软件,但蓝牙5.0很可能要求升级到新的芯片。不过,旧的硬件仍可以兼容蓝牙5.0,你就无法享用其新的性能了。搭载蓝牙5.0芯片的旗舰级手机将于2017年问世,相信中低端手机也将陆陆续续内置蓝牙5芯片。苹果将为成为第一批使用该项技术的厂商之一。

    (6)更多的传输功能

    全新的蓝牙5.0能够增加更多的数据传输功能,硬件厂商可以通过蓝牙5.0创建更复杂的连接系统,比如Beacon或位置服务。因此通过蓝牙设备发送的广告数据可以发送少量信息到目标设备中,甚至无需配对。

    (7)更低的功耗

    众所周知,蓝牙是智能手机的必备功能,随着智能设备和移动支付等越来越多需要打开蓝牙,才能享受便利功能逐渐融入人们的生活之中,蓝牙的功耗成为了智能手机待机时间的一大杀手。为此蓝牙5.0将大大降低了蓝牙的功耗,使人们在使用蓝牙的过程中再也不必担心待机时间短的问题。

    (8)真正支持无损传输

    支持24bit/192KHz的无损音源传输,对现有的Wi-Fi高保真无损音频传输形成有效威胁。

    2.3.4  蓝牙匹配规则

    两个蓝牙设备在进行通讯前,必须将其匹配在一起,以保证其中一个设备发出的数据信息只会被经过允许的另一个设备所接受。蓝牙技术将设备分为两种:主设备和从设备。

    (1)蓝牙主设备

    主设备一般具有输入端。在进行蓝牙匹配操作时,用户通过输入端可输入随机的匹配密码来将两个设备匹配。

    蓝牙手机、安装有蓝牙模块的PC等都是主设备。(例如:蓝牙手机和蓝牙PC进行匹配时,用户可在蓝牙手机上任意输入一组数字,然后在蓝牙PC上输入相同的一组数字,来完成这两个设备之间的匹配。)

    (2)蓝牙从设备

    从设备一般不具备输入端。因此从设备在出厂时,在其蓝牙芯片中,固化有一个4位或6位数字的匹配密码。蓝牙耳机、UD数码笔等都是从设备。(例如:蓝牙PC与UD数码笔匹配时,用户将UD笔上的蓝牙匹配密码正确的输入到蓝牙PC上,完成UD笔与蓝牙PC之间的匹配。)

    注意事项:

    主设备与主设备之间、主设备与从设备之间,是可以互相匹配在一起的;而从设备与从设备是无法匹配的。

    例如:蓝牙PC与蓝牙手机可以匹配在一起;蓝牙PC也可以与UD笔匹配在一起;而UD笔与UD笔之间是不能匹配的。

    一个主设备,可匹配一个或多个其他设备。例如:一部蓝牙手机,一般只能匹配7个蓝牙设备。而一台蓝牙PC,可匹配十多个或数十个蓝牙设备。

    在同一时间,蓝牙设备之间仅支持点对点通讯。

    2.3.5  蓝牙应用

    蓝牙技术可以应用于日常生活的各个方面,例如,引入蓝牙技术,就可以去掉移动电话与膝上型电脑之间的令人讨厌的连接电缆而而通过无线使其建立通信。

    打印机、PDA、桌上型电脑、传真机、键盘、游戏操纵杆以及所有其它的数字设备都可以成为蓝牙系统的一部分。

    3 远距离蜂窝通信协议

    远距离蜂窝通信协议主要是2/3/4/5G、NB-IoT等技术下的各电信运营商采用的制式、协议,在这里就不再多为电信运营商和大设备商们摇旗了。

    4 远距离非蜂窝通信协议

    4.1  ZigBee

    4.1.1  ZigBee简介

    ZigBee这个名字来源于蜂群的通信方式:蜜蜂之间通过跳Zigzag形状的舞蹈来交互消息,以便共享食物源的方向、位置和距离等信息。借此意义Zigbee作为新一代无线通讯技术的命名。


    ZigBee是一种高可靠的无线数传网络,类似于CDMA和GSM网络。ZigBee数传模块类似于移动网络基站。ZigBee是一个由可多到65000个无线数传模块组成的一个无线网络平台,在整个网络范围内,每一个网络模块之间可以相互通信,每个网络节点间的距离可以从标准的75m无限扩展。通讯距离从标准的75m到几百米、几公里,并且支持无限扩展(依靠节点数增加)。与移动通信的CDMA网或GSM网不同的是,ZigBee网络主要是为工业现场自动化控制数据传输而建立,因而,它必须具有简单,使用方便,工作可靠,价格低的特点;而移动通信网主要是为语音通信而建立,每个基站价值一般都在几十万甚至上百万元人民币,而每个ZigBee网络“基站”(节点)却不到1000元人民币。

    4.1.2  技术特点

    ZigBee是一种无线连接,可工作在2.4GHz(全球流行)、868MHz(欧洲流行)和915 MHz(美国流行)3个频段上,分别具有最高250kbit/s、20kbit/s和40kbit/s的传输速率,它的传输距离在10-75m的范围内,但可以继续增加。

    作为一种无线通信技术,ZigBee具有如下特点:

    (1) 低功耗

    (2) 成本低

    (3) 时延短

    (4) 网络容量大

    (5) 可靠

    (6) 安全

    4.1.3  ZigBee协议栈

    ZigBee协议栈结构是基于标准OSI七层模型的,包括高层应用规范、应用汇聚层、网络层、媒体接入层和物理层,如下图所示。


    IEEE802.15.4定义了两个物理层标准,分别是2.4GHz物理层和868/915MHz物理层。两者均基于直接序列扩频(DSSS)技术。

    868MHz只有一个信道,传输速率为20kb/s;902MHz~928MHZ频段有10个信道,信道间隔为2MHz,传输速率为40kb/s。以上这两个频段都采用BPSK调制。

    2.4GHz~2.4835 GHz频段有16个信道,信道间隔为5MHz,能够提供250kb/s的传输速率,采用O-QPSK调制。

    为了提高传输数据的可靠性,IEEE 802.15.4定义的媒体接入控制(MAC)层采用了CSMA-CA和时隙CSMA-CA信道接入方式和完全握手协议。

    应用汇聚层主要负责把不同的应用映射到ZigBee网络上,主要包括安全与鉴权、多个业务数据流的会聚、设备发现和业务发现。

    4.1.4  应用领域

    (1)家庭和建筑物的自动化控制:照明、空调、窗帘等家具设备的远程控制;

    (2)消费性电子设备:电视、DVD、CD机等电器的远程遥控。

    (3) PC外设:无线键盘、鼠标、游戏操纵杆等;

    (4)工业控制:使数据的自动采集、分析和处理变得更加容易;

    (5) 医疗设备控制:医疗传感器、病人的紧急呼叫按钮等;

    (6)交互式玩具。

    4.2  LoRa

    LoRa™(LongRange,远距离)是一种调制技术,与同类技术相比,提供更远的通信距离。由于LoRa调制是物理层(PHY),因此也可将其用于不同的协议和不同网络架构(如Mesh、Star、点对点)等等。可以将LoRa概括为以下几种协议:

    (1)LoRaWAN协议

    (2)CLAA网络协议

    (3)LoRa私有网络协议

    (4)LoRa数据透传

    LoRa的协议不同,其产品和业务形态也有所不同。

    4.2.1  LoRaWAN协议

    LoRaWAN协议是由LoRa联盟推动的一种低功耗广域网协议,针对低成本、电池供电的传感器进行了优化,包括不同类别的节点,优化了网络延迟和电池寿命。LoRa联盟标准化了LoRaWAN,以确保不同国家的LoRa网络是可以互操作的。

    LoRaWAN构建的是一个运营商级的大网,覆盖地区乃至全国的网络。经过几年的发展,目前已建立起了较为完整的生态链:LoRa芯片→模组→传感器→基站或网关→网络服务→应用服务。

    在芯片方面,Semtech授权了多家公司做芯片,如ST、Micorochip、华普等,使得芯片产品更为丰富,一芯多源,产品不再受限于一家供应商。未来或许会有更多的厂家授权,生产出满足物联网市场多样化需求的产品来。

    在LoRaWAN网络还没有部署好的时候,符合LoRaWAN协议的模组还不能像2G/3G/4G模组等一样自由销售。一般地LoRaWAN模组是与网关或基站的产品搭配一起销售。部分厂家也开源了终端部分,提供网关和网络服务部分的解决方案。

    在LoRaWAN的产品中,多数厂家是以提供(云)端到(终)端的解决方案为主,包括模组、网关和网络服务器(Network Server),如NPLINK、八月科技、华立、唯传、门思、未来宽带等公司。由于对设备数据的要求不同,LoRaWAN网络服务(NS)有的是私有化部署,有的是部署在公有云或第三方网络服务器上。

    LoRaWAN目前还基本上是面向toB的市场,还没有普及到toC市场。一些具有行业或市场资源的公司会较早地部署LoRaWAN网络,改变原有或创造新的应用系统,而低功耗广域网市场的创新活力也在于此。

    4.2.2  CLAA协议

    中国LoRa应用联盟(China Lora Application Alliance,简称CLAA)是在LoRa Alliance支持下,由中兴通讯发起,各行业物联网应用创新主体广泛参与、合作共建的技术联盟,旨在共同建立中国LoRa应用合作生态圈,推动LoRa产业链在中国的应用和发展,建设多业务共享、低成本、广覆盖、可运营的LoRa物联网。中兴通讯作为LoRa Alliance(简称LoRa联盟)董事会成员,与LoRa联盟成员一起共同推动LoRa技术在全球低功耗广域网络(LPWAN)建设和产业链的发展。”

    中兴通讯在LoRaWAN的基础上优化了协议,构建了共建共享的LoRa应用平台。凭借中兴通讯行业的实力和影响力,在CLAA平台上已聚集了很多公司的产品。CLAA提供网关和云化核心网服务,可快速搭建起LoRa网络的物联网系统的应用来。

    CLAA有四种主要的业务合作模式:

    (1)独立运营商:提供全套解决方案;支持客户建网,并与CLAA共享物联网互联互通

    (2)大型合作伙伴:直接参股,CLAA负责建网,多城市大范围覆盖,享受全网整体受益,CLAA承担运维费

    (3)中小型客户:直接采购设备,CLAA协助建网,城市级或区域级覆盖,享受城市级、区域级收益,客户承担运维费

    (4)专业渠道商:直接采购设备,自行微客户建网,协助客户运营,客户承担运维费用

    4.2.3  LoRa私有网络协议

    在面向小范围节点数不多的应用中,使用LoRaWAN网关部署网络成本就显得高了。用一个或几个SX127x做一个小“网关”或“集中器”,无线连接上百个的SX127x,组建一个小的星型网络,通过自己的LoRa私有通信协议,就可以实现一个简单的LoRa私有网络,这也是一种比较灵活方式。当然,协议也可以是LoRaWAN协议。

    4.2.4  LoRa数据透传

    目前市面上LoRa芯片基本上源于美国SEMTECH的SX127x系列,用LoRa做成透传模块,只进行简单的发送和接收,实现点对点数据的传输,应用相对简单。

    有线通信协议

    5.1  USB协议

    目前USB已经发展了3代协议:

    USB协议规范1.1——支持USB低速和全速规范(12Mbps)

    USB协议规范2.0——支持USB高速协议规范(480Mbps)

    USB协议规范3.0——支持USB超高速协议规范(5Gbps)

    USB3.0是最新的USB规范,该规范由英特尔等公司发起。USB 2.0已经得到了PC厂商普遍认可,接口更成为了硬件厂商的必备接口。USB2.0的最大传输带宽为480Mbps(60MB/s),而USB3.0的最大传输带宽高达5.0Gbps(即640MB/s)。不过注意这是理论传输值,如果几台设备共用一个USB通道,主控制芯片会对每台设备可支配的带宽进行分配、控制。如在USB1.1中,所有设备只能共享1.5MB/s的带宽。如果单一的设备占用USB接口所有带宽的话,就会给其他设备的使用带来困难。

    5.2  RS232协议

    RS232是一种异步传输标准接口协议。通常 RS-232接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现 。RS232最常用的连接方式是三根线:一条发送线、一条接收线及一条地线。

    电平信号:逻辑1(MARK)=-3V~-15V,逻辑0(SPACE)=+3~+15V

    传输距离:RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰(两条传输线上的信号同时变大或变小)等问题,因此一般用于20m以内的通信。

    RS232不能实现多机通信。

    传输速率:RS232的传输速率较慢,能够达到1Mbps的已经比较少。

    5.3  RS485协议

    RS485是RS232升级版的串口协议,一般采用两线制传输:A、B两条传输线。

    电平信号:-2V~-6V表示“0”,+2V~+6V表示“1”,电压为A-B的电压。

    传输距离:一般1Km以内都没有问题。理论上,通信速率在100Kpbs及以下时,RS485的最长传输距离可达1200米,但在实际应用中传输的距离也因芯片及电缆的传输特性而所差异。在传输过程中可以采用增加中继的方法对信号进行放大,最多可以加八个中继,也就是说理论上RS485的最大传输距离可以达到9.6公里。如果真需要长距离传输,可以采用光纤为传播介质,收发两端各加一个光电转换器,多模光纤的传输距离是5~10公里,而采用单模光纤可达50公里的传播距离。

    RS485可以实现多机通信。

    原因:RS485为半双工通信方式,即分时实现收和发。总线空闲的状态下需要保证状态为逻辑1,也就是A-B的电压符合逻辑1的电平值。假设此时1为主机,2和3为从机,数据线的连接方式为1,2,3的A连接在一起,1,2,3的B也连接在一起,不存在RS232连接方式的问题。

    异步传输(Asynchronous Transmission): 异步传输将比特分成小组进行传送,小组可以是8位的1个字符或更长。发送方可以在任何时刻发送这些比特组,而接收方从不知道它们会在什么时候到达。一个常见的例子是计算机键盘与主机的通信。

    波特率计算:如果设置波特率为115200,数据位为8bit,起始位为1bit,结束位为1bit,校验位为1bit;那1s钟不间断可传送的字符(1bit起始位+8bit数据位+1bit校验位+1bit结束位,共11bit)为115200/11=10472;10472/1024结果约为10.227所以速率约为10kB/ps。

    5.4  M-Bus协议

    M-BUS在本文中暂不介绍,因为笔者在后续文章中将分享远程抄表系统,而M-Bus是为远程抄表系统数据采集而诞生的,在远程抄表系统中,笔者将会对M-Bus协议进行分析。


    更多图文资料,敬请关注微信公众号“智物客”,“智物客”致力于和您免费分享物联网、智慧城市相关技术和项目解决方案。



    展开全文
  • 【涂鸦物联网足迹】物联网常见通信协议

    千次阅读 多人点赞 2020-12-01 11:29:45
    前序系列文章>>> 【涂鸦物联网足迹】涂鸦云平台消息服务—顺带Pulsar简单介绍 ...一种则需要网关(实现协议转换),如 Zigbee ,蓝牙mesh 等。 实际上,对于一些场景,比如终端设备.
  • 【转】物联网常见通信协议

    千次阅读 2018-08-03 22:33:17
    通信”与“通讯”傻傻分得清传统意义上的“通讯”主要指电话、电报、电传。通讯的“讯”指消息(Message),媒体讯息通过通讯网络从一端传递到另外一端。媒体讯息的内容主要是话音、文字、图片和视频图像。其网络的...
  • 微信公众号“智物客”和您免费分享物联网、智慧城市相关技术和项目解决方案。本文从物联网体系各层协议入手,重点分析了物联网体系常用的通讯协议,在下半部分,笔者将分享物联网体系的通信协议
  • TCP HTTP  UDP:都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则“说话”,对方才能理解或为之服务。TCP HTTP  UDP三者的关系...
  • 都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则“说话”,对方才能理解或为之服务。 TCP HTTP  UDP三者的关系: TCP/IP是个协议组,可分为四个层次:网络接口层、网络层、传输层和应用层。 在...
  • TCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。tcp和udp tcp和udp都是传输协议,主要区别是tcp协议连接需要3次...
  • 常见网络通信协议

    2021-06-08 17:59:28
    常见网络通信协议 应用层 TCP 常见使用TCP协议的应用层服务 HTTP: 超文本传输协议(版本1) SMTP: 简单邮件传输协议 XMPP: 可扩展和通讯表示协议 HTTP2: 超文本传输协议(版本2) FTP: 文件传输协议 POP3: 邮局协议(第...
  • 计算机网络协议——通信协议综述

    万次阅读 多人点赞 2019-09-03 23:20:58
    通信协议综述概述一、为什么学习网络协议1.1 常见的网络协议二、网络分层的真正含义2.1 为什么网络要分层?2.2 浏览点击请求过程2.3 揭秘层与层之间的关系三、ifconfig 命令行的由来3.1 ip地址3.2 无类型域间选路...
  • 常见硬件通信协议总结

    万次阅读 2017-06-10 15:25:12
    (正好手上的nodemcu支持UART、SPI、I2C协议,所以这篇文章干脆就用nodemcu来分析协议了~)UART用逻辑分析仪捕捉nodemcu init.lua给上位机发送 “A”:-- init.lua tmr.alarm(1, 1000, tmr.ALARM_AUTO, function() ...
  • 常见web通信协议

    千次阅读 2009-09-27 22:03:00
    http 超文本传输协议httpssoap 简单对象访问协议AJP apache server 和 tomcat的通信协议SSL 安全套接层协议层 telnet Internet远程登陆服务的标准协议ftp 文件传输协议smtp 简单邮件传输协议POP3 邮局协议第...
  • 常见系统通信协议使用及理解

    千次阅读 2017-11-16 21:45:38
    底层通信协议 计算机网络连接之间的标准 NetBEUI IPX/SPX NWLink TCP/IP
  • 常见的串行通信协议

    万次阅读 2016-05-08 11:27:43
    为确保通信可靠,可以在通信两边接共地;因此,完整的UART通信只需最少3根线即可。 RxD是发送数据线,TxD是接收数据线,通信双方使用交叉互联,RxD接对方TxD,TxD接对方RxD。UART使用标准的TTL/CMOS电平(0~5V,0~...
  • 嵌入式相关上位机编写,了解常用通信协议如RS-232、CAN、RS485、I2C等接口及网络通信优先 自己的工作有涉及到上位机,主要是串口RS-232,于是跟公司的嵌入式工程师请教并学习了上位机通信协议相关的一些知识。 1....
  • 通信协议常见的帧头帧尾

    千次阅读 2020-12-15 11:58:05
    以太网帧帧头(协议标识): IPv4 0x0800 IPX 0x8137 ARP 0x0806 Pause Control 0x8808 IPv6 0x86DD 其他通信协议常见的帧头帧尾: 帧头: 0x55AA 0xEB90 0x2222 0xAAAA 帧尾: 0x0D 0x0D0A ...
  • 通信协议制定

    万次阅读 2015-10-29 23:24:00
     通信协议定义    用于实现计算机与网络连接之间的标准,网络如果没有统一的通信协议,电脑 之间的信息传递就无法识别。 通信协议是指通信各方事前约定... 目前常见通信协议主要有:NetBEUI、IPX/SPX、NWL
  • 常见网络通信协议结构图

    千次阅读 2011-03-25 18:33:00
  • 通信协议

    千次阅读 2011-05-07 11:17:00
    通信协议的种类和特点  目前常见通信协议主要有:NetBEUI、IPX/SPX、NWLink、TCP/IP,在这几种协议中用得最多、最为复杂的当然还是TCP/IP协议,最为简单的是NetBEUI协议,它简单得不需要任何设置即可成功...
  • 数据通信协议 Data communication protocol 亦称数据通信控制协议。是为保证数据通信网中通信双方能有效,可靠通信而规定的一系列约定。这些约定包括数据的格式,顺序和速率,数据传输的确认或拒收,差错检测,重传...
  • 物联网通信协议

    千次阅读 2017-05-16 13:26:02
    物联网通信协议  分类: 物联网(1)  为了方便,将物联网通信协议分为两大类,一类是接入协议,一类是通讯协议。接入协议一般负责子网内设备间的组网及通信;通讯协议主要是运行...
  • 1.闲话闲聊 最重要的写在前面:用户层通信协议就是数据包格式!!! ...没有进行串口通讯实践的朋友可能会想:...串口通信协议一般可以从两个角度来思考:底层通信协议和用户层协议。底层协议一般有计算机硬件提供商
  • 网络通信协议

    千次阅读 2017-11-30 15:33:40
    网络通信协议 今天学习了网络通信协议,总结出来的知识点,不足之处请大家多多指教! 网络通信协议:负责在网络上建立通信通道和控制通过通道的信息流的规则 为了进行网络通信,通信双方必须遵守通信...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 194,964
精华内容 77,985
关键字:

常见的通信协议