使用mqttfx向broker发送消息,云端获取资源

5 篇文章 0 订阅
5 篇文章 1 订阅

设备注册

cd /data/gopath/src/github.com/kubeedge/examples/temperature-demo/crds

目录中有deviceinstance.yamldevicemodel.yaml两个文件

apiVersion: devices.kubeedge.io/v1alpha2
kind: DeviceModel
metadata:
  name: dht22-model
  namespace: default
spec:
  properties:
    - name: temperature-status
      description: Temperature collected from the edge device
      type:
        string:
          accessMode: ReadOnly
          defaultValue: ''
    - name: humidity 
      description: humidity collected from the edge device
      type:
        string:
          accessMode: ReadOnly
          defaultValue: ''

apiVersion: devices.kubeedge.io/v1alpha2
kind: Device
metadata:
  name: dht22
  labels:
    description: 'temperature'
    manufacturer: 'test'
spec:
  deviceModelRef:
    name: dht22-model
  nodeSelector:
    nodeSelectorTerms:
      - matchExpressions:
          - key: ''
            operator: In
            values:
              - edge-node
status:
  twins:
    - propertyName: temperature-status
      desired:
        metadata:
          type: string
        value: ''
    - propertyName: humidity 
      desired:
        metadata:
          type: string
        value: ''

创建设备模型与设备实例注册设备

kubectl create -f devicemodel.yaml
kubectl create -f deviceinstance.yaml
  1. edge节点上下载sqlite3
sudo apt install sqlite3
  1. 连接edgecore数据库
sqlite3 /var/lib/kubeedge/edgecore.db

其他语句
.exit //退出sqlite3
.tables
.mode column //数据有标题
.header on
select *from device //注册完设备后,查询设备
select*from  device_twin //发布完数据后可查询发布数据

! ----- /var/lib/kubeedge/edgecore.db在edgecore.yaml中可以找到
在这里插入图片描述

  1. 先下载mqttfx,然后输入edge节点ip地址,点击apply

在这里插入图片描述4. edge节点新开一个终端,进行订阅

//'$'hw/events/device/temperature/state/update”为主题
//mosquitto_sub -t '$'主题名 -h ip地址

mosquitto_sub -t '$'hw/events/device/temperature/state/update -h 192.168.1.100
  1. 将主题名($hw/events/device/temperature/state/update)复制到mqttfx
    在这里插入图片描述6. 输入{ "state": "online" },点击publish
{ "state": "online" }

7.在edge节点数据库中查询状态

select *from device 
  1. 发送mqtt数据格式
mosquitto_sub -t '$'hw/events/device/temperature/twin/update -h 192.168.1.100

$hw/events/device/temperature/twin/update复制到mqttfx
在这里插入图片描述输入发送数据,点击publish

{ "event_id": "","timestamp": 0,"twin": { "temperature-status":{"actual":{ "value": "28.0"}, "metadata": {"type": "Updated" }}, "humidity":{"actual" : { "value": "38.6" },"metadata": {"type": "Updated" }}}}

在这里插入图片描述9. 在云端k8s-master节点查看资源。

kubectl get device 设备名 -oyaml
kubectl get device temperature -oyaml

在这里插入图片描述

watch -n 1 -d 'kubectl get device <devicename> -oyaml'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值