有大量的新闻都在报道:物联网正在改变各个行业,物联网设备在所有相关预测中都占据了重要位置,投资将产生良好的回报,消费者也会很高兴,企业增长速度也会不断加快。类似这样的说法让每个人都感到无聊,其实有些东西没有被明确说出来。
如今物联网软件开发实际上是一个雷区。市场需要高质量,可扩展,健壮安全且用户友好的IOT软件解决方案。物联网软件开发团队必须重新评估其标准程序,以便将所有因素考虑在内。但是在物联网软件开发的背景和语境中,重新评估意味着什么呢?
由于物联网软件开发需求旺盛,物联网初创公司之间的竞争异常激烈。在当前缺乏普遍接受的标准的情况下,程序员不断寻找新的实践和更新的协议,只有对每个物联网软件问题采取更严格的测试方法才能实现高效开发。
1. 关于操作系统的注意事项
在开始物联网应用程序开发之前,应该仔细考虑几个技术因素。首先,团队必须评估他们将使用哪些物联网设备。与传统桌面设备不同,物联网设备功能强大但内存容量相对较小。这意味着开发人员必须选择相应的操作系统。它应该既适合设备的功能,又符合其功能要求。
最新的IoT开发人员调查显示,Linux是物联网微控制器、受限设备和物联网网关的首选。
2. 选择物联网网关
物联网网关是连接所有元素的关键。不同的设备可以具有不同的连接协议:蓝牙,Wi-Fi,串行端口,Zigbee和具有各种能量配置文件。网关位于相互连接的终端设备、物联网传感器和云平台之间,因此整个物联网生态系统都依赖于这些网关。
Dell,英特尔,Nexcom和其他顶级供应商提供的现代智能网关具有一些常见的必备功能,可使开发人员的工作更轻松。您只需选择符合您的IoT应用程序要求的那个。同时您将不得不考虑接口和网络规格,额定功率,内存容量,开发环境和其他参数。默认情况下,应保证设备之间的安全,私密和可靠的通信。
3. 决定正确的物联网平台
为什么重新发明轮子?这就是物联网平台派上用场的地方,因为它们提供了一些工具组合,可以将您的物理对象联机。平台市场庞大以至于选择太多,所以常常令人困惑,因此请确保明智地选择。在选择物联网平台时应考虑以下因素:
- 可连接性
- 安全性
- 可扩展性
- 是否易于集成
- 可用性
但是,物联网开发人员应该注意,适用于智能工厂的平台可能不适合连接汽车或能耗解决方案。有些公司甚至使用生产过程中的实际数据建立一个真实的测试平台,以确定适当的平台。
4. 关于安全性,再怎么强调都不过分
众所众知,物联网技术包括许多不同类型的设备,因此黑客有非常多的机会来扫描系统漏洞。并非所有形成网络的设备都经过了充分的穿透测试。在这里,任何一个脆弱的节点都会让整个系统都受到威胁。
Gartner表示,到2020年,所有已发现的企业攻击中有25%将涉及物联网,而只有10%的IT安全预算将用于保护系统免受这些攻击。
对于从事物联网项目的开发人员来说,网络攻击的数量将继续增加,安全性是一个巨大的挑战。在概念阶段,保护程度在很大程度上取决于公司准备在安全专业知识的关注程度。要减少攻击和未经授权访问的可能性,请使用:
- SSL / TLS加密技术
- 孤立的VLA
- 独立的企业VPN
- 现代和更新的反病毒
- 最终用户和机器到机器的身份验证
- 用于Web开发和设计的Vetted框架
使用传统保护和控制方法的企业安全体系结构应该第一时间更新,以应对当今物联网安全的新挑战。
5. 全面质量控制
质量保证是物联网软件的另一个重要需求点。由于物联网设备不仅用于仓库的温度控制,还用于胰岛素泵,因此测试应该非常彻底和全面。从字面上看,任何小问题都可能变得致命。
确保从一开始就在软件开发过程中包含安全测试。要优化流程,请确定哪些模块在后续各个版本都不需要测试,并查找已通过安全测试的协议,并在接下来的几个版本中保持不变。
除安全测试外,还应确保可用性和兼容性。在项目发布后提供持续的技术支持也是一个很好的选项。
6. 用户友好的设计
消费者物联网应用程序应该是设计驱动的,并且应尽可能简单; 没有人想要用学习手册来更新智能手表。
用户友好的设计对于工业物联网初创公司也很重要,因为他们应该专注于数据可视化和快速决策。由于在物联网工作流程中,每个设备和人员都在互相交流,物联网开发人员和设计人员之间的紧密合作是必须确保:
- 安全但轻松的身份验证
- 设备和系统之间的无缝过渡
- 用户体验个性化并根据行为模式调整产品功能和界面
- 整个物联网系统的操作环境的统一和连贯
7. 跨平台部署
物联网生态系统包括具有不同的体系结构,协议和操作系统的设备。所有这些要素应该结合在一起并无缝地协同工作。因此,互联网工程任务组(IETF),电气和电子工程师协会(IEEE)以及其他声誉良好的国际组织已经提出了“跨平台部署的开放标准和架构模型”,它一直在更新,物联网服务应利用这些最佳实践来确保互连通信和跨平台部署。
尽管过去几年物联网的市场有所增长,但物联网软件开发方面仍有很多问题需要解决。现在,物联网公司和初创公司应该留意他们以前没有考虑过的细节。
采用公认的物联网项目标准将使我们能够解决一部分挑战,尤其是可以提高物联网应用程序的安全性及其跨平台部署。但是,由于物联网是一个相对较新的领域,这些标准仍在演进和发展中,作为物联网软件开发者需要持续关注它们,直到它们得到物联网开发社区的普遍承认。