i56500可以装几个虚拟机,i5十一代可以开几个虚拟机

首页 > 经验 > 作者:YD1662022-10-29 03:34:14

占用的接口是下面这些,我们常使用的是1883端口,既是mqtt:tcp接口。如果使用coap协议就是5683端口。

i56500可以装几个虚拟机,i5十一代可以开几个虚拟机(5)

三,传感器模拟(物联网设备1)

传感器模拟我使用的是树莓派,把树莓派的CPU温度用python上传到物联网平台。也可以订阅自己感兴趣的主题,用于控制个灯,风扇啥的。代码如下:

# subscriber.py import paho.mqtt.client as mqtt import time # 0: 连接成功 # 1: 连接失败-不正确的协议版本 # 2: 连接失败-无效的客户端标识符 # 3: 连接失败-服务器不可用 # 4: 连接失败-错误的用户名或密码 # 5: 连接失败-未授权 # 6-255: 未定义 # 如果是其它问题,可以检查网络情况,或者确认是否安装了 `paho-mqtt`。 def on_connect(client, userdata, flags, rc): if rc == 0: print("\n连接成功!\n") elif rc==1: print(f"\n接失败-不正确的协议版本\n") elif rc==2: print(f"\n连接失败-无效的客户端标识符\n") elif rc==3: print(f"\n连接失败-服务器不可用\n") elif rc==4: print(f"\n连接失败-错误的用户名或密码\n") elif rc==5: print(f"\n连接失败-未授权\n") else: print(f"\n连接失败-未定义\n") # 订阅,需要放在 on_connect 里 # 如果与 broker 失去连接后重连,仍然会继续订阅 raspberry/topic 主题 client.subscribe("raspberry/topic") # 回调函数,当收到消息时,触发该函数 def on_message(client, userdata, msg): print(f"{msg.topic} {msg.payload}") def get_cpu_temp(): tempFile = open( "/sys/class/thermal/thermal_zone0/temp" ) cpu_temp = tempFile.read() tempFile.close() return float(cpu_temp)/1000 client = mqtt.Client("数梅派终端") client.username_pw_set("你的用户名","你的密码") client.on_connect = on_connect client.on_message = on_message # 设置遗嘱消息,当树莓派断电,或者网络出现异常中断时,发送遗嘱消息给其他客户端 client.will_set('raspberry/status', b'{"status": "offline!"}') # 创建连接,三个参数分别为 broker 地址,broker 端口号,保活时间 client.connect("10.195.136.221", 1883, 60) # 设置网络循环堵塞,在调用 disconnect() 或程序崩溃前,不会主动结束程序 client.loop_start() while True: # 四个参数分别为:主题,发送内容,QoS, 是否保留消息 client.publish('raspberry/topic', payload=str(get_cpu_temp()), qos=0, retain=False) print(f"send cpu temp to raspberry/topic") time.sleep(5)

Copy

这段代码每5秒钟向服务器发送一条温度信息。同时订阅了一条raspberry/topic的主题。

四,订阅设备模拟(物联网设备2)

如果没有树莓派,也可以用软件模拟,软件叫MQTTX,免费的,和服务器平台是一家,不用写任何代码,也是新手比较推荐的玩法。

i56500可以装几个虚拟机,i5十一代可以开几个虚拟机(6)

i56500可以装几个虚拟机,i5十一代可以开几个虚拟机(7)

和树莓派一样,可以发送消息和订阅消息,从图中可以看到订阅了树莓派所有过来的主题,当前温度不到44度。

从上次升级到现在,服务器已经运行3天接收到5万多条信息。

i56500可以装几个虚拟机,i5十一代可以开几个虚拟机(8)

上一页123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.