此 物联网 物联网为企业推动更智能的运营提供了无数机会。我们周围的几乎每台设备和资产都配备了将数据传输到云端的传感器。自然,许多公司都渴望将物联网应用纳入其业务,以推动新体验、削减成本并提高效率。
市场上不乏具有突破性潜力的想法,但目前还没有太多物联网案例可以借鉴。为了展示公司可以在此基础上进行构建的可能性 Mendix我们 构建了物联网应用程序.
我们如何想出物联网应用的想法
为了确定我们的物联网应用的用例,我们选择专注于物流行业,因为供应链物流中发生了许多令人兴奋的事情。当提出这个想法时,我们知道我们想要展示一个结合物联网和区块链的用例。我们决定构建一个连接的供应链跟踪应用程序来跟踪货物运输。
整个供应链中制造商、供应商、承运商以及最终客户面临的一个关键问题是确保运输的货物安全、符合其用途地到达目的地。在运输过程中,有许多因素会对货物产生不利影响,例如光照、温度升高和降低、移动和湿度等等。
在全球供应链中涉及许多不同的处理商和承运商的情况下,确保持续满足正确的条件可能具有挑战性。如果出现问题会发生什么?保险公司可能需要为丢失或损坏的货物支付费用,可能会产生法律影响、重新制造成本,甚至可能需要赔偿。如果发生运输事故,区块链可以作为每笔交易的绝对证据。
我们开始思考如何结合 IBM Watson IoT 和 IBM Blockchain 打造移动优先的跟踪解决方案,提供不可篡改的事件账本,支持整个供应链的端到端审计。我们希望创建一种方法来保护供应链中的每个环节,帮助查明损坏发生的时间,主动管理货物问题,让保险公司安心,甚至可能降低保费和赔付。
IBM Watson IoT 平台可让您的应用与联网设备和传感器收集的数据进行通信。区块链技术正在汽车、制药、物流和制造业等许多行业得到广泛应用。使用区块链技术,各行业可以创建不可更改的安全账本,用于记录交易历史。
物联网与区块链技术的结合已经成为一种非常强大的组合,使各行各业能够监控、跟踪和保护数据。
我们如何构建物联网应用程序以实现万无一失的资产管理
设计过程
在设计 IoT 应用程序时,Evangelist 团队采用了亲和图的协作方法。在外行人看来,亲和图可能看起来非常科学、令人困惑甚至杂乱无章。但您看到的是我们在设计过程的早期阶段使用的一种简单但功能强大的技术。通过使用图表和大量便利贴,我们激发了创意的产生和协作,帮助我们发现应用程序的设计功能和用例。
根据我们的研究结果,我们用纸和笔制作了一系列粗糙的模型来探索和评估我们的设计理念。纸和笔是初始设计的绝佳资源,因为它们可以接受批评,而且几乎不需要投入和努力。我们提出了几个想法,对这些想法进行了比较和评估,从每个想法中选出最好的特点,并将其组合成进一步的设计迭代。最终版本是使用 Adobe Experience Design (XD) 创建的,并作为交互式原型制作而成。
传感器
在构建应用程序时,我们希望通过一种简单的方法来演示如何使用传感器数据跟踪集装箱,然后将这些信息保存在区块链中。为了演示传感器,我们决定使用一种流行的传感器标签,称为 德州仪器.
德州仪器传感器标签包含多个传感器,包括:湿度、温度、运动和光线。传感器标签通过蓝牙链接到应用程序,应用程序使用 MQTT 将数据发送到 IBM IOT。该应用程序包含一个易于使用的设置,用于连接到 Watson IOT。使用这些小型传感器,我们可以与展位上的用户互动。展位的参观者可以触摸传感器,并通过加热或照射光线来影响生成的数据。
连接到 Watson IoT
通过使用 Mendix AppStore的 我们能够轻松地将其集成到 IBM Watson IOT 中。我们使用了 MQTT 连接器 Appstore 模块,它允许 Mendix 应用程序可以订阅和发布 MQTT 主题。在我们的场景中,我们希望订阅 IBM Watson 发布的 MQTT 主题。德州仪器标签将把其传感器数据发布到 IBM Watson IOT, Mendix 应用程序订阅了IBM Watson IOT的数据,使我们能够根据来自传感器的数据执行操作。
我们决定使用传感器提供的以下数据:温度、湿度、光线和运动。在 Mendix 应用程序中,我们使用 MQTT 模块设置对设备主题的订阅。该模块允许您订阅 MQTT 主题,并在每次从设备收到消息时执行微流。收到消息时执行的微流附带主题信息和 JSON 格式的消息有效负载。为了导入数据,我们在 JSON 数据和 Mendix 域模型。
正确设置物联网框架后,我们开始构建仪表板。使用来自 Mendix Appstore,就像 Google 地图小部件和 ChartJs 小部件一样,我们能够快速构建一个外观漂亮的仪表板。仪表板显示集装箱的位置、光线、温度、湿度和运动。为最终用户提供易于使用的概览。

使用区块链
为了展示区块链技术的实际应用,我们决定只在区块链中记录异常事件。我们在应用程序中为每个传感器设置了一些限制,这样每次我们收到超过设定限制的读数时,我们都会执行以下操作:向工程师发送推送通知,为工程师创建检查,并在区块链中添加一个记录事件的区块。
IBM Blockchain 技术附带一个 REST API 接口,用于向区块链添加区块以及从链中检索区块。使用 Mendix 原生 REST 集成让我们能够轻松地构建与 IBM Blockchain 的集成。使用 chaincode 操作和invoke 方法,我们可以在每次传感器触发警报时将一个区块添加到链中。为了创建集成,我们再次使用了 JSON 映射器和 REST 功能。
区块链是一种记录所有已发生事件的绝妙方式,但对于非技术用户来说,它很难解释,更难直观地展示。我们认为可视化区块链的最佳方式是创建时间线概览。使用时间线可以让我们展示区块链是按时间顺序发生的一系列事件,每个区块都会影响未来的区块。为了检索时间线的数据,我们使用了区块链 API 中的另一个操作,称为 鏈/块。 链式操作允许我们查看链的长度并深入查看链中的各个区块。以下是我们创建的最终产品时间线:

检查
我们想要一种向用户展示的方式 Mendix' 出色的移动功能。因此,我们决定开发一款移动应用程序,让货船上的员工可以查看警报、传感器读数、通知和指定的检查。每次应用程序中触发警报时,我们都希望有一种方法允许用户对集装箱进行检查。应用程序的检查部分允许用户上传照片、获取他们所在位置的坐标、添加检查日期、总重量以及当前的质量。全部使用本机设备功能。用户执行检查后,将生成 PDF 版本的检查并存储在系统中。以下是应用程序的一些图片:

最终产品
最终的解决方案结合了用于管理警报的移动应用程序和用于跟踪和追踪来自 IoT 的事件的仪表板。所有数据都使用 IBM Blockchain 进行审核,以提供整个供应链中事件的不可变分类账。该应用程序保护供应链中的每个成员,从制造商到客户再到保险公司。我们使用开箱即用的 IBM Watson 连接器在 10 天内构建了该应用程序,无需编写一行代码。