想想你生活中完全正常的一天。你正在快乐地遵循你所有的日常生活,然后突然你有一个“心脏病发作”。当你恢复意识时,你已经在手术室里,周围都是身穿绿色长袍、脸上戴着口罩的医生,准备进行手术。您发现您的动脉有多处阻塞,在这次危及生命的手术后,您必须在 ICU 中花费大量时间。害怕的?当发生意外故障时,您的车辆也会发生同样的事情(不完全相同;-))。如果您是车队经理,那么这些频繁的意外故障可能会使您遭受严重的心脏病发作(严重)。即使操作员进行定期维护和定期修理零件以防止停机。一半的预防性维护活动是无效的。这个问题不仅适用于车辆,也适用于所有机器。
这是一个严重的问题,可以通过预测性维护来减少其影响。当无法承受故障的影响时,例如飞机发动机故障,机器需要进行预防性维护,包括定期检查和维修,通常根据使用时间安排。正确调度的挑战随着机器的复杂性而增加:在一个有许多组件协同工作并影响彼此寿命的系统中,我们如何才能找到应该执行维护的正确时刻,以便不会过早更换组件但整个系统仍然保持可靠运行?提供这个问题的答案是预测性维护的目的,
这就是 Azure Sphere 可以帮助我们的地方。它可以通过其低级通信协议(例如 I2C 和 UART)有效地收集数据,并可以将数据安全地发送到 Microsoft Azure 以进行预测性维护。它还具有足够的马力,可以在未来的发展中用作边缘设备。
您一定想知道,为什么选择 Azure Sphere 而不是其他任何微控制器,例如 Arduino 或 Raspberry Pi?选择 Azure Sphere 的主要原因是安全性。Azure Sphere 以低成本提供高级别的安全性,并遵循高度安全设备的七个属性。
我们关心我们的隐私(如果您不这样做,那么您应该这样做),因为在这个相互联系且不断提供广告服务的世界中,我们的数据可能会被用来对付我们自己。我们的车辆也是如此。它们也是我们生活的一部分,其诊断数据可能与我们用于广告服务器的健康数据一样重要。它需要不惜一切代价加以保护。
我在下面列出了选择 Azure Sphere 的许多其他原因。
电路图或原理图非常简单。我列出了我的一些发现。
随着 Microsoft 扩展开发,第 3 方文档可能无法提供正确的信息。当信息/步骤与第三方文档不匹配时,首选微软官方文档。
通过运行 Blink 应用程序确保一切就绪。
注意:我在这里使用的 OBD-II 模块使用蓝牙进行通信,这是这个安全项目中的一个弱点。我买了这个型号,因为它便宜而且我买得起。我想通过绕过蓝牙芯片直接将UART引脚与Azure Sphere的UART端口进行修改。不幸的是,该模型使用了板载芯片 IC,这使得在时间限制的情况下很难找到正确的引脚。所以我继续使用蓝牙方法。如果可能,请使用物理介质将 OBD-II 模块与 Azure Sphere 连接起来。
让我们继续设置这个模块。设置此模块非常简单。您只需要找到您汽车的OBD端口并将此模块插入其中即可。而已。
注意:如果您在 Azure Sphere 和 OBD-II 模块之间使用物理介质,请跳过此步骤。
我们需要把HC-05的角色改成master,这样一上电就可以自动连接OBD-II模块。蓝牙连接需要一主一从。主机发起配对和链接请求。配对完成后,模块将相互通信,无论其角色如何。
在这种情况下,与 Azure Sphere 连接的 HC-05 将作为主机,并发起链接请求以连接从机,即 OBD-II 模块。
HC-05 的默认角色为从机,若要设置为主机,请按照以下步骤操作。
1. AT+RESET (Reset the device)
2. AT+ORGL (Apply default configuration)
3. AT+ROLE=1 (Set role as Master)
4. AT+CMODE=0 (Force the device to connect with specific address)
5. AT+BIND=1234,56,789abc (Force to connect to this address, only useful if CMODE = 0)
6. AT+INIT (Initialize SPP profile)
7. AT+PAIR=1234,56,789abc,20 (last 2 digits mean 20 second timeout)
8. AT+LINK=1234,56,789abc
注 1 :不要忘记为 HC-05 的 KEY 引脚提供 GND。这会将 HC-05 设置为数据通信模式。
注意 2 :请使用 Azure Sphere 的 PORT 1 进行此连接。如果您打算使用 PORT 2,那么您还必须对代码进行更改。
该项目的代码托管在 Github 平台上。请从此存储库克隆/下载代码。
Azure Sphere 是一个很棒的云平台,但在没有 Microsoft Azure 的情况下单独使用它就像在没有自动驾驶功能的情况下驾驶特斯拉,它不会很有趣。Microsoft Azure 提供了一个全新维度的可视化、控制和功能,这可能仅通过使用 Azure Sphere 是不可能实现的。
Microsoft Azure 的 IoT 中心功能是我用过的最好的服务之一。它是 Microsoft 提供的软件即服务 (SaaS) 产品。微软让您的设备连接到它的平台变得非常容易,而且无需任何编码。它还提供云到设备(C2D)功能,用于通过云控制设备。它可用于显示遥测数据、创建警报、执行命令以及创建您自己的仪表板。
在这个项目中,我使用了 Avenet Technical Training Course 提供的模板来设计我的 IoT Central Dashboard。它在仪表板上显示冷却液温度、发动机转速和节气门位置等遥测数据。此模板还可用于通过“设置”选项卡控制设备。
您可以参考本次Azure Sphere 技术培训课程中提供的文档下载模板。我建议完成此培训,因为它将非常有帮助,而且它是免费的。如果您了解 IoT Central 并且只想要模板,请点击此链接。
有趣的部分并不止于此。您可以使用上传到 IoT Central 的所有数据来预测车辆中可能发生的潜在故障,甚至在故障发生之前就仔细计划维修。这样不仅可以节省大量资金,还可以减少车辆停机时间并更好地计划。
Microsoft Azure 提供了大量服务,从物联网中心到机器学习,从人工智能到分析等等。即使是天空也不是您可以通过使用所提供的服务所做的限制。
上图代表测试环境。在测试环境中,笔记本电脑为设备提供电源和调试环境。在最终设置中,设备将从汽车接收电源。在测试时,不惜一切代价行使安全性。
如果尚未完成,请从此处克隆代码并将其闪存到板上。闪烁代码后,它将开始在 Visual Studio 的“设备输出”选项卡中显示输出。
如果您的设备输出与上图类似,那么您可以说连接已成功建立,并且 Azure Sphere 正在从 OBD-II 模块正确读取数据并将其上传到 IoT Central。
测试完成后,将设备放在可以保护它并使其看起来干净的外壳中。
开源就是爱。快乐制作:-)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !