「只要有人的地方,就有物联网技术。」我不清楚这句话的出处,我只知道有人的地方就有江湖~哈哈。我想说的是,「物联网技术」这个名词是一个很大很泛的概念,我可以说不存在这种技术,我也可以说这技术实际上就是当今电子、通信、计算机三大领域的基础技术。
我在这问题下的回答「物联网和互联网的区别和联系?」简单阐明了物联网和互联网之间的关系。请问,1994年中国接入互联网以来,我们作为互联网原著居民的90后,认为互联网技术又是一种怎样的技术呢?
我就奇了怪了,当初教育局怎么不开一个互联网技术专业?实际上现在也没必要开设互联网专业了,当今大学的计算机系本科所学的大部分内容,就是互联网会用到的技术。其中之一是Web建站技术。
Web 建站技术中,HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、ASPNET、Web Services 是什么? - 张秋怡的回答
什么?你们计算机系不是学这些?来来来,我电脑坏了,过来帮我修一下电脑吧~
总之,互联网是一个时代,物联网,也是一个时代。物联网技术是当今电子、通信、计算机、IT行业技术的大融合。如图,物联网技术的技术组成(简单版)。
# 物联网技术之一:单片机/嵌入式开发
智能硬件,哎,不就是单片机吗?说到底就是一个微控制器,现在出现的智能手表,调光LED灯,蓝牙开锁,WiFi插座等等,说到底不就是单片机开发嘛?单片机,电子和通信专业一般都会教51或AVR、计算机系接触不到。现在流行的Arduino也是单片机开发的一种。
但是要做一款智能硬件,技术上只会单片机编程还是不行的。哎呀嘛什么智能硬件,本质上就是一个电子产品!。所以你要开发一款能拿得出手的智能硬件,电子系统设计必须要会的!
电子系统设计(电子系统设计与实践 (豆瓣)),我不是指《电子系统设计》这本书里的内容,而是一个动手实验过程。要做智能硬件,广看书没用,只会单片机编程也不够的!真正有用的是一个实打实的课程设计,或者一个项目经历。一个电子系统设计流程一般是这样的:
硬件设计阶段:
MCU选择
电路设计(电路图)
验证电路(面包板、万用板)
电路板设计(PCB图)
送工厂打板或自己做板
元器件、物料管理(采购等)
拿到电路板后
焊接芯片和元器件
上电测试
烧写最后版本的代码到芯片里
如果你熟悉以上硬件设计阶段,并知道要做什么事情,已经是一个合格的单片机硬件工程师了哈~接下来就是单片机软件工程师的事情了,单片机软件一般都不会太复杂,有的还是不用上 *** 作系统的裸机开发,做过单片机课程设计的学生都懂。
软件设计流程:
确定软件架构(主循环?状态机轮询?)
编写软件
调试代码(开发板或自己搭建好的电路)
烧写最终版本的代码到电路里
这些都不算复杂了,如果你用的芯片高级一点,不是微控制器而是微处理器的话,那么就是嵌入式开发了。
如图是ARM芯片架构系列。
一般网上STM32开发板的芯片是STM32F103,也就是Cortex-M3核,还算是单片机开发,如果外设没有太多功能,单片机想用更小巧一点的,可以选用M0核的芯片,名副其实的微控制器了。如果使用Cortex-A9开发,你这是要开发手机还是机顶盒(黑人问号)?
Cortex-A系列芯片的开发,或者说这类产品,一般一个人不可能独立完成所有工作,这种嵌入式开发的技术最少分为四个层次:硬件层、驱动层、系统层和应用层。每一层次都需要有人去设计。驱动和系统可以移植,硬件电路板肯定要专门的硬件工程师去做的,应用层可以交给应用工程师,只要上了Linux系统,不也就是Linux应用开发嘛?如果去网上买回来的嵌入式开发板,能拿得出手的项目只能应用层开发,比如什么「数码相框系统」、「视频点播系统」。别告诉我学会移植uboot或Linux就可以找工作了。
# 物联网技术之二:网络通信协议
智能硬件与传统的电子产品最大的差别,就是智能硬件连上了网络。要连上网络,就需要用到网络通信模块及学习网络通信协议——TCP/IP。
TCP/IP是一个技术的总称,里面包含两种协议TCP、UDP,位于网络通信分层模型的传输层,同时也是由 *** 作系统管理。而>
为了让电子产品有联网的能力,只要在电路设计上给主控芯片连接一个通信模块,写好收发网络指令的代码,剩下的就是电子产品设计了。
到这里,基本是一个物联网产品的雏形了,以上也是物联网中基本会用到的电子和通信技术。
# 物联网技术之三:服务端开发框架
Client/Server架构,即客户端/服务器架构。智能硬件连上后台服务器后,其就是一个客户端,一个终端。由于单片机中资源受限,实际上是不太可能用>
服务端开发就比较复杂了。单片机/嵌入式软件开发还好,只要学习好C语言即可打遍天下无敌手,而服务端开发,用Java呢还是Python还是PHP?反正Java和Python选一个就好了,嵌入式出身的工程师,一般都会学Python。
Python服务器端的开发框架种类繁多,Web开发的有Django、Flask、Tornado Web Server,TCP服务器可以用Twisted,等等。MQTT有已经做好的服务器,像这样的服务器不用自己开发,直接部署即可。
如图,这是我开发一个智能硬件的服务器端的框架图。使用Redis作为>
在这个项目开发中,最少需要开发用户端的>
到了这里,服务端开发和前面两个技术可以作为一个分层,前面的单片机/嵌入式和网络通信的开发可以算作是一个电子设备的开发,后台工程师只要拿到了这个电子设备,知道这个设备提供了哪些接口(API),就可以进行后台开发了——把设备连上网络,分配给它一个IP或者什么的,配置好接口及相关 *** 作,剩下的事情就交给前端了。
## 关于前端技术
关于前端技术,我这里不好单独写一个主题,其一,我对前端技术没有那么熟悉,还处于前端技术=HTML+JavaScript+CCS的概念,以及手机端的APP开发;其二,前端技术与电子硬件技术间隔相差太远,前端更多的是和美工沟通,和后台协调,和设计师交流,甚至可能还需要有一定的美感;其三,大部分项目的最重要的是实现设备的稳定性、联网、数据的获取和控制。如果设备不稳定,数据出现差错,没法控制,再漂亮的前端页面也没用。其四,如果是做智能家居,做消费电子领域的项目,针对广大普通消费者,比如WiFi插座,一个漂亮的界面是很重要,但是大多数的物联网项目,只需要一个后台管理界面就行了。
所以,没有前端的设计,界面都是很丑咯!
# 物联网技术之四:无线自组网
无线自组网,或称无线传感网络,这肯定是物联网专业的学生要学的一门学科,属于通信领域,电子、计算机出身的人对这没有太多的概念。无线自组网最典型的技术之一是,ZigBee。
什么是自组网?做个对比,比如我们的WiFi,我们要用手机去连一个SSID,输入密码才能连上WiFi,而且你的手机,一般来说也不可能再发射Wifi出去让其他手机连接,WiFi网络拓扑成星型网。
而自组网不一样,不需要用户输入用户名和密码,直接连到最近的一个自组网设备,最后自组网设备也可以作为一个中间节点,让下一级的设备连接进来,网络拓扑可以成星型网、簇型网和网型网。那么无线自组网的数据怎么流动呢?流去哪?无线自组网一般都会有一个数据汇聚的地方,这个地方就是网关。
但是ZigBee并没有连上互联网啊,它最多只是一个局域网!——这还不简单?这是就是网关要处理的事情了。而且,ZigBee协议栈Z-Stack是有Linux网关版本的。
Z-Stack - ZigBee 协议栈
不过呢,由于各种原因,ZigBee开始走下坡路了,最新的6LoWPAN会逐渐替代。6LoWPAN,是一种低功耗的无线网状网络,其中每个节点都有自己的 IPv6 地址,允许其使用开放标准直接连接到互联网。Zigbee使用网内专用地址,互联网主机无法访问。集成 Ipv6/6LoWPAN 堆栈的开源 *** 作系统Contiki也会逐步取代Z-Stack。
如果大学开设了无线自组网的课程,不是学习ZigBee的Z-Stack就是Contiki。使用无线自组网也并不是一个单独的开发过程,其技术需要结合单片机/嵌入式开发。
## 电源问题
是的,如果要用无线自组网,电池续航的能力是一个问题。如果是类似与WiFi插座、智能饮水机、智能风扇等等,接上市电就能用,这些电源都不是问题。而对于无线自组网,往大的方向说就是所有的便携式智能设备,都受限于电池续航能力,比如智能手表,运动手环。不过呢,突破电池技术并不是物联网开发者所需要做的工作,我们能做的,只能是挑选更低功耗的芯片,设计电路功耗更低一点,让单片机休眠并使用中断唤醒机制。
图,用水果电池供电的某430单片机系统。
# 物联网技术之五:RFID
仔细观察上面那张无线技术的图,最右边,NFC/RFID。嗯,对,RFID,非接触射频识别,也是物联网技术重中之重的技术,很多物联网书籍都会介绍RFID,搞得很多人以为RFID就是物联网。
介绍RFID前先简单说一下条形码。去超市购物的时候,收银员把扫描q对准上面的条形码扫一扫,商品信息和价格就录入到电脑里了。条形码替代了收银员手动输入数据,工作效率提高了几倍。
可是,进入21世纪后,条形码已经不能满足人们的需求,存储能力小、工作距离近、穿透能力弱、不能写 *** 作等等都是条形码的缺点。这个时候就出现了RFID技术。典型应用如下图:
(。。。好像没有什么奇怪的啊?)
一二线城市早已实现了的公交卡,以及校园一卡通,用的就是RFID技术。RFID可读可写,所以公交卡、校园卡的钱能存在卡里面。
NFC,也是RFID的技术一种,目前大部分手机都支持的NFC功能,手机取代公交卡真的是迟早的事。要是手机没有NFC功能,也可以这么装逼:
我看他用手机刷卡出入站挺方便,就问他怎么弄的,是不是要下载什么软件。
他告诉我:“这个很简单,只要把公交卡藏在手机套里就行了。”
同样,RFID开发也是离不开单片机开发,网上也有相关的RFID开发套件出售。
# 结语
当然,物联网技术绝对不止以上五种,物联网本身就是所有技术的大融合,做电子产品的还要考虑产品外壳,不过这是结构工程师的事情;做服务器后台的还要考虑用户帐号数据库读写等,前端也要考虑如何把设备数据和 *** 作方式优雅的展现给用户看,这些是IT程序员的事情;电池技术也需要单方面突破,超小体积、超大容量,这个还得等待多时。
与其说物联网是一种技术吧,不如说它是一个时代,物联网通过对相关技术进行整合,形成一个时代的概念,是一个建立在技术基础之上的时代。
物联网软件开发推荐:华盛恒辉科技有限公司。
物联网软件开发是指利用传感器、通信网络模组、软件、控制系统等将设备和网络云端进行连接和互动的模式。
在借助互联网和通信网络的基础上,能够把日常用品、设施、设备、车辆和其他智能设备互相连通。物联网是通过某个物件连接网络,通过信息化,能够将实际性物品进行有效性的转换。
作用
1、降低硬件成本
众所周知,硬件成本是每个工业行业多年存在的问题。物联网开发技术的出现简便了企业对传感器和各种硬件设备的需求,从而缓解硬件成本,人工成本,间接促成工业实施成本整体降低,甚至完全替代人工。
2、高性价比分析工具
分析工具对于工厂很重要,目前多数的企业选择传感器制造商提供软件分析工具,无论收费形式,还是免费试用,都可以通过这些工具看到。
《失控》([美国] 凯文·凯利)电子书网盘下载免费在线阅读
资源链接:
链接:> 提取码:43f5
书名:失控
作者:[美国] 凯文·凯利
译者:东西文库
豆瓣评分:87
出版社:新星出版社
出版年份:2010-12
页数:707
内容简介:《失控》,全名为《失控:机器、社会与经济的新生物学》(Out of Control: The New Biology of Machines, Social Systems, and the Economic World)。
2006年,《长尾》作者克里斯·安德森在亚马逊网站上这样评价该书:
“这可能是90年代最重要的一本书”,并且是“少有的一年比一年卖得好的书”。“尽管书中的一些例子在十几年后可能有些过时,但(它们所表达的)信息却越来越成为真知灼见”。“在那时人们还无法想象博客和维基等大众智慧的突起,但凯利却分毫不差地预见到了。这可能是过去十年来最聪明的一本书。”
这是一部思考人类社会(或更一般意义上的复杂系统)进化的“大部头”著作,对于那些不惧于“头脑体 *** ”的读者来说,必然会开卷有益。
《失控》成书于1994年,作者是《连线》杂志的创始主编凯文·凯利。这本书所记述的,是他对当时科技、社会和经济最前沿的一次漫游,以及借此所窥得的未来图景。
书中提到并且今天正在兴起或大热的概念包括:大众智慧、云计算、物联网、虚拟现实、敏捷开发、协作、双赢、共生、共同进化、网络社区、网络经济,等等。说它是一本“预言式”的书并不为过。其中必定还隐藏着我们尚未印证或窥破的对未来的“预言”。
作者简介:凯文·凯利(Kevin Kelly,1952年4月27日~,人们昵称他为 KK),
他影响了苹果公司的史蒂夫·乔布斯、《连线》杂志的总编克里斯·安德森、《黑客帝国》的导演沃卓斯基兄弟、《少数派报告》的导演史蒂文·斯皮尔伯格;他参与创办了《连线》杂志、发起第一届黑客大会、创作《失 控》……;他是网络文化的发言人和观察者……他是——凯文·凯利
《连线》(Wired)杂志创始主编。在创办《连线》之前,是《全球概览》杂志(The Whole Earth Catalog,乔布斯最喜欢的杂志)的编辑和出版人。1984年,KK发起了第一届黑客大会(Hackers Conference)。他的文章还出现在《纽约时报》、《经济学人》、《时代》、《科学》等重量级媒体和杂志上。
凯文·凯利被看作是“网络文化”(Cyberculture)的发言人和观察者,也有人称之为“游侠”(maverick)。
开发之间的重要问题
这些问题对物联网应用开发人员很重要。哪一种才是最好的方法,来构建一个“物联网应用”,它可以做很多事情,从远程控制家庭应用到对引擎改动机制造商发送通知,而这一需要维护服务的引擎有个能在世界任何一个地方?开发人员要具备怎样的技能?要从哪里先开始?
物联网应用开发的始占在于它本身。这些边缘设备通常没有屏幕(尽管并非总是如此)、处理器功耗低,搭载的是某种嵌入式 *** 作系统,使用一个或多个通信协议进行交流(通常是无线)。这些东西可能直接与网络、相邻事物和网络网关相连,一般外形就是一个盒子带一些闪闪发光的灯。
系统的下一层即集成层是软件和基础设施,运行在企业数据中心或云中,来从各种事物中接收和管理数据流。运行在集成层的软件通常也负责管理这些事物,必要时更新固件。
接下来就分析层,用于管理并处理数据。最后,还有一个终端用户层,这一层上应用程序用于用户之间交流。这些可能是企业应用、可能是网络应用,也可能是移动应用。
如果你正在想办法构建物联网应用,最后两层将会是你接触最多的。作为开发人员,你可能没有工具处理这些边缘设备或网关,或者没有适应集成层的能力。
这也就是为什么说构建应用程序要从已经就绪的“物联网平台”开始是有道理的了。这些平台通常包含集成层,这一层承载着以时间为序列输入的数据,以及分析层、自动精简配置,激活和管理功能,实时消息总线和建立其上的平台和应用之间的通信API。
现在市场上有许多公司都在提供这类平台。这有Xively、Mnubo、BugLabs和ThingWorx,他们都有能力与不同的制造商产生的大量“事物”进行沟通。
还有些比较有名的公司,如微软的智能系统服务,和企业软件厂商如SAP的物联网解决方案,这些厂商都在他们的产品中增加了物联网功能。
通过从传感器、计量器等器件获取环境、资产或者运营状态信息,在进行适当的处理之后,通过传感器传输网关将数据传递出去;同时通过传感器接收网关接收控制指令信息,在本地传递给控制器件达到控制资产、设备及运营的目的通过公网或者专网以无线或者有线的通信方式将信息、数据与指令在感知与控制层、平台服务层、应用服务层之间传递,主要由运营商提供的各种广域IP通信网络组成,包括ATM、xDSL、光纤等有线网络,以及GPRS、3G、4G、NB-IoT等移动通信网络
物联网平台是物联网网络架构和产业链条中的重要环节,通过它不仅实现对终端设备和资产的“管、控、营”一体化,向下连接感知层,向上面向应用服务提供商提供应用开发能力和统一接口,并为各行各业提供通用的服务能力,如数据路由、数据处理与挖掘、仿真与优化、业务流程和应用整合、通信管理、应用开发、设备维护服务等
丰富的应用是物联网的最终目标,未来基于政府、企业、消费者三类群体将衍生出多样化的物联网应用,创造巨大的社会价值。根据企业业务需要,在平台服务层之上建立相关的物联网应用,例如,城市交通情况的分析与预测,城市资产状态监控与分析,环境状态监控、分析与预警(如风力、雨量、滑坡),健康状况监测与医疗方案建议等
向下接入分散的物联网传感层,汇集传感数据
向上面向应用服务提供商提供应用开发的基础性平台和面向底层网络的统一数据接口,支持具体的基于传感数据的物联网应用
从设备底层到云端应用都由技术人员自行开发,对研发能力和开发时间都是不小的挑战
物联网应用存在共性需求如安全是否可以以云服务的方式提供这些功能?
物联网平台使物联网应用的快速实现成为可能,并从开发难度、功能性能和稳定可靠等多方面提供服务保证
DMP一般集成在整套端到端M2M设备管理解决方案中,解决方案提供商联合合作伙伴一起,提供通信网关、通信模块、传感器、设备管理云平台、设备连接软件,并开放接口给上层应用开发商,提供端到端的解决方案
大部分DMP提供商本身也是通信模组、通信设备提供商,如DiGi,Bosch等,本身拥有连接设备、通信模组、网关等产品和设备管理平台,因此能帮助企业实现设备管理的整套解决方案
一般DMP部署在整套设备管理解决方案中,整体报价收费;也有少量单独提供设备管理云端服务的厂商,每台设备每个月收取一定的运营管理费用
M2M连接数大、SIM卡使用量大、管理工作量大、应用场景复杂、要求灵活的资费套餐、低的ARPU值、对成本管理要求高
包含基础大数据分析服务和机器学习两大功能
未来物联网平台上的机器学习将向人工智能过渡,比如IBM Watson拥有IBM独特的DeepQA系统,结合了神经元系统,模拟人脑思考方式总结出来强大的问答系统,可帮助企业解决更多商业问题
AWS IoT可在连接了Internet的设备(如传感器、制动器、嵌入式微控制器或智能设备)与AWS云之间提供安全的双向通信,并使云中的应用程序能够与连接了Internet的设备进行交互。这样,用户能从多台设备收集遥测数据,然后存储和分析数据;也可以创建应用程序来通过手机或平板电脑控制这些设备
AWS IoT包括设备网关、消息代理、规则引擎、安全和身份服务、Device Shadow服务等组件
平台案例
通过使用AWS的服务,艾拉物联可以无需投资传统数据中心,便可提供企业级服务。在AWS的支持下,艾拉物联将全球的服务都可以整合到一个云平台上,以最小成本开拓了国际业务,使得各地都可以使用同样的开发及运维工具
AWS云服务安全、稳定、可扩展以及全球覆盖的特性加快了涂鸦业务的全球化部署,为保证海外涂鸦客户和合作伙伴能够享受到本地化的服务体验提供了坚强保障
使用AWS云平台给Sengled生迪带来的好处包括简化运维、节省人力成本、节省资源成本,同时可以灵活地扩展应用系统。AWS提供的丰富功能,使运维工程师不必研究学习传统的运维工具和方法,就可以建立起一套完整、可靠的交付系统和运维平台
物联网平台是阿里云针对物联网领域开发人员推出的一款设备管理平台。高性能IoT Hub实现设备与云端稳定通信,全球多节点部署有效降低通信延时,多重防护能力保障设备云端安全。此外,物联网平台还提供丰富的设备管理功能、稳定可靠的数据存储能力,以及规则引擎。使用规则引擎,您仅需在Web上配置简单规则,即可将设备数据转发至阿里云其他产品,获得数据采集、数据计算、数据存储的全栈服务,真正实现物联网应用的灵活快速搭建
平台案例
24小时ATM式自助售药机支持用户线下24h到店扫码付款,当场取货;线上平台下单,骑手限时送达。同时提供完备的商户管理后台,可以进行订单管理、货道管理与财务管理
仓库猫用于解决仓库的科学监测、信息化、网络化管理等问题。可以做到防火监测、防盗监测、防水监测、防潮监测、能够帮助企业快速搭建店铺的监测系统,报警系统,云存储系统
OneNET定位为PaaS服务,即在物联网应用和真实设备之间搭建高效、稳定、安全的应用平台
OneNET包括设备接入、设备管理、API,>
物联网开发应用最重要的是各种接口的兼容性。
首先物联网终端设备数量比手机大得多,而且本身没有显示界面,通常只是能够通过特定网络协议回传数据的传感器(直接连入互联网或者通过网关设备),也就是说在物联网大数据汇聚的前端,数据的汇入是自动化进行的,应用开发的重点是后端的汇聚层。
物联网应用后端汇聚层需要有一个智能化软件系统(通常运行于数据中心),来管理物联网设备(包括固件升级等)、网络、处理海量数据,并提供给用户。
在设备层、汇聚层之外,物联网应用还需要一个分析层,负责处理物联网设备产生的大数据。
最后,是最终用户层,负责将有用的数据分析结果以可视化的方式展示到用户的终端设备中,这个层面的开发,可以是移动web网站也可以是一个手机APP。
由于设备层和汇聚层第三方专业产品和服务的完善,实际上今天的物联网应用开发,主要指的是分析层和用户层这两个层面,换而言之,未来物联网开发生态主要建立在成熟的云计算物联网平台上。成熟的物联网平台通常都提供汇聚层需要的大数据存储、实时信息总线以及于前端应用通讯的API。
实际上今天已经有大量面向物联网应用开发的平台,例如Xively、Mnubo、BugLabs和ThingWorx等,这些平台通常能够兼容大量物联网产品厂商的设备。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)