设计团队可以在下一代嵌入式系统中利用最新的移动设备和云计算技术。移动运算不是一个新的概念。从最早的手持式计算器到Osborne 1便携式电脑,移动数据,移动运算和移动通讯花了近40年的时间来从概念变为了现实。
在过去的四年中,科技与创新的完美结合已经将智能手机从一个商业的工具变为一台功能完善易用的的移动电脑。不仅如此,移动软件(网络及本地)组成的工程生态系统能够带来更多的扩展并提高手机的通用功能。最近崛起的平板电脑拥有更加复杂和混乱的行业前景。在这个行业,目前还没有任何一个赢家,各种变化突起,移动运算领域还远远没有达到类似PC的“Wintel-like”式(Windows+Intel)的通用架构。
随着这些挑战的出现,嵌入式控制和监测系统设计的工程师有机会为其提供更多新的功能。不需要任何额外的硬件成本,你就可以为用户提供一个专门的,可以在任何地方操作并且具有易于使用的良好用户界面的应用。这篇文章讨论了一些发展的趋势,和一些你在将自己的嵌入式系统向移动设备扩展过程中对平台选择的重要性。
技术发展趋势和市场份额
移动设备市场的部分分布在短时期内是不会消失的。所以我们仅仅来看智能手机市场的分布,从2009年第一季度开始,不同操作系统所占据的市场份额变化非常剧烈。
目前,Android和iOS已经占据了绝大多数的市场份额,黑莓OS,塞班和Windows Mobile的市场份额并不理想。平板电脑市场的份额更加反复无常,iOS仍然保持着强势的市场占有率,其它几个大的供应商包括Google,Microsoft,RIM和HP正在展开一场新一轮的较量。
最后,通过目前为止能够得到的所有信息,可供选择的似乎就是其中一至两个占主导地位的平台。对于这样一个不成熟的市场来说,预测未来两年的市场全景几乎都是不可能的。不可预知的干扰力量可能随时出现而改变整场游戏。要知道绝大多数嵌入式测量控制系统都有一个五年的生命周期,你最需要做的就是尽量使用周期短,可重复开发,灵活的设计周期,并随时关注市场,及时对出现的状况作出改进。
云计算
在无处不在的网络以外,在移动科技领域的另一个主要的技术就是云计算。针对嵌入式的测量和控制工程应用来说,云计算大致可以提供以下几种优势:
(1)数据的聚合:如果您的系统的各个子系统之间的距离在数千米之外,你可能要考虑云数据存储。例如,如果您正在监视拥有数百个涡轮机的风电场的每个齿轮箱的情况,收集数据的工作就会变得非常昂贵和繁琐。随着云存储,这种系统可以存储在一个公共位置的数据,使您可以轻松地收集,分析,比较。
(2)获取数据:某些情况下,您正在设计的嵌入式控制监测系统很难通过直接接触获得数据。例如,如果你正在监控一条位于遥远的阿拉斯加的管道的健康状况,理想情况下,你不希望派出技术人员到现场去记录这些信息并检查系统的情况。如果数据是存储在云端存储中的,你可以在任何地方获取它,包括连入网络的PC和移动设备。
(3)减轻运算负担:云计算提供了几乎无限的运算资源,所以,单一的终端就可以从需要庞大运算量的软件中解放出来。这些可以是复杂的图像或信号处理,甚至程序的编译和开发。例如,最近NI推出了NI LabVIEW FPGA云编译服务,您可以把单台PC从工作中解放出来,并行完成现场可编程门阵列(FPGA)的汇编。
许多公司都有提供云存储和云服务。绝大多数收取小许安装费用,按需求进行安装,所以你的存储花费将与你使用的空间大小成正比。NI也提供了技术数据云终端,可以专门用来存储和获取系统测量数据。
嵌入式系统安全
不幸的是,允许远程控制的嵌入式系统必然会引入一些附加的风险。最严重的就是系统的安全问题。“足够安全”这个形容词在这种时候就可能代表很多意思。安全,从本质上来说,是需要折衷的,越是安全的系统越是需要花费更多的时间和金钱,并会损失一定的简便性。所以,为避免危险和故障的风险,我们有必须对每一个应用进行安全方面问题的评估。
对嵌入式监测和控制系统来说,你可以将安全测量划分为四个层次:应用层,操作系统层,网络层和物理层。对每一个层次来说都有必须实施一些安全保护措施。
目前已经有一些针对嵌入式系统的最佳安全实践,可以应对基本的需求。此外,针对一些高级的需求也有相应的方案。下面表格中提到的一些方法可以保护您的操作系统和网络安全。
(1)基本
. 禁用任何可能造成开通端口的服务(如:FFT)
. 启动对所有网络服务的SSL支持
. 为你的操作系统安装所有的安全升级和补丁
. 安装安全反病毒和防火墙软件
(2)高级
. 更改所有系统默认的网络端口
. 建立允许VPN的防火墙
. 启用第三方应用白名单功能
. 对所有内部和外部的通讯信号进行加密
多平台支持
新技术的不断涌现使用对多平台的支持成为了一个合理的选择。在每一个跨平台的应用中,都会有一些常见的缺点,也会有一些需要考虑的方面。
(1)跨平台的用户体验
当我们只看Android和iOS的时候,每一个平台在用户体验模式和惯例方面都略有不同。一些Android用户觉得习以为常的体验对iOS用户来说 可能会非常不习惯。这会对跨平台的系统开发造成一定的障碍。因为你必须避免这些在两个主要操作平台上不同的操作,下面是一些示例:
. 很多Android开发者会避免使用全局导航标签栏,但这样的布局常在iPhone中出现。
. 一些iOS的元素对于Android的硬件按钮来说显得冗余。例如后退和确定键,同时也包括早顶端的搜索按钮。大多数用户还可以继续使用,但是他们很快会发现奇怪的地方,这样就会让人对该应用的感觉有负面的影响。
. 一些iOS元素需要用Android的其他使用方式来取代。一个最好的例子就是详细信息指示器按钮(Detail Disclosure button)在Android系统的概念中根本不存在。
(2)HTML5
已经有一些应用被设计来作为一个平台至另一个平台接口。但支持多种不同平台最有效的方法是以HTML5为基础设计一个网络应用程序。该技术已经成为了在移动设备浏览器中显示动态内容的首选技术。甚至连Adobe最近也将他们的商业战略目标从移动Flash转到了HTML5上。另外,Microsoft发表了声明,它们的Metro OS将不会为支持HTML5插件的浏览器提供支持。该技术展示了其可靠性,但是这个工具还不成熟,使用HTML5可以实现的动态内容体验也还比不上在桌面PC上使用Silverlight和Flash能实现的效果。查询进一步信息,请访问官方网站http://ni.com/china。