第三章 物联网设备
设备
- 设备的连通性:表示的是机器和系统间的相互连接性和结核性。不具备连通性的设备用来独立实现功能,一旦设备出库就无法变更规格了。
- 设备连通性的优势:
- 一方面,物联网设备本身结构简单,提供的是云服务、智能手机和其他设备组合在一起的一体化服务,设备的应用程序可以轻松获得更新,改良固件。
- 另一方面,硬件成本在不断提高,设备的开发会促进其高级化。围绕设备开发,讲服务整体作为一个生态系统来规划非常重要。
物联网设备的结构
- 基本结构:输入设备、输出设备、微控制器和连接网络。
- 微控制器:是控制器的IC芯片。包括内存、CPU以及外围电路。使用的时候需要串行端口和USB等各种接口以及电路等对微控制器进行写入。
- 输入设备:让设备获取周边的情况和用户操作等信息。
- 输出设备:向用户反馈某些信息或者通过驱动器物理性地作用于环境。
- 连接网络:设备通过网络与服务器连接。包括有线连接和无线连接。如果设备是固定的机器,则可以选择有线连接,通信更加稳定。如果设备是便携式设备,则要用无线连接,但需要考虑障碍物造成的通信信号问题,以及电源的装配等问题。
- 微控制器的类型和选择
- 微控制器的选择标准:产品规格、成本、尺寸、开发环境、信息的可获得性。
- 产品规格:主要是接口、内存、耗电量。
- 成本:贵不贵。
- 尺寸:大小,直接影响设备大小。
- 开发环境:开发软件和语言会不会。
- 信息的可获得性:开发生态环境如何,相关文档获取。
- 微控制器早期是单片机,后来出现了单板计算机。
- H8型微控制器主板(类似国内的51单片机):IC是一款日本瑞萨公司生产的微控制器。通过通用嵌入式开发语言C语言进行编写。
- Arduino:非常容易上手的微控制器主板,但Arduino还是一种综合开发环境。
- 支持扩展板,安装Shield对应器件就能追加功能。
- 使用Arduino IDE和类似于C++的Arduino语言进行开发。
- Raspberry Pi(树莓派):一款搭载ARM处理器的单板计算机。
- 具有USB端口、声音影像输入输出端口、以太网端口,能使用microSD卡,甚至具有GPU。
- 其上安装有Debian类Rasbian操作系统,支持python。
- 但是它没有模拟输入端口。
-
- Beagle Bone Black(BBB):也是一款搭载ARM处理器的单板计算机。
- 这块主板的亮点是平衡了微控制器和PC的性能。
- 作为硬件,相比于树莓派,其拥有非常豪华的配置,在运算处理方面也是压倒性优势。
- 它还能搭载任何Linux操作系统。
- 在开发环境上,可以使用PC浏览器访问Cloud9 IDE,通过Node.js进行简单的行为描述。此外,能通过命令行操作各个输入输出引脚的状态。
- 中文资料不多。
- 英特尔Edison:搭载了双核双线程的英特尔Atom CPU和100MHz的微控制器英特尔Quark。
- 这款主板的亮点:彻底改善了专为物联网设备设置的规格。
- 同样安装了Linux操作系统。
- 具有Wifi和蓝牙。
- 这款主板非常小,但接通电源就能实现SSH远程登录。
- 无法直接进行开发,需要通过Breakout Board Kit和Edison Kit for Arduino两种扩展板,将主机插入扩展板之后进行开发。
- 扩展板上具有多种端口,可以与外部设备进行连接,可以配合Arduino主板进行开发。
- 可以使用Arduino IDE进行开发,通过Wifi和SSH将执行文件发送给Edison。此外,还可以用Node.js来控制硬件的环境。
- 可以利用这款主板直接进行商品化设计。
- 但是其IO口电压小,在外设方面可能需要另外的驱动电路。
- 微控制器的选择标准:产品规格、成本、尺寸、开发环境、信息的可获得性。
连接“云”与现实世界
-
两种设备连接到网络的方式:
- 设备本身直接连接全球网络。需要设备端实现再次发送等错误处理程序,但是可以简化系统内的网络结构。
- 在本地区域内使用网关来连接全球网络。网关的硬件结构丰富,甚至支持再次发送数据、保存数据、加密和数据压缩的功能。
-
设备与网关间的连接方式
-
选择的标准包括通信时能够使用的协议、通信模块的大小、耗电量等。
-
有线连接
-
以太网
- 优势:不怕无线电频率干扰,能够实现普通的IP通信协议,跟PC进行简单通信。
- 缺点:终端要在一定程度上具备丰富的执行环境,尺寸容易大,设置场所受限制。
-
串行通信:使用RS-232C等串行通信来连接其他设备。
- 在使用RS-232C串口时,设备多使用D-SUB9针端口。D-SUB9针端口:左5右4,左边依次是信号地、数据终端就绪、传输数据、接收数据、数据载波检测,右边依次是振铃指示、清除发送、请求发送、数据集就绪。
- 如果网关设备上没有串行端口,则只能使用USB转串口设备进行连接。
- 串行通信的双方要设定表示通信速度的参量“比特率”。
- 优点:多数工业产品都具备了串行通信的端口,容易与现有的产品建立连接。
-
USB
-
不同规格的USB,传输速度都不同。
-
名称 最大数据传输速度 供电能力 USB 1.0 12 Mbit/s - USB 1.1 12 Mbit/s - USB 2.0 480 Mbit/s 500mA USB 3.0 5 Gbit/s 900mA USB 3.1 10 Gbit/s 100mA -
要使用通过USB连接的设备,需要安装设备驱动。
-
-
-
无线连接
- Wi-Fi
- 主要面向移动型设备。
- 为了防止无线电频率干扰,需要注意接入点的位置,需要考虑通信断开的情况。
- 相比于蓝牙4.0,Wi-Fi的耗电量更高,不适合需要长时间通信的设备。
- 3G/LTE:通过移动运营商的通信线路来连接网络。
- 需要通过SIM卡并在信号范围内且信号强度好的情况下才能使用舒适。
- 会持续产生连接费用,成本增加。
- 蓝牙
- 主要面向内置电池的小型设备,具有超低功耗的BLE(Bluetooth Low Energy)技术。
- 除了一对一通信,BLE还能实现一对多通信。
- 蓝牙4.2还支持IPv6/6LoWPAN,设备可以通过网关直接连接互联网。
- 把基于BLE的物联网设备连接到网关时,至少需要蓝牙4.0以上。
- IEEE 802.15.4/ZigBee
- 是一种近距离无线通信标准。
- 虽然传输速度低,但是与Wifi相比耗电量较少。
- 采用多种网络形式,在网状网下,局部信号断开其他设备仍然可以通信。
- 缺点:需要给设备连接专用的接收器来连接PC或智能手机。
- 易能森:一种无源无线传输技术,易能森指的是通信标准加上感测设备。
- 其生态中的设备能够利用能量采集技术自主发电,无需考虑供电和布线问题。
- 需要给硬件装入专门用于接受信息的模块。
- 通信协议则必须遵循易能森公司的相关规定。
- 无法对环境做到非常实时的输入反应。
- Wi-Fi
-
采集现实世界的信息
-
传感器:用于检测周边环境的物理变化,经感受到的信息转换成电子信息的形式输出。其中,具有代表性的传感器有:温度/湿度传感器,光学传感器,加速度传感器,力觉传感器,测距传感器,图像传感器。
-
传感器的机制
- 两种感测方法:利用物理特性的传感器,利用几何变异的传感器。
- 利用物理特性的传感器:检测元件的电子特性会根据周围环境的变化而变化。
- 用输出电压的变化表示环境的变化。类似于变阻器。
- 用输出电流的变化表示环境的变化。类似于二极管,运放。
- 利用几何变异的传感器
- 测距传感器利用与障碍物间的几何学关系来测算距离。
-
所有传感器都具备的特性:
- 毫伏级的微弱信号
- 输出的是含有一定噪声的模拟信号
-
放大信号:因为传感器的信号都很微弱,所以必须对信号进行放大。
- 放大电路的核心是运算放大器。
- 常用的运放:
- 非反相放大电路(同相放大电路?)
- 反相放大电路
- 查分放大电路:把两个输入电压的差值放大并输出。
-
A/D转换:把模拟信号转换成数字信号。
- 采样、量化、编码
- A/D转换器性能指标:采样频率、分辨率。
-
传感器的校准:把电子信号的输出数据转换成对应的想要测算的参数数值。目的是排除个体差异和再现性误差。
-
如何选择传感器
- 明确目的和条件
- 利用设备要实现怎么样的状态
- 为了实现这个状态需要测算哪些物理量
- 设备用在什么环境中,如何使用
- 明确传感器的性能
- 传感器的性能指标包括:分辨率、零点、位移、灵敏度、测量范围、再现性、运行环境和环境依赖性。
- 明确目的和条件
反馈给现实世界
- 使用输出设备调节目标的步骤:
- 明确要实现何种状态
- 明确这种状态所需要的参数
- 研究使用何种输出设备才能使测量的测算值接近目标值
- 制作原型、进行评估,如果偏差较大则重复以上步骤
- 如何评估输出设备
- 评估目标数值和测量数值之间的偏差
- 评估设计性,包括设备的易用性,用户心理和感觉层面,时尚性。
- 评估环境适应性,能否适应所有能够想到的使用环境
- 驱动的作用:在控制信号的作用下,对目标外设进行电路控制。
- 最简单的驱动电路例如三极管。
- 制作正确的电源:每个设备都有其额定电压和最大电流等参数,为了能使设备正常工作,需要制作正确的电源。
- 三端稳压管:作用是调整电源。一共三个端子Vin/Vout/GND,根据不同的三端稳压管,可以将输入的电压转换成3.3V、5V、12V的电压进行输出。(在使用三端稳压管时,因为其发热严重,要注意散热问题)
- D/A转换:最具代表性的D/A转换方式是PWM调制(Pulse Width Modulation)。通过快速切换高低电压来实现近似输出模拟信号。
硬件原型设计
-
原型设计:是一道开发工序,通过原型设计,通过不断改进和获取反馈的过程中,使商品逐渐具体化。
- 原型设计的过程:
- 讨论产品概念
- 明确制作原型的目的和方法
- 在尝试制作的同时摸索技术问题和解决方法
- 获得用户反馈,如果用户不满意则返回第1步
- 原型设计的过程:
-
硬件原型设计的注意事项:
- 明确原型设计的目的
- 要非常重视速度和成本
-
硬件原型设计的工具
- 一块微控制器:比较推荐入门的有带有Shield的Arduino和Edison的Arduino兼容板
- 相关电路:通过面包板实现,并进一步通过万用板或PCB实现。