物联网正以前所未有的速度肆虐。在我们向您介绍物联网(IoT)开源开发工具之前,您还应该先了解其他一些内容。随着IT部门对Gartner和思科等公司的预测所产生的炒作进行了大肆宣传,声称到2020年底,物联网将连接超过500亿台设备,突然间每个人都想成为物联网的一部分。嗯,难怪你也期待成为一个价值19万亿美元的行业的一部分。
物联网开源开发工具普及的原因是用户社区。该社区希望拥有利用消费者技术设备的开放市场,而不是由单一供应商主导。开源的另一个原因是提供一个生态系统,其中开发的 物联网设备和应用程序 可以无需麻烦和许多努力进行集成。最后开源意味着您的设备或应用程序可以支持众多供应商,因为您不会为任何特定供应商开发代码。
物联网(IoT)开源开发工具大多是由早期在物联网领域开发的开源社区开发的。您可以比以前更快地部署使用这些工具的 IoT应用程序 。如果您 开始构建您的第一个物联网应用程序, 那么这个开源工具指南专门为您服务。
在这里,我们列出了100个最广泛使用和可靠的 开源工具,用于开发物联网应用程序 。我已尽力包括物联网硬件平台,开发工具,软件,集成工具, *** 作系统和监控工具。
现在所有上面列出的开发工具都非常用户友好,但在您选择这些工具之前,我们建议您在此处查看完整的配置文件
开发任何物联网应用程序最重要的部分是选择合适的硬件平台。开始使用像Arduino Yun这样的简单平台来升级到UDOO,这完全取决于应用程序的资源需求。以下是可供选择的 最佳物联网硬件平台
我们建议您在从以下列出的任何软件中做出选择之前, 如何选择家庭自动化系统。
43 Eclipse SmartHome
44 Home Gateway Initiative (HGI)( Home Automation)
45 Ninja Blocks
46 openHAB
47 PrivateEyePi
48 RaZberry
49 The Thing System
许多首次使用 物联网的应用程序开发人员都 低估了选择正确的中间件的重要性。中间件是一种能够在所有不同组件之间实现顺畅通信的机制。
简单来说,“中间件”便于“互联网”和“物联网”之间的通信。
根据您的需要从以下选择正确的中间件:
选择合适的硬件平台后,就可以为您的应用选择合适的物联网 *** 作系统了。选择应基于应用程序级别,API要求和硬件需求。以下是可供选择的 顶级物联网 *** 作系统 。
物联网开源工具列表中的下一个是将有兴趣选择的集成平台。下面列出了一些目前可用的最佳物联网集成工具。
最后,您正处于为物联网应用选择正确的通信平台的阶段。以下是建议:
物联网开源资源
最后,如果您需要任何专门资源的参考,您可能想看看下面列出的那些。
我已尽最大努力找到这100个物联网开源工具和资源列表。如有更好的,请随时在下面留下您的评论。
我们公司就是可以开发的,如果你们公司内部没有这样的技术,团队,可以考虑找软件公司开发,这样也省去了你们学习和犯错的时间,给有技术的软件公司开发相对来说,比你们自己开发的优势还是有很多的。
估计没有人可以给你说很全面。物联网项目开发根本不是说学学啥技术都会开发的,只能说开发其中哪一个点。比如物联网最基础的硬件、通信、语言、数学……即便是行业内的人基本上也都是做其中一个点。我感觉搞物联网的人啥都会一样,电子人物联网有很多牛逼的开发工程师,跟他们混了段时间,感觉要学的太多了,比如:
物联网产业与技术导论:全面了解物联网之RFID、M2M、传感网、两化融合等技术与应用。
C语言程序设计:物联网涉及底层编程,C语言为必修课,同时需要了解OSGi,OPC,Silverlight等技术标准。
单片机原理及应用:物联网的底层单片机及其相关应用技术,包括控制、多媒体等。
Java程序设计:物联网应用层,服务器端集成技术,开放Java技术也是必修课,同时需要了解Eclipse,SWT, Flash, HTML5,SaaS等技术使用 。
物联网工程概论:全面了解物联网基本知识、技术体系以及相关理论,对物联网的关键技术,如EPC和RFID技术、传感器技术、无线传感器网络技术、M2M技术等。同时应对与物联网密切相关的云计算、智能技术、安全技术也进行论述。
无线传感网络概论:学习各种无线RF通讯技术与标准,Zigbee, 蓝牙,WiFi,GPRS,CDMA,3G, 4G, 5G等等。
TCP/IP网络与协议:TCP/IP以及OSI网络分层协议标准是所有有线和无线网络协议的基础,Socket编程技术也是基础技能。
嵌入式系统技术:嵌入式系统是物联网感知层和通讯层重要技术。
传感器技术概论:物联网专业学生需要对传感器技术与发展,尤其是在应用中如何选用有所了解,但不一定需要了解传感器的设计与生产,对相关的材料科学,生物技术等有深入了解。
RFID技术概论:RFID作为物联网主要技术之一,需要了解。
工业信息化及现场总线技术:工业信息化也是物联网主要应用领域,需要了解。
物联网软件、标准、与中间件技术:物联网产业发展的关键在于应用,软件是灵魂,中间件是产业化的基石,需要学习和了解。
先淘宝买块物联网开发板,学会传感器信号的采集,然后学会远程数据的通信,如TCPIP,wifi通信等,那么就可以远程来控制和收集信息,也可以用PD05系列超高频手持机和RFID电子铅封-TG07系列来搭建,希望对您能够有用。
如今物联网是一个很热门的词汇,人们将之比喻为地球表面的“人造皮肤”。每个人对物联网的理解并不完全一样。其实这也难怪,毕竟物联网超大的涵盖面以及超长的产业链给了我们巨大的想象空间。在这个产业链上每个环节的企业都能从自己的立场去诠释物联网。不过,目前业界比较统一的观点是,认为物联网基本上具备三个条件:第一个是全面感知,就是让物品会“说话”,将物品信息进行识别、采集。第二个是可靠传递,就是通过现有的2G、3G以及未来4G通信网络将信息进行可靠传输。第三个是智能处理,通过后台的庞大系统来进行智能分析和管理。
如果说传感技术和通信技术满足了前两个条件,那么第三个条件则必须通过软件技术去实现。中国科学院微电子研究所所长叶甜春告诉记者,目前中国信息网络与传输基础较好,但是在传感器和芯片制造、集成、预处理等方面还很薄弱,同时海量信息处理的软件技术也很薄弱。
软件技术支撑数据采集RFID中间件待突破
物联网可以划分成三个层面:物联网感知层、物联网网络层和物联网应用层。第一层即感知层至关重要,物体的感知和数据的采集就是靠这一层。说到数据采集就不得不提到RFID(射频识别),SAPBusinessObjects中国区首席顾问鲁百年向《中国电子报》表示,对于RFID,一方面硬件厂商可以自己研发出相应软件,比如在硬件里面封装一些软件;另一方面,软件厂商本身也可以提供射频技术。“在未来的物联网里面,除了软件起很大作用以外,硬件和软件必须充分结合起来,包括射频识别技术。因此,整个市场应该是非常大的。”鲁百年说道。
据了解,目前我国已经在高频应用领域占据了世界第一的位置,形成了从芯片设计、制造、封装和读写机具设计、制造到应用的成熟的产业链。而在国际上重点发展的超高频领域,我国的研究与应用也加紧了追赶的步伐。但是,目前我国RFID企业技术研发水平还比较薄弱。“由于进入RFID领域的企业基本都是中小型的企业,本身资金实力就比较薄弱,再加上要维持企业的运营,无法拿出大量资金投入到技术研发当中,这大大限制了企业的技术创新能力。”中国RFID产业联盟秘书长欧阳宇向《中国电子报》记者表示。
据了解,在RFID软件设计方面,许多国内企业都有能力设计目前应用较普遍的闭环式RFID系统软件。而在RFID中间件领域,IBM、BEA等企业的技术优势十分明显,目前中国还没有可以在技术实力上与之抗衡的企业。
不过,RFID中间件技术的重要性却是不容忽视的。“谁掌握了中间件技术,谁就有可能具备核心竞争力,谁就能快速、低成本地满足差异化的产品需求。这也是克服孤岛式闭环应用的关键。”成都九洲电子信息系统有限责任公司副总设计师杨运平向《中国电子报》记者表示
物联网和5G都是最近很热门的话题。随着5G的推广,万物互联的时代也越来越近了。
物联网归根到底依赖于嵌入式开发的支撑。其实嵌入式这个概念非常的广,几乎可以包括各行各业,从工作类型最常见的是分为嵌入式硬件工程师和嵌入式软件工程师。
就岗位需求量而言,嵌入式开发的岗位需要肯定要随着物联网的普及有一定的增长。
就岗位工资待遇而言,虽然这与企业所处的地域、行业、企业的性质和人员的工作岗位有关,但总体而言,这个岗位的开发人员在所有行业内工资待遇还是比较靠前的,和普通互联网行业开发人员工资较为接近。
不过嵌入式行业入门有一定的门槛,需要一定的技术和经验积累,才能基本胜任嵌入式开发的工作。
「只要有人的地方,就有物联网技术。」我不清楚这句话的出处,我只知道有人的地方就有江湖~哈哈。我想说的是,「物联网技术」这个名词是一个很大很泛的概念,我可以说不存在这种技术,我也可以说这技术实际上就是当今电子、通信、计算机三大领域的基础技术。
我在这问题下的回答「物联网和互联网的区别和联系?」简单阐明了物联网和互联网之间的关系。请问,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程序员的事情;电池技术也需要单方面突破,超小体积、超大容量,这个还得等待多时。
与其说物联网是一种技术吧,不如说它是一个时代,物联网通过对相关技术进行整合,形成一个时代的概念,是一个建立在技术基础之上的时代。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)