智慧交通、环境保护、政府工作、公共安全、平安家居、智能消防、工业监测、环境监测、老人护理、个人健康、花卉栽培、水系监测、食品溯源、敌情侦查和情报搜集等多个领域。
硬件设计师、嵌入式固件开发人员、无线通讯专家 、后端开发人员 、前端开发人员 、应用开发人员 、自动化与系统集成工程师 、数据科学家等。
硬件设计师:大多数物联网项目都涉及某种形式的定制硬件设计。硬件的复杂度因项目而异。在某些情况下,使用硬件模块和参考设计,基础知识和电气工程知识就足够了。而有些更复杂的项目则需要更多的经验和专业知识。
常见的技术有印刷电路板(PCB)设计、无线电频率与天线设计、时钟,信号路由相关的经验、低功耗设计和功耗优化等。
嵌入式固件开发人员:让硬件发挥作用,你就需要嵌入式开发人员。他们是从事最底层、最接近裸机硬件的软件开发人员。这样的软件称为固件(介于软件和硬件之间的固件)。一般这些开发人员的背景结合了电气工程、计算机体系结构和软件开发。嵌入式开发人员的工作需要与最终硬件的原型版本打交道,因此通常他们的办公桌看起来都很凌乱。
常见的技术有编程语言(C、汇编语言、C++)、实时 *** 作系统(RTOS)经验(FreeRTOS、Contiki、Zephyr)、嵌入式Linux、源代码版本控制、物理和信息安全等。
1、改变开发物联网解决方案的方法IDC预测,到 2020年,全世界范围内的物联网市场将达到17万亿美元。不过,虽然物联网市场在疯狂增长,物联网开发者的数量却增长缓慢。事实上,一份由VisionMobile主导的研究表明,到2020年,物联网开发者的需求量将达到4500万。鉴于物联网解决方案的复杂性,物联网开发者需要掌握多样技能,以精通各种不同的组件和物联网解决方案开发的各个方面也就不足为奇了。
为了在获得投资收益的同时可以利用物联网创造价值,各企业不得不改变我们开发物联网解决方案的方法,以使这个过程不仅更容易,而且要更快速且有效。通过提供使所有开发物联网解决方案相关组件和工具互联的技术, 物联网平台可以解决这种困局。
2、利用物联网生态系统而非包办一切
除了物联网平台外,为了开发一个物联网解决方案,企业还不得不寻找其他组件(比如兼容硬件、扩展、适合第三方的集成、应用程序,等等)。与其筋疲力尽地去尝试构建所有这些内部组件,企业不如把注意力转向生态系统,这些要求生态系统都能够满足。看一看智能手机产业以及其在应用程序开发方面的巨大成就,就能很清楚地知道整个生态系统的共同努力会有什么样的影响力了。
利用生态系统及其现有的产品不仅能实现更高效率,而且会使生态系统中的每一个合作伙伴都能集中精力做到最好,这样最终我们将获得高质量的物联网解决方案。
3、开发满足未来需求的物联网解决方案
随着企业渐渐地将其业务整合到物联网,物联网解决方案的范围和要求也会定期地发生改变。能否有效地逐渐形成一个物联网解决方案,以及这些一直在变化的要求将最终定义解决方案在未来的有效性及价值。因此,选择在任何时候都能够容易地整合第三方系统和产品,并且能够利用其他组件实现扩展功能的物联网技术将不仅能满足企业目前的需求,还能满足未来项目的规模需求。
最后,要确保生态系统的合作伙伴和开发者(他们提供配套技术及开箱即用的功能)支持您选择的物联网技术,因为这样在长期来看会节省您的资源。
4、找到与您的方案完美整合的兼容技术
在开发您的物联网解决方案的过程中,最后您会不得不决定将哪种技术整合到您的解决方案中。这时您立即会想到的决定性因素是成本和功能,您可能还会考虑您打算使用的这些技术是否在物联网平台上进行了测试。
您应该想到要检验一下物联网平台的提供商是否提供了兼容和已测试技术清单,或者能够实现设备容易整合的预构建软件组件。通过这种方法您将节约很多资源,这些节约的资源无疑将是任何潜在节约成本的一部分。而这些仅仅通过基于技术价格做出的决定您可能就已经实现了。
5、促进协同以创造物联网价值
由于生态系统会提供您的解决方案所需的许多组件,所以生态系统在有效开发物联网解决方案中扮演着重要的角色。能否容易地利用生态系统将对您的开发过程产生直接的影响。物联网线上市场允许用户和物联网技术供应商通过简单且有效的途径进行合作并分享资源,这将使双方能够快速地得到结果。此外,通过合作创造价值以及分享预构建组件将使各行业更快地接受物联网。
6、在做任何购买决定前测试物联网技术
通常,在采用物联网技术时,用户在市场中没有多少机会获得任何使用物联网技术的经验。在作出任何购买决定前,您应该试着真正体验一下您打算购买的物联网技术。一些技术供应商会提供开发者论坛,在那里新手和有经验的用户都可以找到指导教程以了解技术的方方面面。
<p>内核的特点
内核尺寸伸缩性强,能够适应不同配置的硬件平台。比如,一个极端的情况下,内核尺寸必须维持在10K以内,以支撑内存和CPU性能都很受限的传感器,这时候内核具备基本的任务调度和通信功能即可。在另外一个极端的情况下,内核必须具备完善的线程调度、内存管理、本地存储、复杂的网络协议、图形用户界面等功能,以满足高配置的智能物联网终端的要求。这时候的内核尺寸,不可避免的会大大增加,可以达到几百K,甚至M级。这种内核尺寸的伸缩性,可以通过两个层面的措施来实现:重新编译和二进制模块选择加载。重新编译措施很简单,只需要根据不同的应用目标,选择所需的功能模块,然后对内核进行重新编译即可。这个措施应用于内核定制非常深入的情况下,比如要求内核的尺寸达到10K以下的场合。而二进制模块选择加载,则用在对内核定制不是很深入的情况。这时候维持一个 *** 作系统配置文件,文件里列举了 *** 作系统需要加载的所有二进制模块。在内核初始化完成后,会根据配置文件,加载所需的二进制模块。这需要终端设备要有外部存储器(比如硬盘、Flash等),以存储要加载的二进制模块;
内核的实时性必须足够强,以满足关键应用的需要。大多数的物联网设备,要求 *** 作系统内核要具备实时性,因为很多的关键性动作,必须在有限的时间内完成,否则将失去意义。内核的实时性包涵很多层面的意思,首先是中断响应的实时性,一旦外部中断发生, *** 作系统必须在足够短的时间内响应中断并做出处理。其次是线程或任务调度的实时性,一旦任务或线程所需的资源或进一步运行的条件准备就绪,必须能够马上得到调度。显然,基于非抢占式调度方式的内核很难满足这些实时性要求;
内核架构可扩展性强。物联网 *** 作系统的内核,应该设计成一个框架,这个框架定义了一些接口和规范,只要遵循这些接口和规范,就可以很容易的在 *** 作系统内核上增加新的功能的新的硬件支持。因为物联网的应用环境具备广谱特性,要求 *** 作系统必须能够扩展以适应新的应用环境。内核应该有一个基于总线或树结构的设备管理机制,可以动态加载设备驱动程序或其它核心模块。同时内核应该具备外部二进制模块或应用程序的动态加载功能,这些应用程序存储在外部介质上,这样就无需修改内核,只需要开发新的应用程序,就可满足特定的行业需求;
内核应足够安全和可靠。可靠性就不用说了,物联网应用环境具备自动化程度高、人为干预少的特点,这要求内核必须足够可靠,以支撑长时间的独立运行。安全对物联网来说更加关键,甚至关系到国家命脉。比如一个不安全的内核被应用到国家电网控制当中,一旦被外部侵入,造成的影响将无法估量。为了加强安全性,内核应支持内存保护(VMM等机制)、异常管理等机制,以在必要时隔离错误的代码。另外一个安全策略,就是不开放源代码,或者不开放关键部分的内核源代码。不公开源代码只是一种安全策略,并不代表不能免费适用内核;
节能省电,以支持足够的电源续航能力。 *** 作系统内核应该在CPU空闲的时候,降低CPU运行频率,或干脆关闭CPU。对于周边设备,也应该实时判断其运行状态,一旦进入空闲状态,则切换到省电模式。同时, *** 作系统内核应最大程度的降低中断发生频率,比如在不影响实时性的情况下,把系统的时钟频率调到最低,以最大可能的节约电源。
外围模块的特点
外围模块指为了适应物联网的应用特点, *** 作系统应该具备的一些功能特征,比如远程维护和升级等。同时也指为了扩展物联网 *** 作系统内核的功能范围,而开发的一些功能模块,比如文件系统、网络协议栈等。物联网 *** 作系统的外围模块(或外围功能)应该至少具备下列这些:
支持 *** 作系统核心、设备驱动程序或应用程序等的远程升级。远程升级是物联网 *** 作系统的最基本特征,这个特性可大大降低维护成本。远程升级完成后,原有的设备配置和数据能够得以继续使用。即使在升级失败的情况下, *** 作系统也应该能够恢复原有的运行状态。远程升级和维护是支持物联网 *** 作系统大规模部署的主要措施之一;
支持常用的文件系统和外部存储,比如支持FAT32/NTFS/DCFS等文件系统,支持硬盘、USB stick、Flash、ROM等常用存储设备。在网络连接中断的情况下,外部存储功能会发挥重要作用。比如可以临时存储采集到的数据,再网络恢复后再上传到数据中心。但文件系统和存储驱动的代码,要与 *** 作系统核心代码有效分离,能够做到非常容易的裁剪;
支持远程配置、远程诊断、远程管理等维护功能。这里不仅仅包涵常见的远程 *** 作特性,比如远程修改设备参数、远程查看运行信息等。还应该包涵更深层面的远程 *** 作,比如可以远程查看 *** 作系统内核的状态,远程调试线程或任务,异常时的远程dump内核状态等功能。这些功能不仅仅需要外围应用的支持,更需要内核的天然支持;
支持完善的网络功能。物联网 *** 作系统必须支持完善的TCP/IP协议栈,包括对IPv4和IPv6的同时支持。这个协议栈要具备灵活的伸缩性,以适应裁剪需要。比如可以通过裁剪,使得协议栈只支持IP/UDP等协议功能,以降低代码尺寸。同时也支持丰富的IP协议族,比如Telnet/FTP/IPSec/SCTP等协议,以适用智能终端和高安全可靠的应用场合;
对物联网常用的无线通信功能要内置支持。比如支持GPRS/3G/HSPA/4G等公共网络的无线通信功能,同时要支持Zigbee/NFC/RFID等近场通信功能,支持WLAN/Ethernet等桌面网络接口功能。这些不同的协议之间,要能够相互转换,能够把从一种协议获取到的数据报文,转换成为另外一种协议的报文发送出去。除此之外,还应支持短信息的接收和发送、语音通信、视频通信等功能;
内置支持XML文件解析功能。物联网时代,不同行业之间,甚至相同行业的不同领域之间,会存在严重的信息共享壁垒。而XML格式的数据共享可以打破这个壁垒,因此XML标准在物联网领域会得到更广泛的应用。物联网 *** 作系统要内置对XML解析的支持,所有 *** 作系统的配置数据,统一用XML格式进行存储。同时也可对行业自行定义的XML格式进行解析,以完成行业转换功能;
支持完善的GUI功能。图形用户界面一般应用于物联网的智能终端中,完成用户和设备的交互。GUI应该定义一个完整的框架,以方便图形功能的扩展。同时应该实现常用的用户界面元素,比如文本框、按钮、列表等。另外,GUI模块应该与 *** 作系统核心分离,最好支持二进制的动态加载功能,即 *** 作系统核心根据应用程序需要,动态加载或卸载GUI模块。GUI模块的效率要足够高,从用户输入确认,到具体的动作开始执行之间的时间(可以叫做click-launch时间)要足够短,不能出现用户点击了确定、但任务的执行却等待很长时间的情况;
支持从外部存储介质中动态加载应用程序。物联网 *** 作系统应提供一组API,供不同应用程序调用,而且这一组API应该根据 *** 作系统所加载的外围模块实时变化。比如在加载了GUI模块的情况下,需要提供GUI *** 作的系统调用,但是在没有GUI模块的情况下,就不应该提供GUI功能调用。同时 *** 作系统、GUI等外围模块、应用程序模块应该二进制分离, *** 作系统能够动态的从外部存储介质上按需加载应用程序。这样的一种结构,就使得整个 *** 作系统具备强大的扩展能力。 *** 作系统内核和外围模块(GUI、网络等)提供基础支持,而各种各样的行业应用,通过应用程序来实现。最后在软件发布的时候,只发布 *** 作系统内核、所需的外围模块、应用程序模块即可。
集成开发环境的特点
集成开发环境是构筑行业应用的关键工具,物联网 *** 作系统必须提供方便灵活的开发工具,以开发出适合行业应用的应用程序。开发环境必须足够成熟并得到广泛适用,以降低应用程序的上市时间(GTMT)。集成开发环境必须具备如下特点:物联网 *** 作系统要提供丰富灵活的API,供程序员调用,这组API应该能够支持多种语言,比如既支持C/C++,也支持Java、Basic等程序设计语言;最好充分利用已有的集成开发环境。比如可以利用Eclipse、Visual Studio等集成开发环境,这些集成开发工具具备广泛的应用基础,可以在Internet上直接获得良好的技术支持;除配套的集成开发环境外,还应定义和实现一种紧凑的应用程序格式(类似Windows的PE格式),以适用物联网的特殊需要。通过对集成开发环境进行定制,使得集成开发环境生成的代码,可以遵循这种格式;要提供一组工具,方便应用程序的开发和调试。比如提供应用程序下载工具、远程调试工具等,支撑整个开发过程。
可以看出,上述物联网 *** 作系统内核、外围模块、应用开发环境等,都是支撑平台,支撑更上一层的行业应用。行业应用才是最终产生生产力的软件,但是物联网 *** 作系统是行业应用得以茁壮生长和长期有效生存的基础,只有具备了强大灵活的物联网 *** 作系统,物联网这棵大树才能结出丰硕的果实。
因为本人是这个专业的学生,所以我想和大家分享一下自己对于本专业的一些看法。
首先这个专业是一个不错的专业,现在物联网正在逐渐的发展,所以这个专业可能是将来的热门专业,潜力很大的。这个专业在大学期间学习课课程有物联网工程导论、嵌入式系统与单片机、无线传感器网络与RFID技术、物联网技术及应用、云计算与物联网、物联网安全等等。
我认为这个专业比较适合理科生进行学习,这个专业涉及一些绘图之类的,这个专业在将来的竞争一定很激烈,但是前提是要将其学好,这样才能步入社会中,更有竞争力。
物联网应用技术专业在将来毕业后可以从事,互联网企业和it企业中工作在物联网系统,售前售后等的支持服务,从事物联网系统的管理和维护工作,随着物联网在城市交通,电网工业的发展。
我相信物联网人才都将来是国家需要的人才,所以这个专业是一个不错的专业,值得大家选择。物联网也是现在的发展趋势,所以选择这个专业没错的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)