转自:csdn_iot 作者 :Kamalesh Nayudu
多层次的 IoT 应用软件包括:
我喜欢将 IoT 解决方案与人体进行比较。IoT 应用软件是系统的心脏和大脑,通过通信通道(血管和神经)传输血液(数据)和控制命令,IoT 物体和设置则是我们的手、脚、手指和脚趾。
那么我们如何从这些成分中构建一个伟大的IoT解决方案被?以下是选择方案的过程中需要考虑的几个关键因素。
这是任何 IoT 解决方案中最为复杂的部分,它需要你对设备所支持的无线通信方案有一定的了解。你的选择范围非常广泛,包含了蓝牙和 Wi-Fi(NFC)、LAN 和 WAN,以及蜂窝网络和卫星通信。
评估通信渠道时要考虑的关键特征包括:
监听程序通常是连接到互联网的网络程序,它应当一直处于运行状态且能够大幅度伸缩的。它应当能够保证设备与应用软件服务之间的消息传递的安全性。此外它借助复杂的分布式处理逻辑而具有高可用性,可以确保服务器发生故障或超负荷时能够提供有效的备份机制。
具有良好架构的监听服务应当是高度可配置的解决方案,可以通过配置完成对各种设备通信的支持。同时它还有支持多种通信手段和通信协议的能力。
数据采集服务与设备使用的通信协议必须兼容。Apache NiFi 配合像 Kafka 或 RabbitMQ 这样的消息代理即可实现有效的 IoT 数据采集功能。
这是业务功能的核心层面。它包含了帐户设置、用户注册、访问控制、支付处理、设备交互、数据验证、错误处理和日志记录等多个功能模块。该层面应当设计成可以利用多线程来支持海量用户。
考虑到物联网设备的高速增长,强烈建议你的数据存储机制使用大数据技术进行架构设计。NoSQL 数据库(MongoDB、Cloudant、DynamoDB 等)是极好的选择,允许集群和无限水平缩放。同时具有灵活性、高性能、无模式等特性。
最后,通过从设备收集的大量数据获得有用的信息从而提升业务价值才能真正发挥物联网解决方案的全部潜力。目前有多种强大、专业、开源的技术可以运用到 IoT 解决方案中,实现数据分析和可视化以提升业务价值。
使用 Hadoop 架构内的技术可以完成 IoT 解决方案中的定制化数据分析工作。HortonWorks、Cloudera 和 MapR 是市面上最流行的使用 Spark 分析功能的 Hadoop 发行版。Splunk 是日志分析的专有解决方案。除了 Tableau、Qlikview 和 PowerBI 等已经很受欢迎的可视化工具之外, 一些开源的工具发展也很迅速,比如 D3。