100个物联网开源开发工具和资源

100个物联网开源开发工具和资源,第1张

物联网正以前所未有的速度肆虐。在我们向您介绍物联网(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个物联网开源工具和资源列表。如有更好的,请随时在下面留下您的评论。

主要进行联网系统设计、项目管理、终端节点的安装与调试、系统集成、施工等。例如:物流的运输、仓储、包装、装卸搬运、流通加工、配送、信息服务等各个环节的系统感知与信息采集的设备应用,智能电力中配变监控与故障检测等。

物联网应用技术就业方向

营销、技术施工、软件开发或者硬件开发。要看你在学校主要感兴趣的是什么,如果喜欢专业技术,并且学习的还不错,可以从事技术,技术包括施工、方案设计和产品研发。

1掌握和计算机科学与技术相关的基本理论知识;

2掌握物联网工程的分析和设计的基本方法;

3了解文献检索、资料查询的基本方法,具有一定的科学研究和实际工作能力;

4了解与物联网工程有关的法规;

5能够运用学习知识和外文阅读能力查阅外文资料;

6掌握文献检索、资料查询的基本方法,具有获取信息的能力。

物联网应用技术发展前景

就业方向

信息类企事业单位:物联网设备的生产、应用和维护,嵌入式系统的开发和维护,物联网系统产品销售与推广。

专业衔接

持续本科专业举例:物联网工程;电子信息工程。

硬件编程硬件开的前途好。
硬件开发主要指的是电子产品的硬件开发和设计,主要涉及芯片、主板、电路、显示屏、元器件等开发。随着物联网的普及和应用,硬件开发的领域更加广泛,发展潜力越来越大。
硬件编程大致为:数字逻辑,数字电路、C或者汇编语言、微机原理与接口、编译原理、组成原理等。

物联网工程专业课程主要有信息与通信工程、电子科学技术、计算机科学与技术。物联网概论、通信原理、无线传感器网络、近距无线传输技术、二维条码技术、数据采集与处理、物联网安全技术、物联网组网技术等。

物联网工程主要做什么

物联网工程专业的学生毕业后可以做物联网工程师的工作,主要是负责物联网联接管理平台架构规划及设计,对产品的整体系统架构负责。负责物联网联接管理平台运行设计工作,及主导关键框架代码编写。

物联网工程专业的毕业后可以做软件开发工作,这个方向和计算机比较类似。基本上计算机毕业可以干什么物联网工程专业学的好的也可以去做。

硬件开发也是物联网工程专业毕业后可以做的工作,偏向于硬件的方向的话,毕业之后可以选择去做硬件工程师、嵌入式工程师等等这些工作可能接触单片机、嵌入式开发等等比较多。

物联网工程专业前景

物联网工程的市场庞大,因此就业前景也非常好。毕业生可从事信息传播时代内容方面的深度、综合、跨学科的信息传播工作,同时也能在新闻传播技术方面从事设计、制作等方面的传播技术类工作或者在政府管理部门、科学研究机构、设计院、咨询公司、建筑工程公司、物业及能源管理、建筑节能设备及产品制造生产企业等单位从事建筑节能的研究、设计、施工、运行、监测与管理工作等等。

你好,很高兴回答你这个问题作为一个八年的项目经理。我们主要开发的就是和政府和企业嗯的网站啊,应用程序这一块儿的开发物联网这块儿还没有接触过。

我理解的物联网就是,把这个物和网络连接起来物的话,一般的话像这个一些硬件设备呀,嗯,包括有检测的都会有一些相应的硬件的开发接口。你开发出应用程序来和他的硬件接口相对接,嗯,这样的话实现网络的控制。

钱的话,你看现在嗯,家用电器这样电灯啊,包括咱们的路由器把我小的监测系统监测终端嗯,都算是一个物,就算是一个嗯实际的物体,然后他实际上有吕布嵌套了一些硬件的接口,然后咱们然后把这个接口开发相应的软件和对接起来,就可以实现手机app呀或者电脑程序的一个控制。

「只要有人的地方,就有物联网技术。」我不清楚这句话的出处,我只知道有人的地方就有江湖~哈哈。我想说的是,「物联网技术」这个名词是一个很大很泛的概念,我可以说不存在这种技术,我也可以说这技术实际上就是当今电子、通信、计算机三大领域的基础技术。

我在这问题下的回答「物联网和互联网的区别和联系?」简单阐明了物联网和互联网之间的关系。请问,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程序员的事情;电池技术也需要单方面突破,超小体积、超大容量,这个还得等待多时。

与其说物联网是一种技术吧,不如说它是一个时代,物联网通过对相关技术进行整合,形成一个时代的概念,是一个建立在技术基础之上的时代。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/13273177.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-05
下一篇 2023-07-05

发表评论

登录后才能评论

评论列表(0条)

保存