您当前的位置:首页 > 互联网百科 > 物联网

Shifu+WasmEdge:物联网数据轻松“瘦身”

时间:2022-09-16 14:31:45  来源:今日头条  作者:WASM爱好者

当我们在使用 Shifu 采集数据的时候,通常会出现从设备所采集到的数据,与我们所需要的数据格式不同的情况。为解决此问题,我们可以使用 Shifu + WasmEdge 实现把 Shifu 采集到的数据通过 WasmEdge 进行处理后再返回给我们的应用程序。

简介

本文将简单介绍如何将 WasmEdge 集成到 Shifu 中,从而实现从IoT设备上采集的数据的清洗。

 

以下为基本架构

 

以下为本项目的数据流:

 

Shifu 简介

 

Shifu 为用户提供全场景设备托管与一体化软件开发的透明框架。开发者通过使用 Shifu,可以更简单地连接、监视和控制任何物联网设备。

Shifu 的创新优势是通过透明框架内的数字孪生技术,为设备赋予有思考能力的 “数字大脑”。数字孪生将反映设备的实时状态,对其进行开发操作等同于操作设备本身。物联网设备接入到 Shifu 中便会生成标准化接口,实现互联网互动,通过平台层对场景内所有设备、机器进行北向数据收集和南向指令管控。

Shifu 是基于Kube.NETes的云原生架构,创造性地将物联网设备对应为Kubernetes中的Pod,释放了物联网平台在边缘场景的设备管理能力以及云边端协同能力。云原生架构为物联网的应用开发提供了超高的系统稳定性,并提供给开发者仅运维一套架构实现对物联网的平台级维护。

Shifu 官方网站https://shifu.run

 

WasmEdge 简介

WasmEdge 是轻量级、安全、高性能、符合 OCI 标准的软件容器与运行环境。目前是 CNCF 沙箱项目。WasmEdge 被应用在 Servrless SaaS、云原生,service mesh、边缘云、边缘设备、智能合约等领域。

WasmEdge 作为轻量级的容器,footprint 只有几兆,能够在资源受限的环境提供安全且不损失性能的运行环境。

嵌入式 Runtime 是 WasmEdge 的一个典型应用场景,WasmEdge 提供了 C/C++、Rust、 Golang 等 SDK,方便开发者将 WasmEdge 嵌入到 现有的应用软件中,从而将几乎任何应用软件变成可扩展的开发者平台。WasmEdge 作为嵌入到 Shifu 的轻量级容器,为 Shifu 提供了安全运行第三方不受信任代码的环境。

了解 WasmEdge 相关信息:

https://Github.com/WasmEdge/WasmEdge

 

步骤

准备

kubectl v1.24.2

Docker 20.10.16

kind v0.14.0

git 2.36.1

 

部署

为了方便您更快的了解本篇文章,您可以通过以下命令从GitHub上拉取本项目。

git clone https://github.com/Edgenesis/wasm-shifu-demo.git
cd wasm-shifu-demo

 

创建 kind 集群

使用以下命令创建 Kind 集群。

$ kind delete cluster && kind create cluster
Creating cluster "kind" ...
 ✓ Ensuring node image (kindest/node:v1.24.0) 
 ✓ Preparing nodes   
 ✓ Writing configuration  
 ✓ Starting control-plane ️ 
 ✓ Installing CNI  
 ✓ Installing StorageClass  
Set kubectl context to "kind-kind"
You can now use your cluster with:
kubectl cluster-info --context kind-kind
Have a question, bug, or feature request? Let us know! https://kind.sigs.k8s.io/#community 

 

构建 Shifu 镜像

使用以下命令构建 Shifu 镜像。

$ make -f shifu/Makefile build-image-deviceshifu
$ kind load docker-image edgehub/deviceshifu-http-http:v0.0.6
$ docker images | grep edgehub/deviceshifu-http-http 
edgehub/deviceshifu-http-http                v0.0.6    1d6b3544b8ad   54 minutes ago   36.1MB

 

运行虚拟设备

为了方便您的体验,这里我们使用虚拟设备进行模拟。安装并运行虚拟设备,设备的端口号为8099。

$ docker build -f mockDevice/dockerfile -t mockdevice:v0.0.1 .
$ docker run -p 8099:8099 -itd mockdevice:v0.0.1 
$ docker ps | grep mockdevice
bdfd2b1323be   mockdevice:v0.0.1      "./mockDevice"           19 seconds ago      Up 18 seconds      0.0.0.0:8099->8099/tcp      admiring_feistel

 

编写规则,编译wasm

您可以通过使用 JAVAScript 编写规则。如果您不熟悉 JavaScript,您可以直接使用默认规则。
规则文件路径:
wasmEdge/js-func/src/js/run.js 您可以通过修改该规则实现不同的功能。

$ docker build -t wasm:v0.0.1 -f wasmEdge/js.dockerfile  .
$ kind load docker-image wasm:v0.0.1
$ kubectl Apply -f wasmEdge/k8s

您可以通过以下命令检查 WasmEdge 的 pod 运行情况。

$ kubectl get pod -n wasmedge
NAME                              READY   STATUS    RESTARTS   AGE
wasm-deployment-fbc9564d8-td428   1/1     Running   0          1s

 

安装并运行 Shifu

使用以下命令安装 shifu。

$ kubectl apply -f shifuConfig/shifu_install.yml
$ kubectl get pod -n shifu-crd-system
NAME                                            READY   STATUS    RESTARTS   AGE
shifu-crd-controller-manager-5bbdb4d786-s6h4m   2/2     Running   0          1s

安装 deviceShifu 与 mockDeivce 进行连接。在此之前,请先将
shifuConfig/task3/task3.yaml 文件中的 address 修改成您电脑的IP。

spec:
  sku: "E93"
  connection: Ethernet
  address: "192.168.14.163:8099" #修改此处IP地址

通过一下命令,部署运行 deviceShifu 。

$ kubectl apply -f shifuConfig/task3
$ kubectl get pod -n deviceshifu
NAME                                                 READY   STATUS    RESTARTS   AGE
deviceshifu-demodevice-deployment-5589b55569-l5nb2   1/1     Running   0          4s

 

体验

您可以启动一个 Nginx 与 deviceShifu 进行通信。

$ kubectl run nginx --image=nginx:1.21
$ kubectl get pod 
NAME    READY   STATUS    RESTARTS   AGE
nginx   1/1     Running   0          3s

通过以下命令,您即可与设备的数字孪生进行交互,从而实现从IoT设备上采集的数据的清洗。

$ kubectl exec -it nginx -- curl -v  http://deviceshifu-demodevice-service.deviceshifu.svc.cluster.local/get_info;echo
[
   {
      "code":375287,
      "name":"大气温度",
      "val":"24.56",
      "unit":"℃",
      "exception":"温度过高"
   },
   {
      "code":375287,
      "name":"大气湿度",
      "val":"81.63",
      "unit":"%RH",
      "exception":"湿度过高"
   }
]

 

同时我们可以使用以下命令查看IoT设备所产生的原始数据。

$ curl localhost:8099/getInfo
{
   "statusCode":"200",
   "message":"success",
   "entity":[
      {
         "dateTime":"2022-09-09 09:46:45",
         "eUnit":"℃",
         "eValue":"23.87",
         "eKey":"e1",
         "eName":"大气温度",
         "eNum":"101"
      },
      {
         "dateTime":"2022-09-09 09:46:45",
         "eUnit":"%RH",
         "eValue":"80.62",
         "eKey":"e2",
         "eName":"大气湿度",
         "eNum":"102"
      }
   ],
   "deviceId":950920,
   "deviceName":"950920",
   "deviceRemark":"2022-09-09 09:46:45"
}

 

比较两个输出,我们成功地将数据采集并进行清洗,从而得到我们想要的数据。

 



Tags:物联网   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
2024年五个重要的物联网趋势
今年,我们对物联网每种趋势进行了评级,即其可能的有效性程度。1 到 10 之间的数字是我们对 2024 年这一趋势可能对企业物联网项目产生多大影响的评估。真正重要的事情只有在回...【详细内容】
2024-03-20  Search: 物联网  点击:(11)  评论:(0)  加入收藏
简易百科科技之到底什么是物联网?
物联网,英文名为Internet of Things,简称IOT,是指通过信息传感设备,如射频识别、红外感应器、全球定位系统、激光扫描器等,按照约定的协议,对任何物品进行信息交换和通信,以实现智...【详细内容】
2024-01-30  Search: 物联网  点击:(45)  评论:(0)  加入收藏
一篇文章告诉你什么是物联网的感知层、网络层与应用层的意思?
物联网的概念在很早以前就已经被提出,20世纪末期在美国召开的移动计算和网络国际会议就已经提出了物联网(Internet of Things)这个概念。最先提出这个概念的是MIT Auto-ID中...【详细内容】
2023-12-28  Search: 物联网  点击:(64)  评论:(0)  加入收藏
物联网之能源预测性管理
通过实施能源预测性管理,企业可以更加高效地利用能源资源,降低成本,并减少对环境的影响。同时,这也有助于提高企业的竞争力和可持续发展能力。能源预测性管理是一种基于数据分析...【详细内容】
2023-12-22  Search: 物联网  点击:(43)  评论:(0)  加入收藏
万物互联成大势 物联网发展进入加速期
截至11月末,我国建成承载物联网的5G基站达到328.2万个,物联网连接数超过23亿,同比增幅达27.2%……自2022年8月我国率先迈入“物超人”时代以来,“物联”接棒连接“领...【详细内容】
2023-12-21  Search: 物联网  点击:(43)  评论:(0)  加入收藏
物联网技术将于2024年成熟
人工智能、机器学习(ML)、5G和其他连接服务在内的物联网技术预计将在2024年趋于成熟,不断满足企业持续的劳动力和供应链需求。2024年的宏观经济形势比过去几年更加稳定,为企业...【详细内容】
2023-12-14  Search: 物联网  点击:(49)  评论:(0)  加入收藏
物联网小知识:开关量、数字量、模拟量、离散量和脉冲量它们之间有什么区别?
开关量、数字量、模拟量、离散量和脉冲量是电子测量和控制系统中经常遇到的不同类型的数据。它们在定义、特性和应用方面存在差异。在电子测量和控制系统设计中,根据实际需求...【详细内容】
2023-12-13  Search: 物联网  点击:(71)  评论:(0)  加入收藏
物联网平台之IOT网关
IOT网关即物联网网关,是一种网络设备,在物联网系统中负责连接和控制各种设备,将它们连接到云端、本地服务器或其他设备上。它既可以实现广域互联,也可以实现局域互联,通过协议转...【详细内容】
2023-12-07  Search: 物联网  点击:(58)  评论:(0)  加入收藏
AIOT智能物联网平台架构
AIoT智能物联网平台是结合了人工智能(AI)和物联网(IoT)技术的平台。它旨在通过物联网技术产生和收集来自不同维度的海量数据,并存储在云端和边缘端,然后通过大数据分析和更高形式...【详细内容】
2023-12-06  Search: 物联网  点击:(140)  评论:(0)  加入收藏
物联网的应用与实践
物联网这个话题,说复杂也复杂,说不复杂也不复杂,小场景小应用,大场景大应用,很多人对这个概念既模糊又清晰,基于国内大厂的物联网场景广泛应用。其实以下几个点需要关注。1、网联...【详细内容】
2023-12-06  Search: 物联网  点击:(65)  评论:(0)  加入收藏
▌简易百科推荐
2024年五个重要的物联网趋势
今年,我们对物联网每种趋势进行了评级,即其可能的有效性程度。1 到 10 之间的数字是我们对 2024 年这一趋势可能对企业物联网项目产生多大影响的评估。真正重要的事情只有在回...【详细内容】
2024-03-20  计算机程序吧  微信公众号  Tags:物联网   点击:(11)  评论:(0)  加入收藏
简易百科科技之到底什么是物联网?
物联网,英文名为Internet of Things,简称IOT,是指通过信息传感设备,如射频识别、红外感应器、全球定位系统、激光扫描器等,按照约定的协议,对任何物品进行信息交换和通信,以实现智...【详细内容】
2024-01-30    简易百科  Tags:物联网   点击:(45)  评论:(0)  加入收藏
一篇文章告诉你什么是物联网的感知层、网络层与应用层的意思?
物联网的概念在很早以前就已经被提出,20世纪末期在美国召开的移动计算和网络国际会议就已经提出了物联网(Internet of Things)这个概念。最先提出这个概念的是MIT Auto-ID中...【详细内容】
2023-12-28  物联网IoT技术  微信公众号  Tags:物联网   点击:(64)  评论:(0)  加入收藏
物联网之能源预测性管理
通过实施能源预测性管理,企业可以更加高效地利用能源资源,降低成本,并减少对环境的影响。同时,这也有助于提高企业的竞争力和可持续发展能力。能源预测性管理是一种基于数据分析...【详细内容】
2023-12-22  独数易智  微信公众号  Tags:物联网   点击:(43)  评论:(0)  加入收藏
万物互联成大势 物联网发展进入加速期
截至11月末,我国建成承载物联网的5G基站达到328.2万个,物联网连接数超过23亿,同比增幅达27.2%……自2022年8月我国率先迈入“物超人”时代以来,“物联”接棒连接“领...【详细内容】
2023-12-21    人民邮电报  Tags:物联网   点击:(43)  评论:(0)  加入收藏
物联网技术将于2024年成熟
人工智能、机器学习(ML)、5G和其他连接服务在内的物联网技术预计将在2024年趋于成熟,不断满足企业持续的劳动力和供应链需求。2024年的宏观经济形势比过去几年更加稳定,为企业...【详细内容】
2023-12-14    千家网  Tags:物联网   点击:(49)  评论:(0)  加入收藏
物联网小知识:开关量、数字量、模拟量、离散量和脉冲量它们之间有什么区别?
开关量、数字量、模拟量、离散量和脉冲量是电子测量和控制系统中经常遇到的不同类型的数据。它们在定义、特性和应用方面存在差异。在电子测量和控制系统设计中,根据实际需求...【详细内容】
2023-12-13    物联网星球  Tags:物联网   点击:(71)  评论:(0)  加入收藏
LoRA模型的容量与覆盖范围研究与扩展
LoRA(LongRange)是一种低功耗、远距离通信的无线技术,被广泛应用于物联网(IoT)领域。LoRA技术的独特之处在于其长距离通信能力和低功耗特性,使得它成为连接设备和传感器的理想选择...【详细内容】
2023-12-13  办公小能手    Tags:LoRA   点击:(46)  评论:(0)  加入收藏
物联网平台之IOT网关
IOT网关即物联网网关,是一种网络设备,在物联网系统中负责连接和控制各种设备,将它们连接到云端、本地服务器或其他设备上。它既可以实现广域互联,也可以实现局域互联,通过协议转...【详细内容】
2023-12-07  独数易智  微信公众号  Tags:IOT网关   点击:(58)  评论:(0)  加入收藏
物联网的应用与实践
物联网这个话题,说复杂也复杂,说不复杂也不复杂,小场景小应用,大场景大应用,很多人对这个概念既模糊又清晰,基于国内大厂的物联网场景广泛应用。其实以下几个点需要关注。1、网联...【详细内容】
2023-12-06  独数易智  微信公众号  Tags:物联网   点击:(65)  评论:(0)  加入收藏
站内最新
站内热门
站内头条