物联网长距离无线通信技术应用与开发(txt+pdf+epub+mobi电子书下载)


发布时间:2020-05-13 20:03:28

点击下载

作者:廖建尚,巴音查汗,等

出版社:电子工业出版社有限公司

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

物联网长距离无线通信技术应用与开发

物联网长距离无线通信技术应用与开发试读:

前言

近年来,物联网、移动互联网、大数据和云计算的迅猛发展,逐步改变了社会的生产方式,大大提高了生产效率和社会生产力。工业和信息化部发布的《物联网发展规划(2016—2020年)》总结了“十二五”规划中物联网发展所获得的成就,并分析了“十三五”期间面临的形势,明确了物联网的发展思路和目标,提出了物联网发展的6大任务,分别是强化产业生态布局、完善技术创新体系、推动物联网规模应用、构建完善标准体系、完善公共服务体系、提升安全保障能力;提出了4大关键技术,分别是传感器技术、体系架构共性技术、操作系统,以及物联网与移动互联网、大数据融合关键技术;提出了6大重点领域应用示范工程,分别是智能制造、智慧农业、智能家居、智能交通和车联网、智慧医疗和健康养老,以及智慧节能环保;指出要健全多层次多类型的物联网人才培养和服务体系,支持高校、科研院所加强跨学科交叉整合,加强物联网学科建设,培养物联网复合型专业人才。该发展规划为物联网发展指出了一条鲜明的道路,同时也表明了我国在推动物联网应用方面的坚定决心,相信物联网规模会越来越大。本书详细阐述了LoRa、NB-IoT和LTE长距离无线通信技术,提出了案例式和任务式驱动的开发方法,旨在大力推动物联网人才的培养。

物联网系统涉及的长距离无线通信技术有很多,包括LoRa、NB-IoT和LTE长距离无线通信技术。本书将详细分析这三种长距离无线通信技术,理论知识点清晰,每个知识点均附上实践案例,带领读者掌握长距离无线通信技术的原理与应用。

全书采用在学习长距离无线通信技术的基础上,每个知识点都附上1个开发案例,利用贴近社会和生活的案例,由浅入深地介绍各种长距离无线通信技术。每个案例均有完整的理论知识和开发过程实践,分别是深入浅出的原理学习、详细的软硬件设计和功能实现过程,以及总结拓展。每个案例均附上完整的源代码,在源代码的基础上可以进行快速二次开发,能方便地将其转化为各种比赛和创新创业的案例,不仅为高等院校相关专业师生提供教学案例,也可以为工程技术开发人员和科研工作人员进行科研项目开发提供较好的参考资料。

第1章引导读者初步认识物联网和长距离无线通信技术,了解物联网的概念和常用技术,分析物联网重点发展领域,概述了物联网长距离无线通信技术,并进一步了解LoRa、NB-IoT和LTE长距离无线通信技术的应用和基本特征。

第2章学习LoRa长距离无线通信技术,先学习LoRa长距离无线通信技术开发基础,分析了LoRa网络的特征、应用、架构,并且学习LoRa开发平台和开发工具,接着学习STM32微处理器的基本知识和LoRa协议栈解析与应用开发,通过分析源代码学习物联网开发框架,最后给出了三个开发案例:LoRa气体采集系统、LoRa排风系统和LoRa电子围栏系统。

第3章学习NB-IoT长距离无线通信技术,先学习NB-IoT长距离无线通信技术开发基础,分析了NB-IoT网络的特点、应用、架构,并且学习NB-IoT开发平台和开发工具,接着学习NB-IoT协议栈解析与应用开发,通过分析源代码学习物联网开发框架,最后给出了三个开发案例:NB-IoT扬尘监测系统、NB-IoT防空报警系统和NB-IoT火灾监测系统。

第4章学习LTE长距离无线通信技术,先学习LTE长距离无线通信技术开发基础,分析了LTE网络的特点、应用、架构,并且学习LTE开发平台和开发工具,接着学习LTE协议栈解析与应用开发,通过分析源代码学习物联网开发框架,最后给出了三个开发案例:LTE路网气象监测系统、LTE交通灯控制系统和LTE道路安全报警系统。

第5章进行物联网综合应用开发,先学习物联网综合项目开发平台,介绍物联网开发平台架构、物联网虚拟化技术,掌握物联网平台线上应用项目发布,接着学习物联网通信协议,掌握基础通信协议的使用与分析,最后学习物联网应用开发接口,分析物联网平台应用程序编程接口,了解传感器的硬件SensorHAL层、Android库、Web JavaScript库等API,并且通过城市环境采集系统开发案例,实现物联网的驱动程序开发、Android应用开发和Web应用开发。

本书特色有:(1)理论知识和案例实践相结合。将常见长距离无线通信技术和生活中实际案例结合起来,边学习理论知识边开发,快速深刻掌握长距离无线通信技术。(2)案例开发。抛去传统的理论学习方法,选取生动的案例将理论与实践结合起来,通过理论学习和开发实践,快速入门,提供配套PPT,由浅入深掌握各种长距离无线通信技术。(3)提供综合性项目。综合性项目为读者提供软硬件系统的开发方法,有需求分析、项目架构、软硬件设计等方法,在提供案例的基础可以进行快速二次开发,并可很方便地将其转化为各种比赛和创新创业的案例,也可以为工程技术开发人员和科研工作人员进行工程设计和科研项目开发提供较好的参考资料。

本书在编写过程中,借鉴和参考了国内外专家、学者、技术人员的相关研究成果。我们尽可能按学术规范予以说明,但难免有疏漏之处,在此谨向有关作者表示深深的敬意和谢意,如有疏漏,请及时通过出版社与我们联系。

本书得到了广东省自然科学基金项目(2018A030313195)、广东省高校省级重大科研项目(2017GKTSCX021)、广东省科技计划项目(2017ZC0358)和广州市科技计划项目(201804010262)的资助。感谢中智讯(武汉)科技有限公司在本书编写过程中提供的帮助,特别感谢电子工业出版社在本书出版过程中给予的大力支持。

由于本书涉及的知识面广,时间仓促,限于笔者的水平和经验,疏漏之处在所难免,恳请专家和读者批评指正。作 者2019年7月第1章 物联网项目认知与应用

本章作为长距离无线通信技术的前导内容,重点讲述物联网、无线传感网络、各种长距离无线通信技术的概念、架构及应用,同时结合物联网学习平台了解学习路线、开发环境和应用场景。1.1 物联网概述及重点发展领域

物联网是多学科高度交叉的、知识高度集成的前沿热点研究领域。长距离无线通信技术涉及纳米与微电子技术、新型微型传感器技术、微机电系统技术、片上系统技术、移动互联网技术、微功耗嵌入式技术、云计算、大数据、人工智能等多个领域,它融合通信技术、计算机技术和自动控制技术,共同构成物联网的技术基础。通过无线传感器网络的部署和采集,可以扩展人们获取信息的能力,将客观世界的物理信息同传输网络连接在一起,改变人类自古以来仅仅依靠自身的感觉等来感知信息的现状,极大地提高了人类获取数据和信息的准确性、灵敏度。通过网络技术对获取的信息进行汇总与运用,通过云计算、大数据、人工智能等对数据进行分析,最终为人们提供服务。

物联网在众多领域都拥有着广泛的应用,由于物联网的技术分散性和特殊性,使得物联网无处不在,例如智慧城市(见图1.1)。图1.1 智慧城市

本节主要讲述物联网、长距离无线通信技术概念,以及物联网长距离无线通信技术主流架构,同时介绍各种主流的无线传感器网络、相关学习路线、开发平台等。1.1.1 物联网概述

物联网(Internet of Things,IoT)的概念最早于1999年由美国麻省理工学院首次提出,2009年年初,IBM提出了“智慧地球”概念,使得物联网成为时下热门话题。2009年8月,我国启动“感知中国”建设,随后物联网在我国进一步升温,得到了政府、科研院校、电信运营商以及设备提供商等的高度重视。

物联网是指利用各种信息传感设备,如射频识别(RFID)装置、无线传感器、红外感应器、全球定位系统、激光扫描器等,对现有物体信息进行感知、采集,通过网络支撑下的可靠传输技术,将各种物体的信息汇入互联网,并进行基于海量信息资源进行智能决策、安全保障及管理技术与服务的全球公共的信息综合服务平台。物联网如图1.2所示。图1.2 物联网

物联网有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网基础上延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物体,并在物体之间进行信息交换和通信。因此,物联网是指运用传感器、射频识别(RFID)、智能嵌入式等技术,使信息传感设备感知任何需要的信息,按照约定的协议,通过可能的网络(如基于Wi-Fi等无线局域网、3G、4G)接入方式,把任何物体与互联网相连接,进行信息交换,在进行物与物、物与人泛在连接的基础上,实现对物体的智能识别、定位、跟踪、控制和管理。物联网分为感知层、网络层、平台层和应用层。

以控制和采集设备为主的设备或网络,统称为感知层;以数据汇总和将数据通过网络上传至服务器的设备或网络,统称为网络层;服务器在系统中虽然没有展现,但在系统中承担着重要的工作,服务器主要承担数据管理和数据服务,这一层统称为平台层;最终接入网络的方式就是使用移动终端,移动终端完成人对整个物联网的接入,这一层称为应用层。传统的物联网也是由这四层构成的,物联网架构如图1.3所示。图1.3 物联网的架构1.1.2 物联网重点发展领域《物联网“十二五”发展规划》明确提出了物联网的九大重点发展领域(见图1.4),分别为智能工业、智能农业、智能物流、智能交通、智能环保、智能安防、智能医疗、智能电网和智能家居,物联网已经深入社会生活的方方面面。图1.4 物联网的九大重点发展领域(1)智能工业:信息技术、网络技术和智能技术应用于工业领域,给工业注入“智慧”的综合技术。它突出了采用计算机技术模拟人在制造过程中和产品使用过程中的智力活动,以进行分析、推理、判断、构思和决策,从而去扩大延伸和部分替代人类专家的脑力劳动,实现知识密集型生产和决策自动化。(2)智能农业:在相对可控的环境条件下,采用工业化生产,实现集约高效可持续发展的现代超前农业生产方式,即农业先进设施与露地相配套、具有高度的技术规范和高效益的集约化规模经营的生产方式。它集科研、生产、加工、销售于一体,实现周年性、全天候、反季节的企业化规模生产;它集成现代生物技术、农业工程、农用新材料等学科,以现代化农业设施为依托,科技含量高,产品附加值高,土地产出率高和劳动生产率高,是我国农业新技术革命的跨世纪工程。(3)智能物流:利用集成智能化技术,使物流系统能模仿人的智能,具有思维、感知、学习、推理判断和自行解决物流中某些问题的能力。智能物流能根据自身的实际水平和客户需求对智能物流信息化进行定位,是国际未来物流信息化发展的方向。(4)智能交通:是未来交通系统的发展方向,它是将先进的信息技术、数据通信传输技术、电子传感技术、控制技术及计算机技术有效地集成运用于整个地面交通管理系统而建立的一种在大范围内、全方位发挥作用的,实时、准确、高效的综合交通运输管理系统。(5)智能电网:电网的智能化,也被称为电网2.0,建立在集成的、高速双向通信网络的基础上,通过先进的传感和测量技术、先进的设备技术、先进的控制方法以及先进的决策支持系统技术的应用,实现电网的可靠、安全、经济、高效、环境友好和使用安全的目标,其主要特征包括自愈、激励和包括用户、抵御攻击、提供满足21世纪用户需求的电能质量、容许各种不同发电形式的接入、启动电力市场以及资产的优化高效运行。(6)智能环保:在原有“数字环保”的基础上,借助物联网技术,把感应器和装备嵌入到各种环境监控对象(物体)中,通过超级计算机和云计算将环保领域物联网整合起来,实现人类社会与环境业务系统的整合,以更加精细和动态的方式实现环境管理和决策的“智慧”,是“数字环保”概念的延伸和拓展,是信息技术进步的必然趋势。(7)智能安防:通过相关内容和服务的信息化、图像的传输和存储、数据的存储和处理等,实现企业或住宅、社会治安、基础设施及重要目标的智能化安全防范。(8)智能医疗:通过打造健康档案区域医疗信息平台,利用最先进的物联网技术,实现患者与医务人员、医疗机构、医疗设备之间的互动,逐步达到信息化。在不久的将来,医疗行业将融入更多人工智能、传感技术等高科技,使医疗服务走向真正意义的智能化,推动医疗事业的繁荣发展。在中国新医改的大背景下,智能医疗正在走进寻常百姓的生活。(9)智能家居:以住宅为平台,利用综合布线技术、网络通信技术、智能家居系统设计方案安全防范技术、自动控制技术、音/视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境。1.2 长距离无线通信技术1.2.1 长距离无线通信技术概述

物联网系统广泛应用了长距离无线通信技术,也称为无线传感器网络。无线传感器网络最初是1978年由美国国防部高级研究计划署于提出,其雏形是卡耐基梅隆大学研究的分布式传感器网络。在之后的几十年内,随着处微理器技术、嵌入式系统、无线电技术、存储技术、互联网技术、人工智能和自动化控制技术的巨大进步,无线传感器网络也得到了快速发展。目前,无线传感器网络项目应用广泛,涵盖了电力、交通、建筑、安防、林业、农业和工业等诸多领域。

无线传感器网络主要应用于大气监测、农作物监控、害虫监控、森林火灾、水位监测、环境保护、自然栖息地监测、安防监控等。传感器节点往往部署在环境恶劣的区域中,如遥远荒芜的区域、有毒的地区、大型工业建筑或航空器内部。

无线传感器网络还广泛应用在管道管沟监测领域、井盖、消防栓监控领域、液位水位监测领域、农业大棚监测领域、水产养殖监测领域、大气环境监测领域,另外在军事、科学考察等方面也有广泛的应用。图1.5 无线传感器网络

无线传感器网络一般包括汇聚节点、管理节点和传感器节点。传感器节点按项目需求部署在被监控的区域内,传感器节点通过各种网络协议构建无线传感器网络。当网络中某一个传感器节点上传监测数据时,数据会沿着由其他传感器节点构成的无线传输路径进行数据传输,最后汇聚到汇聚节点,并通过互联网传输到服务器中。

一个无线传感器网络中的终端嵌入式传感器节点,一般由传感器、微处理器、无线通信模块和电源四个模块组成,电源一般由能量有限的电池提供,因此终端传感器节点的存储、处理、通信等能力有限。在一个无线传感器节点中,传感器用于采集和转换被监测区域内的信息;电源为传感器节点正常工作提供能量;无线通信模块实现无线网络中的数据传输;微处理器模块主要用于对传感器模块、无线通信模块、电源模块统一管理控制,对传感器采集的数据进行处理。

目前的无线传感器网络中的要求每个传感器节点需具有路由功能和终端功能,每一个节点不仅能完成本地节点信息采集和数据处理,还能够转发网络中其他节点转发来的数据到其他节点。无线传感器网络的特点如下:(1)网络自组织性。一般来说,无线传感器网络构建前可能无法提前精确设定,也无法提前确定各节点之间的相对位置。因此,传感器节点需要具备自动配置和自我管理功能,具备自我组织能力,自动构建无线传感器网络。(2)网络规模大。为了准确监测各类数据,以便精确感知环境的变化,在在被监测区域部署大量传感器节点,从而获取完整和准备的环境信息。(3)网络具有动态性。在实际应用中,无线传感器网络的拓扑结构会发生动态改变,比如无线通信链路带宽的变化;单个或多个传感器节点出现故障或失效;传感器和感知对象地理位置产生相对变化等。因此无线传感器网络需要具有重构特性,能够根据实际情况的变化,动态地改变网络的拓扑结构。(4)网络可靠性高。很多应用场景,无线传感器网络有时可能部署环境比较恶劣的区域或人类难以到达的高危区域,如高温、高原、低温和强辐射等区域,因此,无线传感器网络中所使用的传感器节点能适应各种恶劣环境。1.2.2 常用的长距离无线通信技术

1.LoRa

LoRa是一种基于1 GHz技术的无线传感器网络,其特点是传输距离远,易于建设和部署,功耗和成本低,适合进行大范围的数据采集。LoRa应用示意如图1.6所示。

2.NB-IoT

NB-IoT构建于蜂窝网络,可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。NB-IoT的特点是覆盖广泛,功耗极低,由运营商提供连接服务。NB-IoT应用示意如图1.7所示。图1.6 LoRa应用示意图1.7 NB-IoT应用示意

3.LTE

LTE采用FDD和TDD技术,其特点是传输速度快、容量大、覆盖范围广、移动性好,有一定的空间定位功能。LTE应用示意如图1.8所示。图1.8 LTE应用示意

长距离无线通信技术的应用系统中大量采用了具有智能感测和无线传输的微型传感设备或微型传感器,通过这些设备来监测周遭环境,如温度、湿度、光照度、气体浓度、PM2.5、PM10、甲醛、电磁辐射、振动幅度等物理信息,并由长距离无线通信技术将收集到的信息传输给管理中心。管理中心获取监测信息后,便可掌握现场状况,进而维护、调整相关系统。长距离无线通信技术已成为军事侦察、环境保护、建筑监测、安全作业、工业控制、家庭、船舶和运输系统自动化等应用中重要的技术手段。物联网长距离无线通信技术的部分应用领域如图1.9所示。图1.9 物联网长距离无线通信技术的部分应用领域1.2.3 长距离无线通信技术的学习路线、开发平台和开发环境

1.长距离无线通信技术的学习路线

长距离无线通信技术的学习路线如图1.10所示。图1.10 长距离无线通信技术的学习路线

本书中长距离无线通信技术的学习内容如表1.1所示。表1.1 长距离无线通信技术的学习内容

表1.1中的LoRa、NB-IoT、LTE使用的均是射频模块,本身并不具备数据逻辑处理能力,需要外接STM32微处理器来对射频芯片进行操作。另外,为了方便使用这三种长距离无线通信技术,本书开发了更具网络特征的协议栈,便于读者学习和使用。

2.长距离无线通信技术的开发平台

本书采用的开发平台为xLab未来开发平台,该平台提供了两种类型的智能节点(经典型节点ZXBeeLite-B和增强型节点ZXBeePlus-B),集成了锂电池供电接口、调试接口、外设控制电路、RJ45传感器接口等。本书所使用的节点类型为增强型节点ZXBeePlus-B,该节点集成了STM32微处理器、2.8英寸真彩LCD液晶屏、HTU21D型高精度数字温湿度传感器、RGB三色高亮LED指示灯(RGB灯)、两路继电器、蜂鸣器、摄像头接口、USB接口、Ti仿真器接口、ARM仿真器接口、以太网等。xLab未来开发平台如图1.11所示。

本书使用xLab未来开发平台进行学习和应用开发,该平台支持多种无线传感器网络,包括CC2530 ZigBee无线传感器网络、CC2540 蓝牙BLE无线传感器网络、CC3200 Wi-Fi无线传感器网络、SX1278 LoRa无线传感器网络、WH-NB71 NB-IoT无线传感器网络、EC20 4G LTE无线传感器网络,本书主要使用的有SX1278 LoRa无线模组、WH-NB71 NB-IoT无线模组、EC20 4G LTE无线模组,其功能描述如表1.2所示。图1.11 xLab未来开发平台表1.2 无线模组功能一览表

为深化无线传感器网络中节点的使用,本书的实例均需要使用传感器和控制设备。xLab未来开发平台按照传感器类别设计了丰富的传感设备,涉及采集类、控制类、安防类、显示类、识别类、创意类等。本书使用到采集类开发平台(Sensor-A)、控制类开发平台(Sensor-B)和安防类开发平台(Sensor-C)。

1)采集类开发平台(Sensor-A)

采集类开发平台包括:温湿度传感器、光照度传感器、空气质量传感器、气压海拔传感器、三轴加速度传感器、距离传感器、继电器、语音识别传感器等,如图1.12所示。图1.12 采集类开发平台

● 两路RJ45工业接口,包含I/O、DC 3.3 V、DC 5 V、UART、RS-485、两路继电器输出等功能,提供两路3.3 V、5 V、12 V电源输出。

● 采用磁吸附设计,可通过磁力吸附并通过RJ45工业接口接入节点进行数据通信。

● 温湿度传感器的型号为HTU21D,采用数字信号输出和IIC通信接口,测量范围为-40~125℃,以及5%RH~95%RH。

● 光照度传感器的型号为BH1750,采用数字信号输出和IIC通信接口,对应广泛的输入光范围,相当于1~65535 lx。

● 空气质量传感器的型号为MP503,采用模拟信号输出,可以检测气体酒精、烟雾、异丁烷、甲醛,检测浓度为10~1000 ppm(酒精)。

● 气压海拔传感器的型号为FBM320,采用数字信号输出和IIC通信接口,测量范围为300~1100 hPa。

● 三轴加速度传感器的型号为LIS3DH,采用数字信号输出和IIC通信接口,量程可设置为±2g、±4g、±8g、±16g(g为重力加速度),16位数据输出。

● 距离传感器的型号为GP2D12,采用模拟信号输出,测量范围为10~80 cm,更新频率为40 ms。

● 采用继电器控制,输出节点有两路继电器接口,支持5 V电源开关控制。

● 语音识别传感器的型号为LD3320,支持非特定人识别,具有50条识别容量,返回形式丰富,采用串口通信。

2)控制类开发平台(Sensor-B)

控制类开发平台包括:风扇、步进电机、蜂鸣器、LED、RGB灯、继电器接口,如图1.13所示。图1.13 控制类开发平台

● 两路RJ45工业接口,包含IO、DC 3.3 V、DC 5 V、UART、RS-485、两路继电器输出等功能,提供两路3.3 V、5 V、12 V电源输出。

● 采用磁吸附设计,可通过磁力吸附并通过RJ45工业接口接入节点进行数据通信。

● 风扇为小型风扇,采用低电平驱动。

● 步进电机为小型42步进电机,驱动芯片为A3967SLB,逻辑电源电压范围为3.0~5.5 V。

● 使用小型蜂鸣器,采用低电平驱动。

● 两路高亮LED灯,采用低电平驱动。

● RGB灯采用低电平驱动,可组合出任何颜色。

● 采用继电器控制,输出节点有两路继电器接口,支持5 V电源开关控制。

3)安防类开发平台(Sensor-C)

安防类开发平台包括:火焰传感器、光栅传感器、人体红外传感器、燃气传感器、触摸传感器、振动传感器、霍尔传感器、继电器接口、语音合成传感器等,如图1.14所示。图1.14 安防类开发平台

● 两路RJ45工业接口,包含IO、DC 3.3 V、DC 5 V、UART、RS-485、两路继电器输出等功能,提供两路3.3 V、5 V、12 V电源输出。

● 采用磁吸附设计,可通过磁力吸附并通过RJ45工业接口接入节点进行数据通信。

● 火焰传感器采用5 mm的探头,可检测火焰或波长为760~1100 nm的光源,探测温度为60℃左右,采用数字开关量输出。

● 光栅传感器的槽式光耦槽宽为10 mm,工作电压为5 V,采用数字开关量信号输出。

● 人体红外传感器的型号为AS312,电源电压为3 V,感应距离为12 m,采用数字开关量信号输出。

● 燃气传感器的型号为MP-4,采用模拟信号输出,传感器加热电压为5 V,供电电压为5 V,可测量天然气、甲烷、瓦斯气、沼气等。

● 触摸传感器的型号为SOT23-6,采用数字开关量信号输出,检测到触摸时,输出电平翻转。

● 振动传感器在低电平时有效,采用数字开关量信号输出。

● 霍尔传感器的型号为AH3144,电源电压为5 V,采用数字开关量输出,工作频率宽(0~100 kHz)。

● 采用继电器控制,输出节点有两路继电器接口,支持5 V电源开关控制。

● 语音合成传感器的型号为SYN6288,采用串口通信,支持GB2312、GBK、UNICODE等编码,可设置音量、背景音乐等。

3.长距离无线通信技术的开发环境

为了避免多个开发和编译环境给初学者在学习无线传感器网络时造成的困扰,本书在选择芯片时选用了TI开发平台,LoRa、NB-IoT和LTE都使用TI公司研发的芯片。这三种芯片的协议栈开发环境均为IAR集成开发环境。另外,这三种网络选用的是射频模块加控制芯片的组合,在程序开发时只需要对控制芯片进行操作即可。控制芯片选用的是意法半导体公司生产的STM32微处理器,IAR集成开发环境对STM32微处理器也有很好的支持。因此,无线传感器网络程序的开发均使用IAR集成开发环境。

除了开发环境,意法半导体公司还提供了许多可用的工具,如网络调试工具、抓包工具等,为了方便初学者对无线传感器网络的学习,本书也开发了功能强大的综合调试工具。

1)IAR集成开发环境的主窗口界面

IAR集成开发环境的主窗口界面如图1.15所示。(1)Menu Bar(菜单栏):包含IAR的所有操作及内容,在编辑模式和调试模式下存在一些不同。(2)Tool Bar(工具栏):包含一些常见的快捷按钮。(3)Workspace Window(工作空间窗口):一个工作空间可以包含多个工程,该窗口主要显示工作空间中工程项目的内容。(4)Edit Window(编辑窗口):代码编辑区域。(5)Message Window(信息窗口):包括编译信息、调试信息、查找信息等内容。(6)Status Bar(状态栏):包含错误警告、光标行列等一些状态信息。图1.15 IAR集成开发环境的主窗口界面

2)IAR集成开发环境的工具栏

工具栏上是主菜单部分功能的快捷按钮,这些快捷按钮之所以放置在工具栏上,是因为它们的使用频率较高。例如,编译按钮,这个按钮在编程时使用的频率相当高,这些按钮大部分也有对应的快捷键。

IAR的工具栏共有两个:主工具栏和调试工具栏。编辑(默认)模式下只显示主工具栏,进入调试模式后会显示调试工具栏。

主工具栏可以通过菜单打开,即“View→Toolbars→Main”,如图1.16所示。图1.16 IAR集成开发环境的工具栏(1)IAR集成开发环境的主工具栏。在编辑模式下,只显示主工具栏,其中的内容也是编辑模式下常用的快捷按钮,如图1.17所示。

● New Document:新建文件,快捷键为Ctrl+N。

● Open:打开文件,快捷键为Ctrl+O。

● Save:保存文件,快捷键为Ctrl+S。

● Save All:保存所有文件。

● Print:打印文件,快捷键为Ctrl+P。图1.17 IAR集成开发环境的主工具栏

● Cut:剪切,快捷键为Ctrl+X。

● Copy:复制,快捷键为Ctrl+C。

● Paste:粘贴,快捷键为Ctrl+V。

● Undo:撤销编辑,快捷键为Ctrl+Z。

● Redo:恢复编辑,快捷键为Ctrl+Y。

● Quick Search Text Box:快速搜索文本框。

● Find Previous:向前查找,快捷键为Shift+F3。

● Find Next:向后查找,快捷键为F3。

● Find:查找(增强),快捷键为Ctrl+F。

● Replace:替换,快捷键为Ctrl+H。

● Go To:前往行列,快捷键为Ctrl+G。

● Toggle Bookmark:标记/取消书签,快捷键为Ctrl+F2。

● Previous Bookmark:跳转到上一个书签,快捷键为Shift+F2。

● Next Bookmark:跳转到下一个书签,快捷键为F2。

● Navigate Forward:跳转到下一步,快捷键为Alt+右箭头。

● Navigate Backward:跳转到上一步,快捷键为Alt+左箭头。

● Compile:编译,快捷键为Ctrl+F7。

● Make:编译工程(构建),快捷键为F7。

● Stop Build:停止编译,快捷键为Ctrl+Break。

● Toggle Breakpoint:编辑/取消断点,快捷键为Ctrl+F9。

● Download and Debug:下载并调试,快捷键为Ctrl+D。

● Debug without Downloading:调试(不下载)。(2)IAR集成开发环境的调试工具栏。调试工具栏是在程序调试模式下才显示的快捷按钮,在编辑模式下,这些按钮是不显示的,如图1.18所示,各个图标说明依次如下。图1.18 IAR集成开发环境的调试工具栏

● Reset:复位。

● Break:停止运行。

● Step Over:逐行运行,快捷键为F10。

● Step Into:跳入运行,快捷键为F11。

● Step Out:跳出运行,快捷键为F11。

● Next Statement:运行到下一语句。

● Run to Cursor:运行到光标行。

● Go:全速运行,快捷键为F5。

● Stop Debugging:停止调试,快捷键为Ctrl+Shift+D。

逐行运行也称为逐步运行,跳入运行也称为单步运行,运行到下一语句和逐行运行类似。1.3 小结

本章介绍物联网的概念、网络架构,以及LoRa、NB-IoT、LTE长距离无线通信技术的开发平台和芯片,并介绍了IAR集成开发环境。1.4 思考与拓展(1)无线传感器网络有哪些主要特征?(2)分析无线传感器网络的体系架构。(3)讨论无线传感器网络在实际生活中还有哪些潜在的应用。第2章 LoRa长距离无线通信技术开发

由于LoRa长距离无线通信技术(简称LoRa技术)具有低功耗、广覆盖、易部署等优势,因此非常适用于功耗低、距离远、大量连接以及定位跟踪等的物联网应用,如智能抄表、智能停车、车辆追踪、宠物跟踪、智慧畜牧、智慧工业、智慧城市、智慧社区等。

本章通过LoRa技术在智慧畜牧中的应用,学习LoRa的开发平台、开发工具、协议栈等内容,使读者能够设计智慧畜牧的一些基本应用场景。本章主要包括以下内容:(1)LoRa长距离无线通信技术开发基础:学习LoRa无线传感器网络(简称LoRa网络)的特点、应用、架构。(2)LoRa开发平台和开发工具:学习LoRa网络的射频芯片SX1278、Contiki操作系统的安装使用、常用工具的使用,以及LoRa网络的构建。(3)LoRa协议栈解析与应用开发:学习基于Contiki操作系统工作流程,学习基于Contiki操作系统与智云开发框架,构建LoRa智慧畜牧系统。(4)LoRa气体采集系统开发与实现,学习基于LoRa的采集类程序逻辑和采集类程序开发接口,并进行气体采集系统开发。(5)LoRa排风系统开发与实现,学习基于LoRa的控制类程序逻辑和控制类程序开发接口,并进行LoRa排风系统开发。(6)LoRa电子围栏系统开发与实现,学习基于LoRa的安防类程序逻辑和安防类程序开发接口,并进行LoRa电子围栏系统开发。2.1 LoRa长距离无线通信技术开发基础

LoRa具备低功耗、广覆盖、易部署等优势,在开放式畜牧应用场景中具有良好的适应性,能够实现数据的无线采集和传输;可对畜牧进行管控,如环境监测、设施控制、电子围栏等;可时刻对畜牧业环境的变化及动物状况进行监测。基于LoRa技术的智慧畜牧有着广泛的应用和发展。

为了降低畜牧业的管理成本并提高质量,可以通过引入智慧畜牧系统对畜牧养殖进行管理。智慧畜牧系统可有效降低管理成本,提高管理效率。传统牧场如图2.1所示。图2.1 传统牧场

本节主要学习LoRa概念、LoRa网络架构、LoRa网络组网过程,最后构建LoRa智慧畜牧系统。2.1.1 学习与开发目标(1)知识目标:LoRa技术特征;LoRa技术架构;LoRa网络结构。(2)技能目标:了解LoRa技术特征;了解LoRa技术的应用场景。(3)开发目标:以LoRa智慧畜牧的设计为例,学习和了解LoRa技术特征、网络配置参数,以及LoRa技术的应用场景。2.1.2 原理学习:LoRa技术与LoRa网络

1.LoRa技术

2013年,Semtech公司发布了长距离且低功耗数据传输技术(LoRa)的芯片,其频谱在1 GHz以下,接收灵敏度可达-148 dBm。LoRa是LPWAN通信技术中的一种,是一种基于扩频技术的长距离无线通信技术,改变了以往关于传输距离与功耗的折中考虑方式,提供了一种简单且能实现长距离、大容量的系统,从而扩展了无线传感器网络。

LoRa采用扩频调制技术,与传统的调制技术相比,扩频调制增加了链路预算和更好的抗干扰性能,从而达到了良好的频率特性。LoRa的扩频调制技术采用的是线性扩频调制,不仅使得终端即使在相同频率下同时发送信息也不会产生相互干扰,同时又明显提高了通信距离。

LoRa集中器或网关可以对多个节点的数据进行并行接收及处理,大大扩展了网络的容量。

1)LoRa数据包结构

LoRa调制解调器具有两种数据包模式,即显式数据包模式和隐式数据包模式。二者的区别在于,显式数据包模式有一个包含字节数、编码率以及数据包是否启用CRC校验等信息的报头。LoRa数据包主要包含前导码、可选报头(可选)、有效负载和负载的CRC校验,如表2.1所示。表2.1 LoRa数据包结构(1)前导码。前导码位于数据包的开头,用于保持接收机与接收数据流之间的同步。前导码有长前导码和短前导码两种模式,长度可通过程序进行设置的变量长度范围为6~65536。在接收数据量较大或者网络同步性要求较高的应用中,可通过改变前导码的长度来改变终端接收的占空比。接收机会定期检测发射机信号的前导码,只有检测到前导码长度等于自身设定的长度时,才开始接收数据。(2)报头。可以选择两种不同的报头:显式报头和隐式报头。显式报头主要包含有效负载的相关信息,如有效负载字节数和前向纠错码率等;如果已经确定了显式报头的相关信息,则通过隐式报头来缩短发送时间,并为接收机和发射机软件写入已知的有效负载长度和前向错码率等信息。(3)有效负载。有效负载实际上就是数据段,即要发送或者接收的数据。在实际传输中,数据包有效负载长度并不是固定的,指令不同,返回的数据也不同。

LoRa数据包结构中采用了前向纠错编码技术,在数据包中增加了冗余信息,允许接收机检测可能出现在信息任何地方的差错,实现数据包在传输过程中的自我修复,但该技术需要消耗一定的带宽,长用于大型组网,在信号长距离传输或复杂路径衰减时可以体现出优异的自我纠错性能。

加入前向纠错编码的LoRa数据包将每一比特时间划分为众多码片,即便调制噪声较大,LoRa也能轻松应对。

2)LoRa唤醒方式

在星状网络结构中,为了节约功耗,终端节点通常处于休眠状态,当进行数据传输时再将其唤醒。唤醒方式可分为以下两种:(1)主动唤醒方式。终端节点利用定时器来唤醒设备,唤醒后终端节点将收到的数据上传到服务器,并再次进入休眠状态,该方式适用于数据更新周期较长、且不需要服务器突发访问的设备。(2)空中唤醒方式。该方式适用于需要突发访问的设备。服务器随时可能读取终端节点中的数据。空中唤醒过程:若终端节点休眠时间为S秒,即每S秒主动唤醒一次,主动检测是否有设备发送前导码。当服务器需要和某个终端节点连接时,会发送S秒的前导码,用于覆盖终端节点的休眠周期,保证终端节点主动唤醒后可以检测到前导码。如果终端节点唤醒后检测到前导码,则进入正常工作状态,反之进入休眠状态。

3)LoRa跳频技术

跳频扩频技术(Frequency-Hopping Spread Spectrum,FHSS)指收发双方在同时且同步的情况下,按照约定的跳频跳转频率进行通信的技术。无线通信需要克服主要来自于外部干扰和多径衰减,其中外部干扰主要来自生活中使用的各种无线通信设备,如手机、无线路由器和电脑等;多径衰减比较复杂,在现实环境中,各种建筑物、树林和走动的人以及动物都会造成信号的反射,因此除了直线传播的路径,无线信号还可能存在多重反射路径,这些信号混合后会造成很大的信号干扰。跳频技术可以解决外部干扰和多径衰减,通过跳转通信的频率以规避某些频段的干扰以及信号的反射。

FHSS的工作原理:通过频率查询表中选取跳频信道发送LoRa数据包的一部分内容,跳频周期结束之后,发射机和接收机切换到下一个信道,继续发送和接收数据包的下一部分内容。

FHSS接收通常从信道0开始,前导码检测完成后,接收机开始执行跳频过程。如果报头的CRC损坏,接收机则会自动请求信道0并重新开始前导码的检测。信道更新时间转到新频率后,将会产生请求改变信道的中断信号,LoRa跳频流程如图2.2所示。图2.2 LoRa跳频流程

4)LoRa技术特征

LoRa本质上是扩频调制技术,并结合了数字信号处理技术和前向纠错编码技术。扩频调制技术具有长通信距离和高鲁棒性,LoRa技术为工业产品和民用产品提供低成本的无线通信解决方案。

LoRa技术具有高性能、长距离、低功耗等特点,在大规模组网、测距和定位等方面有突出的优点,LoRa是低功耗长距离无线通信技术中的一种。LoRa基于线性调频扩频调制,它保持了像频移键控(FSK)调制相同的低功耗特性,增加了通信距离,并且拥有较高的接收灵敏度和较强信噪比。另外,使用跳频技术,可以使载波频率不断跳变而扩展频谱,防止定频信号干扰。LoRa技术具有以下特点:(1)通信距离长。得益于扩频调制和前向纠错码的增益,LoRa技术的通信距离大约是蜂窝技术的2倍,因此LoRa网络可以使用星状网络,通过扩频调制技术完成稳定和实时的长距离通信。(2)通信容量大。物联网的特点,使得终端节点特别多,一个LoRa网络能轻松连接上千,甚至上万个节点。(3)通信信号扩频正交。因为LoRa是扩频调制技术,不同扩频因子的信号是正交的,在同一个信道中,信号间相互之间不冲突。(4)通信低功耗。LoRa支持异步通信,当需要发送数据时,才发起通信。(5)一网络多网关。在LoRa网络中,一个终端节点的发送数据帧可以被多个网关接收,再转发给服务器,服务器可以选择信号最佳的网关回复。当移动终端节点时,即从一个网关切换到另一个网关,由于是同一个服务器在管理,可以免除复杂的切换步骤。

2.LoRa网络

1)LoRa网络设备

LoRa网络包括终端节点、网关、网络服务器、应用服务器等,LoRa终端节点和网关之间可以通过LoRa技术进行数据传输,而网关和核心网或广域网之间的交互可以通过TCP/IP网络协议进行。为了保证数据的安全性、可靠性,LoRa网络采用了长度为128比特的对称加密算法(AES)进行完整性保护和数据加密。LoRa网络结构如图2.3所示。图2.3 LoRa网络结构(1)LoRa网关。LoRa网关位处LoRa星状网络的核心位置,是终端节点和网络服务器之间的信息桥梁,是多信道的收发机。LoRa网关有时也被称为LoRa基站或LoRa集中器。

LoRa网关使用不同的扩频因子,不同扩频因子的信号两两正交,可以在同一信道中对多个不同扩频因子的信号进行解调。网关与网络服务器之间通过TCP/IP网络协议进行通信,终端节点通过单跳与一个或多个网关进行通信,所有的终端节点之间的通信都是双向的。

LoRa网关接入的终端节点数取决于LoRa网关所能提供的信道资源以及单个LoRa终端节点占用的信道资源。例如,单个SX1301芯片拥有8个信道,在完全符合LoRa协议的情况下最多每天能接收1500万个数据包。如果某应用发包频率为1包/小时,单个SX1301芯片构成的网关能接入62500个终端节点。另外,网关接入终端节点的数量还和网关信道数量、终端节点发包频率、发包字节数和扩频因子等因素有关。(2)LoRa终端节点。LoRa网络将终端节点划分成A、B、C三类。

A类终端节点:如图2.4所示,A类终端节点允许双向通信,每一个终端节点上行传输会伴随着两个下行接收窗口。终端节点的传输时隙基于其自身通信需求。A类终端节点的功耗最低,基站下行通信只能在终端节点上行通信之后,网络服务器能很快地进行下行通信,网络服务器的下行通信都只能在终端节点上行通信之后。

B类终端节点:具有预设接收时隙的双向通信终端节点。如图2.5所示。B类终端节点会在预设时间中开放多余的接收窗口,终端节点会同步从网关接收一个Beacon信标,通过Beacon信标实现网关与终端节点的时间进行同步。网络服务器通过这种方式可以了解终端节点是否正在接收数据。图2.4 LoRa网络的A类终端节点图2.5 LoRa网络的B类终端节点

C类终端节点:具有最大接收窗口的双向通信终端节点,如图2.6所示。C类终端节点可持续开放接收窗口,只在传输时关闭,C类终端节点拥有最长的接收窗口,功耗最大。图2.6 LoRa网络的C类终端节点

2)LoRa网络参数

LoRa的终端节点要实现组网需要配置4个网络参数,只有当一个终端节点配置的4个参数与LoRa AP搭建的网络参数相同时,这个终端节点才能够加入LoRa AP所组建的LoRa网络中。LoRa网络的4个网络参数分别为:发射频率(基频)、信号带宽、扩频因子和编码率。(1)发射频率。在不同频率下传输的信号不能相互接收,发射频率可以称为信道。扩频技术增加了很多的可变参数,这些可变参数可改变传输数据的信道。LoRa的频率范围为137~525 MHz,一般使用410~525 MHz。(2)信号带宽。带宽是限定允许通过该信道的信号下限频率和上限频率,是单位时间内的最大数据流量。增加信号带宽可以提高有效数据速率、缩短传输时间,但会牺牲接收的灵敏度。LoRa的带宽范围为7.8~500 kHz。

增加信号带宽可以提高有效数据速率、缩短传输时间,但这是以牺牲一部分接收的灵敏度为代价的。FSK调制解调器的带宽是指单边带带宽,而LoRa调制解调器中的带宽则是指双边带带宽(或全信道带宽)。

表2.2所示的LoRa调制表(扩频因子和编码率保持一致)列出了LoRa调制解调器的带宽范围与标称传输速率的关系。表2.2 LoRa调制表(3)扩频因子(Spreading Factor,SF)。扩频因子把数字信号,例如1或者0,用扩频码1101把它扩频,就变成1101或0010,这样带宽就变大了,虽然数据量变大了且牺牲了一定的带宽,但是可以实现数据的加密和保真。

LoRa扩频调制技术采用多个信息码片来表示有效负载信息的每个比特。扩频信息的发送速率称为符号速率(R),而码片速率与标s称符号速率之间的比值即扩频因子,表示每个比特发送的符号数量。LoRa的扩频因子范围为6~12,取值范围如表2.3所示。表2.3 LoRa扩频表

因为不同SF之间的信号为正交关系,因此需要提前获知链路发送机和接收机的扩频因子。另外,还需要知道接收机输入端的信噪比。在负信噪比条件下信号也能正常接收,可以改善了LoRa接收机的灵敏度、链路预算及覆盖范围。当扩频因子为6时,LoRa调制解调器的数据传输速率最快。(4)编码率(Code Rate,CR)。由于加入一些冗余比特,因此信道编码能够检出和校正接收比特流中的差错,把几个比特上携带的信息扩散到更多的比特上,因此需要传输更多的信息。

LoRa采用循环纠错编码进行前向错误检测与纠错,使用这样的纠错编码之后,会产生传输开销。在存在干扰的情况下,前向纠错能有效提高链路的可靠性。编码率是数据流中有用部分(非冗余)的比例。也就是说,如果编码率是k/n,则对每k比特有用信息,编码器共产生n比特的数据,其中有n-k个冗余的比特。LoRa的编码率范围为4/5、4/6、4/7、4/8。LoRa编码率、循环纠错编码率和开销比如表2.4所示。表2.4 LoRa编码率、循环纠错编码率和开销比

除了上述的需要配置的4个网络参数,还有发射功率。要提高通信距离,可以提高发射功率,但会消耗更大的功耗。LoRa网络的发射功率可以自由调节,使得LoRa网络可以满足更种应用场景的需要,LoRa网络的发射功率范围为0~20 dB。

3)LoRa网络结构

LoRa网络有三种网络结构,分别是点对点通信、星状网轮询、

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载