简单的一篇概念记录篇,无技术细节
为什么要选择物联网?
对于我来说,,新,具有未知的挑战 + 兴趣,内心的天平秤偏向了物联网吧物联网发展历程
唯一的缺点就是需要经历公司配套设施、制度的巨大落差,换来的是技术、产品经验积累,兴趣使然。不同文化氛围的碰撞,依然要保持生活第一、兴趣第二、工作第三,从未经历过内卷,最近新人内卷很严重,请佛系看待。加油!
5G时代十大应用场景白皮书
如何看代5G通信和物联网
设备配网
一文看懂NB-LoT和他的兄弟们
LTE-CAT1 物联网时代的新宠
极客时间-物联网入门
目录
一、物联网发展史1、物联网 = 互联网 + 物物联网定义
- 把所有物品通过信息传感设备与互联网连接起来,实现智能化识别、运作与管理功能的网络
物联网发展趋势必然和互联网一样,会迅速到达一个最高点,然后进入泡沫期,最终趋于稳定成熟期,所以在什么时候入场,这个决策很重要。现在的物联网基本都是通过人去操作,极少部分是通过物识别人。
物联网的趋势大概率就是物识人到物识物。例如最近阿里云在爱玛电动车上实施的无感解锁方案,对骑行体验是颠覆性的。
网上我们也看到过很多媒体都说过 “5G时代,物联网的时代” 之类的话。为什么呢?5G 有 3 个主要应用场景,分别对应 eMBB、uRLLC 和 mMTC 3 个标准。
- eMBB 用于我们日常的手机移动通信,网络传输速率高主要就是指这个标准
- uRLLC 应用的场景是无人驾驶、远程手术等,强调的是极低时延,稳定的时延和速率,毕竟如果远程做手术,那肯定不能出现卡顿和忽长忽短的时延
- mMTC 可以支持大规模设备的连接上网,适合智能门锁、烟感传感器、路灯等低速率、低成本、低功耗的物联网设备
- 1995年比尔・盖茨在《未来之路》书中首次提及物联网概念
- 1998年,美国麻省理工学院(MIT)创造性地提出了当时被称作EPC系统的“物联网”的构想
- 1999年,美国Auto-ID首先提出“物联网”的概念,主要是建立在物品编码、RFID技术和互联网的基础上。同年,在美国召开的移动计算和网络国际会议提出了,“传感网是下一个世纪人类面临的又一个发展机遇”
- 2005年11月17日,在突尼斯举行的信息社会世界峰会(WSIS)上,国际电信联盟(ITU)发布了《ITU互联网报告2005:物联网》,报告指出,无所不在的“物联网”通信时代即将来临,世界上所有的物体从轮胎到牙刷、从房屋到纸巾都可以通过因特网主动进行交换。射频识别技术(RFID)、传感器技术、纳米技术、智能嵌入技术将到更加广泛的应用
- 2009年1月28日,奥巴马就任美国总统后,与美国工商业领袖举行了一次“圆桌会议”,作为仅有的两名代表之一,IBM首席执行官彭明盛首次提出“智慧地球”这一概念,建议新政府投资新一代的智慧型基础设施
- 2009年8月,温家宝总理在无锡视察时提出“感知中国”,无锡市率先建立了“感知中国”研究中心,中国科学院、运营商、多所大学在无锡建立了物联网研究院。物联网被正式列为国家五大新兴战略性产业之一
- 2009年8月24日,中国移动董事长王建宙访台期间解释了物联网概念
第一层是设备层,对应各种物联网硬件设备,主要关注的是通信技术
第二层是网络层,主要关注的是设备与物联网平台的通信协议,底层依旧是TCP/IP协议,对于物联网开发人员,这块需要了解HTTP、MQTT、AMQP等网络协议,知道它们的适用场景
第三层是应用层,基本就是对应业务逻辑,和一般APP开发没有多大区别,唯一的区别就是物联网行业,海量数据处理是必须的,包括其中的数据分析以及AI在其中的落地。
三、物联网通信技术
设备如何接入网络?如何连接目标设备?在平时的生活中,我们的智能设备,例如手机,是通过WIFI或者移动网络,刷电梯门时通过手机NFC功能也可以,还有无线蓝牙耳机等等,都是通过对应的通信技术满足了我们的日常需求。
但是物联网领域都能通过WIFI、蓝牙、自身网络连接吗?并不是,但是我们可以通过网关、蓝牙、WIFI解决大部分设备的连接。
物联网行业有自己的专有通信技术,当然局限不包括于WIFI、蓝牙
- 高速率
- 4G、5G、LTE-V
- 场景:视频监控、机器人、智慧医疗
- 4G、5G、LTE-V
- 中档类
- eMTC、GPRS、CDMA(2G网络应用场景应该比较少)
- 如短距离无线网络 BLE、ZigBee、WIFI(版本不同,它们支持的频率不一样)
- BLE 的数据通信主要基于广播包和GATT协议,据说连接参数的调节对于BLE设备的扫描和连接影响很大。还有就是不同品牌Android芯片不一样,蓝牙协议栈又不一样,还需要针对不同手机兼容。BLE可以进行地理位置定位,从Android 6.0开始,BLE设备需要请求位置权限。
- LTE-CAT1 独特优势就是网络覆盖,属于4G网络的低速类别。2G的替代在国内通信产业来看,大多是LTE-CAT1以及NB-LoT
- 场景:可穿戴、车辆调度、电子广告、无线ATM
- eMTC、GPRS、CDMA(2G网络应用场景应该比较少)
- LPWA 低功耗、广覆盖
- LoRa 低功耗广覆盖物联网 的一种,2017年12月的时候工信部的征求意见稿中将用于民用无线电计量仪表使用的470-510MHz频段,也就是LoRa用于组网的频段,限定为单频点使用,不能用于组网应用,差点被禁止使用,它最大的对手就是 NB-LoT
- SigFox 低功耗广域网,主要用于连接传感器和设备
- NB-LoT 可以再看看这篇文章 一文看懂NB-LoT和他的兄弟们,LPWA也包含多种技术,如LoRa、Sigfox、NB-IoT、eMTC等,但是NB-LoT在他这一层覆盖率基本能应付90%的业务场景
- 场景:无线抄表、环境检测、智能家居、物流
- LoRa 低功耗广覆盖物联网 的一种,2017年12月的时候工信部的征求意见稿中将用于民用无线电计量仪表使用的470-510MHz频段,也就是LoRa用于组网的频段,限定为单频点使用,不能用于组网应用,差点被禁止使用,它最大的对手就是 NB-LoT
对于不同协议的应用场景,大多数取决于它们所在的频段,所以对于物联网入门还需要连接四个基本概念,具体自行搜索
- 频段
- 电磁波频率的一个范围,这也是 Wi-Fi 路由器和蓝牙耳机、键鼠,在某些情况下会相互干扰,不在一个频段。干扰也没关系,业内还有跳频技术来解决干扰
- 电磁波频率的一个范围,这也是 Wi-Fi 路由器和蓝牙耳机、键鼠,在某些情况下会相互干扰,不在一个频段。干扰也没关系,业内还有跳频技术来解决干扰
- 信道
- 每种通信技术的频段会被划分、规划城多个信道来使用
- 它是信息通过无线电波传输的具体通道介质
- 每种通信技术的频段会被划分、规划城多个信道来使用
- 信道带宽
- 信道频段的最大值和最小值之差
- 信道频段的最大值和最小值之差
- 传输速率
- 带宽越大,传输速率越大。路越宽,承载的可通行的车越多
- MIMO 技术通过使用多重天线收发信号来提高传输效率
- 带宽越大,传输速率越大。路越宽,承载的可通行的车越多
1、物联网通信的特点物联网设备很多可能工作在不可靠、高延迟的网络环境
- 例如共享单车,它们使用的是NB-LoT通信技术,解锁使用HTTP协议的话,单车发出连接请求,那么必然会受到网络延迟的影响。
- 现在一般云平台,都会让你先建一个家庭,然后往家庭内添加设备,便于控制管理
- 常见场景就是更换设备
- 发布-订阅模式
- 这个模式大家都很熟悉,发布者负责生产数据,订阅者负责订阅经纪人的某个主题,经纪人收到某个主题数据时,系那个会发送这个主题的数据给订阅者
- 举个例子,你订外卖,类似 你、外卖订单中心、商家 间的关系
- 这种模式的网络通信协议 很适合 传感器,包括声光报警、人体靠近等等信息。网络不稳定也不会影响彼此工作
- MQTT采用的就是发布-订阅通信模式(采用二进制消息内容编码格式,协议头紧凑、协议交互简单,有三种服务质量级别QoS),MQTT 5.0 也增加了请求-响应模式
- QoS 0 消息只发送以此,消息可能丢失
- QoS 1 发送方会接受反馈,保证消息的送达,但是消息可能会有重复
- QoS 2 通过发送方和接收方的多次交互,保证消息有且只有一次
- QoS 0 消息只发送以此,消息可能丢失
- AMQP也是采用的发布-订阅模式
- 和MQTT一样,基于TCP协议,采用二进制消息格式,支持3个QoS级别,不过板本间差异很大
- 比较重,不适合计算资源有限、对功耗要求严苛的物联网设备
- 可靠性和可扩展性好,例如RabbitMQ中间件就是基于AMQP实现的
- 和MQTT一样,基于TCP协议,采用二进制消息格式,支持3个QoS级别,不过板本间差异很大
- 这个模式大家都很熟悉,发布者负责生产数据,订阅者负责订阅经纪人的某个主题,经纪人收到某个主题数据时,系那个会发送这个主题的数据给订阅者
- 请求-响应模式
- 对于一些场景,例如小区里面的智能快递柜,输入取件码后,服务器对对应的柜门发送开门指令,如果使用发布-订阅模式,那么服务器知道自己下发的开门指令是否成功,但是它不知道门有没有开!因为柜门没有向服务器反馈。当然,你可能会说,服务器订阅一个柜门开启的消息不就好了,是的,可以,但是流程就变得繁琐、不直接了。
- HTTP 常见的请求-响应模式
- 格式比较重,报文头动不动就达到KB级别,资源有限的嵌入式设备可能还不太合适
- 格式比较重,报文头动不动就达到KB级别,资源有限的嵌入式设备可能还不太合适
- CoAP
- 设计轻量,可以用于资源受限的物联网设备
- 跟HTTP协议一样,同样使用URI来标识资源
- 消息采用二级制格式,支持可确认消息和不可确认消息两种QoS级别,类似MQTT的QoS 1 和QoS 0
- 传输层协议是UDP,而不是HTTP、MQTT的TCP协议
- 设计轻量,可以用于资源受限的物联网设备
- LwM2M
- 定义在CoAP协议之上,提供了一组轻量级的交互接口协议,对设备墨香进行了标准化
- 能够更好的实现设备管理
- 定义在CoAP协议之上,提供了一组轻量级的交互接口协议,对设备墨香进行了标准化
- 对于一些场景,例如小区里面的智能快递柜,输入取件码后,服务器对对应的柜门发送开门指令,如果使用发布-订阅模式,那么服务器知道自己下发的开门指令是否成功,但是它不知道门有没有开!因为柜门没有向服务器反馈。当然,你可能会说,服务器订阅一个柜门开启的消息不就好了,是的,可以,但是流程就变得繁琐、不直接了。
有好多配网模式,具体可以查看 设备配网,没空可以简单看下两种配网了解
1、WIFI配网我们先了解一下简单的WIFI配网
- APP发送广播包,将WIFI名和密码(自己手动输入)和自己的用户相关信息给设备
- WIFI设备连接上路由器(WIFI热点、AP),将自己的数据上传平台获取到设备的一些设备id或者预存信息,与账号一起上传平台完成绑定
- APP用户绑定成功
- 通过手机或 Wi-Fi 路由器发送 UDP 广播包的形式,将 Wi-Fi 的 SSID 和密码广播出去
- Wi-Fi 设备在进入配网模式后,会将接收到的广播包进行解析,从而获取到 Wi-Fi 的 SSID 和密码,然后连接上路由器
- Wi-Fi 设备连接上路由器后,也会广播自己的 MAC 地址,这样手机 App 就可以接收到设备的 MAC 地址完成绑定
2、AP配网
- WIFI设备先进入WIFI AP模式,即由设备创建一个WIFI热点
- 手机连接到这个热点,然后把WIFI 的SSID和密码发送给WIFI设备
- WIFI设备连接上对应的WIFI,就有了联网能力了。可以将数据发送到云平台就行激活绑定。
或者例如冷库,冷库环境很复杂,库房内部的蜂窝网络信号一般都很差,因为要增强保温性能,墙壁势必做的很厚,而且库房一般位于郊区,所以设备在这个环境下,直接连接蜂窝网络有点不现实,一般都通过在稳定网络信号的地方部署物联网网关,让设备间接联网。
网关通信示意图
网关中一般会存储和设备的配置信息,防止因网络临时故障导致设备数据丢失。还有安全性相关,例如本地身份认证、数据加密传输,网关还能接入运营商专网接入。
2、边缘计算因为海量设备入网,数据处理是一个急需解决的问题,如果都给云平台去处理,那么云平台挑战很大,毕竟要考虑到网络延迟和带宽等的影响。而且有些数据是机密的,上传到云平台会给用户带来很大的风险。
所以,现在行业内已经开始尝试将云平台上的部分计算服务,下沉到靠近数据发生地的“边缘设备”上进行,这就是边缘计算的由来,而物联网网关是边缘计算中最轻量级的解决方案的关键。
需要考虑的点
- 安全、隐私
- 自治能力。当网关与云平台的通信中断时,这种情况不应该影响网关处理数据的计算任务,和对物联网设备的管理
- 标准化组织
- Linux基金会下的 LF Edge和致力于推进Cloud Native的 CNCF
- Eclipse基金会下的 Eclipse loT 项目
- OpenStack 基金会
- Linux基金会下的 LF Edge和致力于推进Cloud Native的 CNCF
- 容器技术
- KubeEdge项目
- 主要思路将Kubernetes从云端扩展到边缘设备,方便应用程序在边缘网关上的编排和调度,同时实现云端和边缘设备的协同数据处理
- 主要思路将Kubernetes从云端扩展到边缘设备,方便应用程序在边缘网关上的编排和调度,同时实现云端和边缘设备的协同数据处理
- KubeEdge项目
- 开发框架
- EdgeX Foundry 工业物联网领域
- Home Edge 智能家居领域
- EdgeX Foundry 工业物联网领域
七、数据分析这块后端同学都会的,都是经典的后端技能点。作为一个前端,只做记录
1、数据处理框架
- 分而治之 批处理
- Hadoop MapReduce
- Spark
- 批处理适合海量静态数据的非实时处理,延迟比较高,也叫离线计算,主要用于离线报表、历史数据汇总等场景
- Hadoop MapReduce
- 流处理
- 当采集的数据传输到系统后,我们可能需要对数据进行一些预处理,处理之后再存储起来。
- 数据像流水一样流入系统,然后被处理,而数据的快速处理,也就是实时计算,是这个过程中的关键点。这就是流处理出现的背景。
- 流处理适合动态输入的流式数据的实时处理,延迟低,也叫实时计算,主要用于实时监控、趋势预测、实时推荐等场景。
- Storm
- Spark Streaming
- Flink 最近挺火
- 当采集的数据传输到系统后,我们可能需要对数据进行一些预处理,处理之后再存储起来。
- 关系型数据库
- 分布式关系型数据库
- 分库、分表,借助数据库中间件实现关联查询、主键避免重复、分页查询和事务一致性等功能
- NewSQL
- 高扩展。数据分片,鼎泰增加节点,不需要进行麻烦的数据迁移工作
- 高并发。对比关系型数据库基于磁盘的设计,更好的利用了内存
- 高可用。支持多副本存储,自动选择主节点,保证了数据库故障切换时间很短
- 高扩展。数据分片,鼎泰增加节点,不需要进行麻烦的数据迁移工作
- TiDB
- CockroachDB
- OceanBase
- 分库、分表,借助数据库中间件实现关联查询、主键避免重复、分页查询和事务一致性等功能
- 时序数据库
- 固定频率写入,没有多大的更新写入操作可以选择
- 读取的需求主要是进行数据分析,时效性很强,越新的数据价值越大
- InfluxDB
- KairosDB
- OpenTSDB
- 固定频率写入,没有多大的更新写入操作可以选择
- 物联网用半结构化json的比较多
- NoSQL
- 分布式文件系统
- Hadoop HDFS
- FastDFS
- Ceph
3、海量数据对于海量数据处理,常见的一些方案,大方向就是负载均衡、消息队列和缓存系统、CDN内容分发。
负载均衡
- 主要是协调多台服务器应对网络连接和请求的压力
- 动态调度策略
- 最小连接数策略
- 加权最小连接数策略
- 源地址哈希值策略
- 最小连接数策略
- 四层(IP)负载均衡
- 七层(HTTP请求头、URL信息)负载均衡
- 避免耗时的等待
- 异步处理机制
- Kafka、RabbitMQ
- 数据读写更快
- Redis、Memcached
新的体验新的感受