×

使用Helium网络的冷链物流监控

消耗积分:0 | 格式:zip | 大小:0.00 MB | 2023-06-16

李萍

分享资料个

描述

冷链是温度控制的供应链。它用于保存和延长和确保产品的保质期,例如新鲜农产品、冷冻食品、化学品和药品。

就医药产品而言,冷链的作用是维持疫苗的效力。因此,货物的实时监控对于货物的质量保证至关重要。

解决方案

我使用 Helium 开发人员工具包构建了一个系统,该工具包连接到 Helium 网络,具有以下功能:

  • 温度、湿度和压力监测。
  • 车辆跟踪。(位置、速度和路线)
  • 当温度不在所需窗口内时发送警报。
  • 门禁控制。
  • 计算车辆的总空闲时间并在超过阈值时发送警报。

记录数据的安全性对于证明链的有效性至关重要。因此,我在 Helium 设备上构建了我的解决方案,这些设备是硬件保护的,以保护来自 900 MHz 频谱的流量。这意味着安全性是内置的,因为使用网络的设备在芯片级具有 AES 私钥加密。

由于该解决方案基于 LoRaWAN,它还提供更长的电池寿命和更高的穿透性,这在将节点放置在冷链运输中常见的冷藏车内时可能会用到。

硬件

该原型是使用 Helium Developer 套件构建的,其中包含:

  • LoRaWAN 开发板 - B-L072Z-LRWAN1
  • 传感器扩展板 - X-NUCLEO-IKS01A3
  • GNSS 扩展板 - X-NUCLEO-GNSS1A1
pYYBAGOACbKAbboIABSRU7a4kq4912.jpg
Helium 开发套件 + X-NUCLEO-GNSS1A1 扩展板
 

建立一个 DIY 氦热点

由于我来自印度并且这里还没有 Helium 网络覆盖,我决定使用以下方法构建自己的 Helium 热点:

poYBAGOYDPKADbarAA3vtbqw4v4518.jpg
DIY氦热点
 

我的Github 存储库包含使用 BalenaOS 设置您自己的 DIY Helium Hotspot 的所有说明。

从 myDevices Cayenne 设置警报

Cayenne 入门非常简单,它可以帮助我们快速制作项目原型。您可以从这个Helium 文档页面找到如何将您的设备连接到 myDevices 。

pYYBAGOYDPiAV7uwAAExM-H7OHo062.jpg
myDevices Cayenne 仪表板
 

我已经使用 myDevices Cayenne 设置了一个警报系统,如果货物的温度不再保持在特定温度窗口内,我会发送电子邮件。当我系统中的温度警报标志设置为 1 时,我将收到来自 Cayenne 系统的电子邮件。

poYBAGOYDPyAMEk1AACQsw0uvoo291.jpg
 

使用 MAPBOX 进行实时资产跟踪

由于 myDevices Cayenne 中的资产跟踪选项非常有限且缺乏可定制性,我决定使用 MAPBOX 构建我的解决方案,这是一个用于定制设计地图的开源地图平台。

对于任何资产跟踪应用程序,我们需要四个主要组件:

poYBAGOYDP6AQ9e1AAA7exn7rP8780.png
图片来源:https://miro.medium.com/max/875/1*-RpbQbCxUnbd5Z9iJzZjyA.png
 
  • 位置更新 - 由终端节点通过 Helium 网络提供。
  • 流处理器 - Pipedream
  • 数据库 - Google 表格(尽管 google 表格并不是真正的数据库,但它在这里仅用于原型)
  • 地图 - 使用 Mapbox 设计

创建资产跟踪地图

  • 首先,按照Evan Diewald的这个项目中的这些简单说明,将您的设备数据放入您的 Google 表格中
  • 现在将谷歌表格的共享设置更改为“知道链接的任何人都可以查看”。
  • 我们将需要以下格式的 google sheet URL:
https://docs.google.com/spreadsheets/d/{sheet_ID}/gviz/tq?tqx=out:csv&sheet={sheet_name}
  • 将 {sheet_ID} 字段替换为您的 google sheet URL 中突出显示的部分,如下例所示:
pYYBAGOYDQGAdhLgAAAyI1TO-X0389.png
突出显示的区域是您的 google sheet_ID
 
  • 将 {sheet_name} 字段替换为您的工作表名称,该名称可以在工作表底部找到,如下所示:
pYYBAGOYDRCAWL0DAAH2MWKylfM211.png
如果您在工作表名称默认为“Sheet1”之前尚未对其进行编辑
 
  • 将 URL 替换为修改后的 URL,以将您的工作表连接到地图。
$(document).ready(function () {
$.ajax({
type: "GET",
//YOUR TURN: Replace with csv export link
url: '',
dataType: "text",
success: function (csvData) { makeGeoJSON(csvData); }
});
  • 创建一个Mapbox账户并从账户页面复制账户令牌并将其插入到代码中,如下所示:
mapboxgl.accessToken = '';
style: "",
  • Github 是一种托管包含我们地图的网页的简单方法。
  • 使用名为 index.html 的新文件创建一个新的 Github 存储库,并将地图 HTML 代码插入其中。
  • 在您的存储库设置中启用 GitHub 页面,您可以从存储库中找到您的网页 URL。
  • 托管您的页面可能需要一些时间。

而已!你有一个冷链监控系统的原型。以此为基础项目,您可以对其进行修改以使用各种应用程序,例如您自己的自行车跟踪设备,可能性是无穷无尽的!

  • 你可以在这里查看我的地图由于没有覆盖范围,我无法带着我的设备四处走动,所以我在我的谷歌表格中手动添加了随机 GPS 位置来测试我的资产跟踪功能。
pYYBAGOYDROAX6NUAAD3cP0M7TM521.png
红色表示温度不在所需的窗口内。
 
poYBAGOYDReAHBcYAADNvSiTsts079.png
蓝色表示温度保持在所需范围内。
 

 

pYYBAGOYDSOAHCfOAAFYBhJncv8263.png
带有卡车图标的地图。
 

一些失败的实验

pYYBAGOYDUmAEHNdAAi-Ycy0alc168.jpg
 

最初,我开始使用SparkFun LoRa Gateway 1-Channel来设置单通道网关,因为它们是可用于开始探索 LoRa 世界的低成本设备。

当我尝试将数据包路由到 Raspberry Pi 4 上运行矿工时,矿工显示以下错误:

poYBAGOYDUyASCWqAAEK4-RXxts460.png
来自矿工命令行的错误。
 

我认为这可能是由于 UDP 数据报的格式不匹配。

社区为解决此问题提供的任何帮助将不胜感激。

我遇到了很多问题,因为没有用于使用单通道网关的适当文档,因为不建议使用它们,因为它们不符合 LoRaWAN 标准。所以最后我开始使用 RAK2245 和 RaspberryPi 4 设置我的网关+矿工。

笔记

不幸的是,我的 DIY 热点停止工作(其他社区成员也发生了这种情况,他们在 Raspberrypi 4 上设置了热点),我目前无法使用下行链路消息测试我的门控功能。一旦我的热点重新启动并运行,我肯定会在这里更新我的项目日志。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !