久久久国产精品视频袁燕,99re久久精品国产,亚洲欧美日韩国产综合v,天天躁夜夜躁狠狠久久,激情五月婷婷激情五月婷婷

  • 回復
  • 收藏
  • 點贊
  • 分享
  • 發(fā)新帖

封控在家,帶大家建設一個物聯(lián)網(wǎng)平臺吧!

一,服務器

雖然這個沒什么要求,實驗的話虛擬機就可以;什么淘汰筆記本,臺式機也可以。由于我是狂熱份子,就買了臺巴掌大的小電腦做為我的實驗服務器。只是個電腦,內(nèi)存沒有ECC功能。不過夠我做實驗的了。

巴掌大,可以裝一塊2.5英寸機械硬盤和一塊NVME固態(tài)硬盤。8G內(nèi)存,CPU是I5-6500t,當時價格1800元。里面裝的是Ubuntu 21.04服務器系統(tǒng),我的Gcc編譯和服務器實驗都是上面進行。

怎么裝Ubuntu我就不詳細說了,網(wǎng)上教程很多,最好裝服務器版本的系統(tǒng),這種系統(tǒng)沒有界面純命令行,穩(wěn)定性非常高。

二,物聯(lián)網(wǎng)接入平臺

我選擇的是開源的EMQX,百萬級連接。比著商業(yè)版缺少數(shù)據(jù)固化功能,需要自己開發(fā)一套訂閱系統(tǒng)用于存儲數(shù)據(jù)。

網(wǎng)址是:https://www.emqx.com/zh/downloads?product=broker,記得選擇開源版的Ubuntu版本,企業(yè)版只可免費試用幾個月。

安裝也很簡單,官方給了說明,只需3行代碼。

從http://你的服務器IP:18083/進入管理界面,18083是WEB管理頁面端口。運行后的界面是這樣的。

占用的接口是下面這些,我們常使用的是1883端口,既是mqtt:tcp接口。如果使用coap協(xié)議就是5683端口。

三,傳感器模擬(物聯(lián)網(wǎng)設備1)

傳感器模擬我使用的是樹莓派,把樹莓派的CPU溫度用python上傳到物聯(lián)網(wǎng)平臺。也可以訂閱自己感興趣的主題,用于控制個燈,風扇啥的。代碼如下:

# subscriber.py
import paho.mqtt.client as mqtt
import time

# 0: 連接成功
# 1: 連接失敗-不正確的協(xié)議版本
# 2: 連接失敗-無效的客戶端標識符
# 3: 連接失敗-服務器不可用
# 4: 連接失敗-錯誤的用戶名或密碼
# 5: 連接失敗-未授權
# 6-255: 未定義
# 如果是其它問題,可以檢查網(wǎng)絡情況,或者確認是否安裝了 `paho-mqtt`。
def on_connect(client, userdata, flags, rc):
    if rc == 0:
        print("\n連接成功!\n")
    elif rc==1:
        print(f"\n接失敗-不正確的協(xié)議版本\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 失去連接后重連,仍然會繼續(xù)訂閱 raspberry/topic 主題
    client.subscribe("raspberry/topic")

# 回調(diào)函數(shù),當收到消息時,觸發(fā)該函數(shù)
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("數(shù)梅派終端")
client.username_pw_set("你的用戶名","你的密碼")
client.on_connect = on_connect
client.on_message = on_message

# 設置遺囑消息,當樹莓派斷電,或者網(wǎng)絡出現(xiàn)異常中斷時,發(fā)送遺囑消息給其他客戶端
client.will_set('raspberry/status',  b'{"status": "offline!"}')

# 創(chuàng)建連接,三個參數(shù)分別為 broker 地址,broker 端口號,?;顣r間
client.connect("10.195.136.221", 1883, 60)

# 設置網(wǎng)絡循環(huán)堵塞,在調(diào)用 disconnect() 或程序崩潰前,不會主動結束程序
client.loop_start()

while True:
    # 四個參數(shù)分別為:主題,發(fā)送內(nèi)容,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)

這段代碼每5秒鐘向服務器發(fā)送一條溫度信息。同時訂閱了一條raspberry/topic的主題。

四,訂閱設備模擬(物聯(lián)網(wǎng)設備2)

如果沒有樹莓派,也可以用軟件模擬,軟件叫MQTTX,免費的,和服務器平臺是一家,不用寫任何代碼,也是新手比較推薦的玩法。

和樹莓派一樣,可以發(fā)送消息和訂閱消息,從圖中可以看到訂閱了樹莓派所有過來的主題,當前溫度不到44度。

從上次升級到現(xiàn)在,服務器已經(jīng)運行3天接收到5萬多條信息。

全部回復(5)
正序查看
倒序查看
魯珀特
LV.4
2
2021-08-15 17:44

后續(xù)在搞點傳感器,執(zhí)行器,做個智慧家玩玩

0
回復
iszjt
LV.5
3
2021-08-20 08:44

21世紀,什么最重要?數(shù)據(jù)。有了大量的物聯(lián)網(wǎng)設備數(shù)據(jù)后,針對數(shù)據(jù),人類可以去挖掘里面的規(guī)律,挖掘里面的商業(yè)價值,對設備未來的狀態(tài)進行預測等等。樓主,物聯(lián)網(wǎng)的未來就交給你了!?。〖佑停。?!

0
回復
2021-08-20 11:01

我們這邊也一樣,閉關一個月了。

0
回復
aisi999
LV.1
5
2021-11-25 13:08

物聯(lián)網(wǎng)是通過云和傳感器執(zhí)行器等 抽象出的物理世界數(shù)據(jù)化,世界從此變得更觸手可及,同時數(shù)據(jù)也產(chǎn)生商業(yè)社會價值,就像有衛(wèi)星后的世界,在大數(shù)據(jù)和超算的加持下,預測天氣,軍事策略等 都是算法可及,預言準確度大大提高!

0
回復
2021-11-25 18:52

學習一下,后續(xù)在家也能辦公了~

0
回復
發(fā)