开发IoT设备必须考虑的四种挑战

物联网是当今科技行业的热门词汇。但它也是一个不可否认的现实。物联网已经引发第四次工业革命,不管我们喜欢还是不喜欢,它将不可避免地成为我们生活的一部分。物联网技术已经逐渐应用于越来越多的行业,而且越来越多的企业都试图在未来的物联网世界占居一席之地。

现在的问题是,很多企业只顾深入研究物联网开发,而忽视评估或了解摆在他们面前的关键挑战。许多这些公司甚至根本没有一点IT行业和软件开发的背景,并且他们中的大多数都专注于提供互联网连接设备,从而让他们面临同样的竞争。即使是那些拥有软件和硬件设计经验者,往往也把物联网轻看为和传统计算技术一样,并在其发展过程中犯下可怕的错误。

一次次的事实证明,这样的做法简直是一个灾难,只会变成为一个个弄巧成拙的目标,并将糟蹋制造商的努力,从而破坏物联网的整体性。本文将提出所有制造商和开发人员在决定进军物联网行业时都应该慎重考虑的四大挑战。

连接性

首先要考虑的是,如何将设备连接到互联网和云计算平台。这在很大程度上要取决于装置使用的环境和提供给它们的通信基础设施的类型。

举例来说,如果你要创建一个智能家居设备(如连网的烤面包机),你可能访问Wi-Fi家庭路由器或一个ZigBee/Z-Wave物联网路由器;所以,您的设备必须能够支持一种或多种传输介质。然而,在一些环境中,如农业物联网或智能汽车——是无法访问Wi-Fi网络的,而移动网络可能是你唯一可能的连接选择。

因此,你必须权衡你的选择,并根据每一种选择所提供的可能性和投资而作出设计决策。例如,由于通过蜂窝网络传输数据到云服务可能是昂贵的,你可能会决定选择功能优先或者使用区块链(blockchain)模式,从而搭建较少依赖于云计算的物联网生态系统。

当然,您还需要考虑到物联网是一种仍处于早期阶段的技术,正在发生很大的变化和改造,存在太多的移动成份和竞争趋势。因此,许多今天正在使用的技术未来很可能成为过时。

另一方面,相对于计算机和智能手机每隔很短的年限就有可能被取代,IoT设备意味着有更长的寿命。例如,智能冰箱必须至少工作5~10年。因此,你必须制订一个计划,以确保您的设备在物联网未来初具规模时能够保持其连接性,并适应新技术取代旧技术。

安全和隐私问题

物联网安全性一直是颇具争论的一个问题。需要考虑的第一个挑战是,物联网的安全性和隐私与我们已经认识到的网络安全有着根本的不同。下面列举出一些你需要考虑的关键的安全设计要点:

l 物理安全:物联网设备通常处于旷野之中,无人值守且无物理保护。你必须确保它们不会被邪恶组织所恶意篡改,不能被黑客攻破,当然更不能使用平头螺丝刀来操作。你还必须保护存储在设备上的任何形式的数据。虽然在每一台物联网设备嵌入安全保护组件需要很高的代价,但是在设备上进行加密数据还是很重要的。

l 数据交换的安全性:因为数据要从IoT传感器和设备传输到网关,并从那里传输到云端;所以,数据保护也是很重要的。这就需要使用加密的传输协议,但是物联网安全性并非仅仅加密这一个方面,还应考虑到认证和授权等问题。

l 云存储的安全性:存储在云端的数据与物联网生态系统的其它部分一样脆弱。你的平台应该能够保护存储在云端的数据,这应当包括适当的加密和访问控制等。

l 更新:不管你如何为安全漏洞而强化您的产品代码和硬件,漏洞最终将浮出水面。在这种情况下,你首先需要有一个计划,以修复错误,并快速推出补丁(而不是让错误存在很长很长的时间)。其次,你需要能够向客户提供一种直观且安全的方式来进行错误修复。时下,以空中激活方式进行更新是一种更新连接设备的流行机制,但你必须确保它们本身不会成为一个安全漏洞。

在隐私方面,应考虑到物联网设备所收集的数据易受法律法规制约。例如,健身追踪器能够收集大量的用户信息,这在美国是受HIPAA(健康保险流通与责任法案)所保护的。这意味着,如果你在云服务器上存储这种类型的信息,你必须确保它符合法律规定。

作为一个经验法则,你最好匿名化客户数据,避免在云端存储个人身份信息。这将确保你不会在发生事故的情况下招致法律惩罚。

灵活性和兼容性问题

随着物联网格局正在不断变化,你要确保你的产品能够支持未来的技术。这需要在设计你的产品时在软件和硬件方面都要进行适当的平衡。

为您的设备创建专门的硬件会给你带来最佳的性能,但也有可能会限制你进行产品的更新。在另一方面,选择适量的存储和计算资源以及专门针对物联网定制的操作系统,如Linux,Brillo或Windows IoT,可能会导致性能下降,但却能使你更灵活地扩展设备,以应用新功能和进行补丁修复。

有些厂家尽可能提供合适的API和SDK,从而允许开发人员为他们的物联网设备增加功能。这方面的一个很好的例子是亚马逊回声器(Amazon Echo),这种物联网小工具可以通过编程来实现在一千个不同的方向加以扩展。

兼容性也是在设计IoT产品时需要关注的问题。你的物联网设备能够与用户的物联网生态系统无缝地融合在一起,而无需给已有的体验增加复杂性甚至带来挫折。这要从软件和硬件两个方面进行考虑。最理想的情况是,消费者不应该被强迫因他们在家中添置一台新智能设备而安装新的应用程序。苹果HomeKit和三星SmartThings就是这样的两个平台的例子,它们都支持开发人员能够在用户熟悉的环境中为用户提供新的物联网功能。

数据采集与处理

除了安全和隐私问题以外,你还必须规划好如何处理所有收集到的数据。首先,你必须对制作和收集的数据量进行评估,以便控制您的云存储的规模,从而满足你的平台需求。

但是,比这更重要的是你如何处理收集的数据。物联网的数据贵如黄金;但如果它静躺在你的服务器中,则根本不是这么回事。因此,你必须预测出能够把你的数据很好地利用所需的技能和工具;这包括聘用数据科学家以及采用恰当的分析和机器学习工具对收集的数据进一步提炼出可操作的洞察性信息等。

物联网的数据可以完成多种实用功能,具体包括以下一些方面:

补充现有数据:大多数企业在他们迁移到物联网业务之前已经具备了关于他们客户的海量的数据。把该数据与物联网设备收集的内容结合到一起就可以带来新的业务洞察力并提高收入机会。

分析和细分用户:从物联网设备收集的数据还可以告诉你很多关于客户的喜好和特点。分析和分类物联网数据可以帮助企业更好地了解客户的需求和喜好,进而以一种更聪明的方式解决这些问题。

找到提升产品的机会:对物联网数据的正确分析可以有助于理解产品中不应加入哪些功能,以及需要纠正哪些功能来提高利用产品效率和易用性,还助于知晓现有产品缺乏什么功能,从而了解应该把它们加入到未来的产品中并进行软件更新。

小结

总之,在参与制定物联网的产品中存在很多的挑战;本文中已经列出一些最为突出的方面。不考虑这些挑战犹如进入一个黑暗的隧道而不携带手电一样;在这种情况下,你不得不用手摸索着前进并提心吊胆地希望自己千万不要踏入陷阱中。事实上,物联网开发所面临的一系列挑战有可能更加复杂并具有综合性。如果你觉得还有其他方面需要纳入物联网开发挑战列表中,希望您能够与我们分享。

原文发布时间为: 2016年9月28日

时间: 2024-08-30 17:05:23

开发IoT设备必须考虑的四种挑战的相关文章

Android开发之基本控件和四种布局方式详解_Android

Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方式Android和iOS还是区别挺大的,在iOS中有Frame绝对布局和AutoLayout相对布局.而在Android中的布局方式就比较丰富了,今天博客中会介绍四种常用的布局方式.先总结一下控件,然后再搞一搞基本方式,开发环境还是用的Mac下的Android Studio.开始今天的正题, 虽然A

Android开发之基本控件和四种布局方式详解

Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方式Android和iOS还是区别挺大的,在iOS中有Frame绝对布局和AutoLayout相对布局.而在Android中的布局方式就比较丰富了,今天博客中会介绍四种常用的布局方式.先总结一下控件,然后再搞一搞基本方式,开发环境还是用的Mac下的Android Studio.开始今天的正题, 虽然A

iPhone移动设备上平台上的四种SEO软件介绍

1:SEO统计   SEO统计是很好的应用工具并且它是免费的.这个软件特别是在检测你的站点的排名是特别的好用.不仅可以查你的网站的排名,还可以查看你在雅虎上的反链,甚至教育中心或者政府的反链.如果你想查看你在维基百科上有多少百科链接或者检查你在compete.com上的排名这也是一个非常有用的工具. 2:分析代理程序   这个程序有两种不同的版本.你可以下载Lite版的或者专业版的.专业版的需要花费你2.99美元.但是它是值得的.因为这个软件不仅能够检查你的谷歌Analysis(分析),而且你的

十四种Java开发工具点评

在计算机开发语言的历史中,从来没有哪种语言象Java那样受到如此众多厂商的支持,有如此多的开发工具,Java菜鸟们如初入大观园的刘姥姥,看花了眼,不知该何种选择.的确,这些工具各有所长,都没有绝对完美的,就算是老鸟也很难做出选择.在本文中我简要介绍了常见的十四种Java开发工具的特点,管中窥"器",希望能对大家有所帮助. 1.JDK (Java Development Kit) 2.Java Workshop 3.NetBeans 与Sun Java Studio 5 4.Borlan

Win10 IoT C#开发 5 - 操作 IoT 设备内嵌 SQLite 数据库 CURD

原文:Win10 IoT C#开发 5 - 操作 IoT 设备内嵌 SQLite 数据库 CURD Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. 前几章我们讲了 Raspberry 安装 Win10 IoT 系统及搭建开发环境.部署程序及操作 GPIO 和 UART 的方法,通过这些功能我们已经可以获得到传感器发送给我们的数据,但是如果数据不能及时推送

数据中心里常用的四种交换机设备介绍

随着数据中心带宽越来越高,传统的网线和电缆连接速率已经满足不了需求.现在,在数据中心里已经很难寻觅到网线踪影,光纤成为数据中心唯一的互连方式.光纤互连不仅传输距离长,转发速率也可以达到40G/100G的高速带宽,这些都是网线所不具备的.采用光纤互连的网络要转发以太报文,就要采用光交换技术.光交换技术也是一种光纤通信技术,是指不经过任何光/电转换,在光域里直接将输入光信号交换到不同的输出端,光交换无需在光纤传输线路和交换机之间设置光端机进行光/电和电/光变换.在交换过程中,能充分发挥光信号的高速特

[JAVA]十四种Java开发工具点评_JSP编程

  在计算机开发语言的历史中,从来没有哪种语言象Java那样受到如此众多厂商的支持,有如此多的开发工具,Java菜鸟们如初入大观园的刘姥姥,看花了眼,不知该何种选择.的确,这些工具各有所长,都没有绝对完美的,就算是老鸟也很难做出选择.在本文中我简要介绍了常见的十四种Java开发工具的特点,管中窥"器",希望能对大家有所帮助. 1.JDK (Java Development Kit) 2.Java Workshop 3.NetBeans 与Sun Java Studio 5 4.Borl

【IOS-COCOS2D游戏开发之十九】游戏数据存储的四种常用方式NSKEYEDARCHIVER/NSUSERDEFAULTS/WRITE写入/SQLITE3

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2d/513.html OK,今天Himi介绍游戏存储这一块,在Android游戏开发中Himi介绍了好几种保存的方式和形式,那么在iOS中也有几种方式,一般常用的有以下四种形式:   1.  NSKeyedArchiver(加密形式)        2.  NSUserDefaults        3.  Writ

比较IOS开发中常用视图的四种切换方式_IOS

在iOS开发中,比较常用的切换视图的方式主要有以下几种: 1. push.pop 使用举例(ViewController假设为需要跳转的控制器): [self.navigationController pushViewController:ViewController animated:YES]; //入栈,跳转到指定控制器视图 [self.navigationController popViewControllerAnimated:YES]; //弹栈,返回到前一个视图 [self.navig