91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

零知IDE——基于STM32與W5500的UDP通信實(shí)現(xiàn)溫濕度監(jiān)控

零知實(shí)驗(yàn)室 ? 來(lái)源:PCB56242069 ? 作者:PCB56242069 ? 2026-02-28 15:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

? ?零知開(kāi)源(零知IDE)是一個(gè)專為電子初學(xué)者/電子興趣愛(ài)好者設(shè)計(jì)的開(kāi)源軟硬件平臺(tái),在硬件上提供超高性價(jià)比STM32系列開(kāi)發(fā)板、物聯(lián)網(wǎng)控制板。取消了Bootloader程序燒錄,讓開(kāi)發(fā)重心從“配置環(huán)境”轉(zhuǎn)移到“創(chuàng)意實(shí)現(xiàn)”,極大降低了技術(shù)門(mén)檻。零知IDE編程軟件,內(nèi)置上千個(gè)覆蓋多場(chǎng)景的示例代碼,支持項(xiàng)目源碼一鍵下載,項(xiàng)目文章在線瀏覽。零知開(kāi)源(零知IDE)平臺(tái)通過(guò)軟硬件協(xié)同創(chuàng)新,讓你的創(chuàng)意快速轉(zhuǎn)化為實(shí)物,來(lái)動(dòng)手試試吧!

?訪問(wèn)零知實(shí)驗(yàn)室,獲取更多實(shí)戰(zhàn)項(xiàng)目和教程資源吧!

www.lingzhilab.com

?

項(xiàng)目概述

本項(xiàng)目基于零知增強(qiáng)板(主控STM32F407VET6)結(jié)合W5500以太網(wǎng)模塊,實(shí)現(xiàn)了一套完整的UDP通信溫濕度監(jiān)控系統(tǒng)。系統(tǒng)通過(guò)DHT11傳感器實(shí)時(shí)采集環(huán)境溫濕度數(shù)據(jù),通過(guò)W5500以太網(wǎng)模塊建立UDP通信鏈路,將數(shù)據(jù)發(fā)送至PC上位機(jī)。同時(shí),上位機(jī)可通過(guò)UDP協(xié)議發(fā)送控制指令,遠(yuǎn)程控制開(kāi)發(fā)板上的LED燈開(kāi)關(guān)狀態(tài)

項(xiàng)目難點(diǎn)及解決方案

問(wèn)題描述:多網(wǎng)卡路由沖突導(dǎo)致路由表混亂,UDP包丟失

解決方案:網(wǎng)段隔離與靜態(tài)配置,將網(wǎng)絡(luò)拓?fù)鋸幕旌暇W(wǎng)段改為獨(dú)立網(wǎng)段;代碼中禁用DHCP功能,網(wǎng)關(guān)和DNS強(qiáng)制指向PC的以太網(wǎng)IP;同時(shí)網(wǎng)段檢測(cè)邏輯

一、系統(tǒng)硬件部分

1.1 元件清單

硬件名稱 數(shù)量 備注
零知增強(qiáng)板(STM32F407VET6) 1 主控核心板
W5500 以太網(wǎng)模塊 1 帶 SPI 接口的以太網(wǎng)模塊
DHT11 溫濕度傳感器 1 數(shù)字型溫濕度傳感器
LED 發(fā)光二極管 1 用于遠(yuǎn)程控制演示
10K 上拉電阻 1 DHT11 數(shù)據(jù)腳需接
杜邦線 若干 連接各模塊
網(wǎng)線 1 PC 與 W5500 直連
PC(帶以太網(wǎng)口) 1 運(yùn)行 Python 上位機(jī)

1.2 接線方案表

請(qǐng)務(wù)必嚴(yán)格按照代碼中的定義進(jìn)行連接,否則會(huì)導(dǎo)致初始化失敗。

零知增強(qiáng)板引腳 外接設(shè)備 設(shè)備引腳 功能說(shuō)明
7 DHT11 DATA 溫濕度數(shù)據(jù)傳輸
8 LED 正極 LED 控制引腳(低電平熄滅)
GND DHT11/LED/W5500 GND 公共接地
5V W5500/DHT11 5V / + 供電(W5500 需 5V)
3.3V 可選 DHT11 (+) DHT11 也可接 3.3V
A5 (SCLK) W5500 SCLK SPI 時(shí)鐘
A6 (MISO) W5500 MISO SPI 主機(jī)輸入 / 從機(jī)輸出
A7 (MOSI) W5500 MOSI SPI 主機(jī)輸出 / 從機(jī)輸入
A4 (SCS) W5500 CS W5500 片選引腳

1.3 接線示意圖

wKgZO2mihGeAdPofAAL7J-GWgn0512.png

W5500 的 SPI 接線必須嚴(yán)格對(duì)應(yīng)零知增強(qiáng)板 的 SPI 引腳(SCK/MISO/MOSI/CS)

1.4 實(shí)物連接圖

wKgZPGmihGqAJm-OAAHDpmOJff4944.png

二、安裝與使用部分

2.1 開(kāi)源平臺(tái)-輸入"W5500的UDP通信"并搜索-代碼下載自動(dòng)打開(kāi)

wKgZPGmihKOAV5jJAAH2rQYRbIQ254.png

2.2 連接-驗(yàn)證-上傳

wKgZPGmihKqATLHYAAMaMkf-JbY751.png

2.3 調(diào)試-串口監(jiān)視器

wKgZO2mihK-AanV3AANXu1QQwrE695.png

三、核心代碼講解

本項(xiàng)目的代碼設(shè)計(jì)體現(xiàn)了模塊化和健壯性的特點(diǎn),以下將對(duì)核心的四個(gè)部分進(jìn)行詳細(xì)剖析

3.1網(wǎng)絡(luò)初始化與配置

網(wǎng)絡(luò)初始化是本項(xiàng)目的核心,采用PC直連靜態(tài)IP模式,確保通信穩(wěn)定

// ==================== 網(wǎng)絡(luò)配置 - PC直連模式 ====================
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

// 靜態(tài)IP配置
IPAddress staticIP(192, 168, 10, 22);      // W5500的IP
IPAddress gateway(192, 168, 10, 1);        // 設(shè)為PC的以太網(wǎng)卡IP
IPAddress subnet(255, 255, 255, 0);        
IPAddress dnsip(192, 168, 10, 1);          // DNS指向PC

// PC的以太網(wǎng)卡IP
IPAddress pcIP(192, 168, 10, 17);

// 網(wǎng)絡(luò)初始化函數(shù)
void initNetwork() {
  // 靜態(tài)IP配置
  Ethernet.begin(mac, staticIP, dnsip, gateway, subnet);
  
  // 驗(yàn)證網(wǎng)絡(luò)配置
  IPAddress ip = Ethernet.localIP();
  if (ip == IPAddress(0, 0, 0, 0)) {
    Serial.println("??? 錯(cuò)誤: 以太網(wǎng)初始化失敗! ???");
    // 錯(cuò)誤處理...
  }
  
  // 啟動(dòng)UDP服務(wù)
  Udp.begin(localPort);
}

PC以太網(wǎng)卡不提供DHCP服務(wù),必須使用靜態(tài)IP;網(wǎng)關(guān)設(shè)置指向PC,點(diǎn)對(duì)點(diǎn)直連網(wǎng)絡(luò)

3.2DHT11數(shù)據(jù)采集與處理

DHT11傳感器數(shù)據(jù)采集需要精確的時(shí)序控制,并處理可能的讀取失敗情況

// DHT11初始化
DHT dht(DHTPIN, DHTTYPE);

// 讀取DHT數(shù)據(jù)函數(shù)
void readDHTData() {
  unsigned long currentTime = millis();
  
  // 每10秒讀取一次
  if (currentTime - lastDHTReadTime >= 10000) {
    lastDHTReadTime = currentTime;
    
    float h = dht.readHumidity();
    float t = dht.readTemperature();
    
    if (isnan(h) || isnan(t)) {
      Serial.println("? DHT11讀取失敗!");
      dhtValid = false;
    } else {
      humidity = h;
      temperature = t;
      dhtValid = true;
      
      // 發(fā)送數(shù)據(jù)
      sendDHTData();
    }
  }
}

// 發(fā)送DHT數(shù)據(jù)函數(shù)
void sendDHTData() {
  if (dhtValid) {
    messageCount++;
    
    char tempStr[10];
    char humiStr[10];
    floatToString(tempStr, temperature, 2);  // 2位小數(shù)精度
    floatToString(humiStr, humidity, 2);
    
    // 構(gòu)建JSON格式數(shù)據(jù)
    snprintf(sendBuffer, sizeof(sendBuffer),
             "{"type":"dht","count":%lu,"temp":%s,"humi":%s,"time":%lu}",
             messageCount, tempStr, humiStr, millis() / 1000);
    
    sendUDP(sendBuffer);
  }
}

DHT11設(shè)置為10秒的讀取間隔,使用自定義floatToString()函數(shù)處理浮點(diǎn)數(shù)

3.3 UDP通信協(xié)議解析

實(shí)現(xiàn)簡(jiǎn)單的命令解析機(jī)制,支持多種控制指令

// 協(xié)議解析函數(shù)
void parseCommand(const char* cmd, IPAddress remoteIP, int remotePort) {
  // LED_ON命令
  if (strcmp(cmd, "LED_ON") == 0) {
    digitalWrite(LED_CONTROL_PIN, HIGH);
    ledControlState = true;
    
    snprintf(sendBuffer, sizeof(sendBuffer),
             "{"type":"response","cmd":"LED_ON","status":"success","led_state":true}");
    
    Udp.beginPacket(remoteIP, remotePort);
    Udp.write((uint8_t*)sendBuffer, strlen(sendBuffer));
    Udp.endPacket();
  }
  // GET_DHT命令
  else if (strcmp(cmd, "GET_DHT") == 0) {
    float h = dht.readHumidity();
    float t = dht.readTemperature();
    
    if (isnan(h) || isnan(t)) {
      snprintf(sendBuffer, sizeof(sendBuffer),
               "{"type":"response","cmd":"GET_DHT","status":"error","error":"read_failed"}");
    } else {
      char tempStr[10];
      char humiStr[10];
      floatToString(tempStr, t, 2);
      floatToString(humiStr, h, 2);
      
      snprintf(sendBuffer, sizeof(sendBuffer),
               "{"type":"response","cmd":"GET_DHT","status":"success","temp":%s,"humi":%s}",
               tempStr, humiStr);
    }
    
    Udp.beginPacket(remoteIP, remotePort);
    Udp.write((uint8_t*)sendBuffer, strlen(sendBuffer));
    Udp.endPacket();
  }
  // 其他命令處理...
}

支持的命令列表

指令 功能說(shuō)明 返回信息
LED_ON 點(diǎn)亮LED 返回成功狀態(tài)和LED狀態(tài)
LED_OFF 熄滅LED 返回成功狀態(tài)和LED狀態(tài)
GET_DHT 讀取實(shí)時(shí)溫濕度 返回?cái)?shù)據(jù)或錯(cuò)誤信息
STATUS 獲取設(shè)備完整狀態(tài)信息 返回設(shè)備狀態(tài)

每個(gè)命令都有明確的成功/失敗狀態(tài)返回,接收到命令后立即處理并返回結(jié)果

3.4系統(tǒng)狀態(tài)維護(hù)與心跳機(jī)制

系統(tǒng)需要維護(hù)多個(gè)狀態(tài)變量,并實(shí)現(xiàn)心跳機(jī)制確保連接正常

// 全局狀態(tài)變量
unsigned long lastDHTReadTime = 0;    // 上次DHT讀取時(shí)間
unsigned long lastSendTime = 0;       // 上次發(fā)送時(shí)間
unsigned long messageCount = 0;       // 消息計(jì)數(shù)器
unsigned long lastHeartbeat = 0;      // 上次心跳時(shí)間

bool dhtValid = false;                // DHT數(shù)據(jù)有效性
bool ledControlState = false;         // LED控制狀態(tài)
bool networkInitialized = false;      // 網(wǎng)絡(luò)初始化狀態(tài)

unsigned long packetsSent = 0;        // 發(fā)送數(shù)據(jù)包計(jì)數(shù)
unsigned long packetsReceived = 0;    // 接收數(shù)據(jù)包計(jì)數(shù)

// 心跳包發(fā)送函數(shù)
void sendHeartbeat() {
  unsigned long currentTime = millis();
  
  if (currentTime - lastHeartbeat >= 30000) {  // 每30秒
    lastHeartbeat = currentTime;
    
    snprintf(sendBuffer, sizeof(sendBuffer),
             "{"type":"heartbeat","uptime":%lu,"packets_sent":%lu,"packets_received":%lu}",
             millis() / 1000, packetsSent, packetsReceived);
    sendUDP(sendBuffer);
  }
}

// 狀態(tài)LED指示函數(shù)
void updateStatusLED() {
  unsigned long currentTime = millis();
  
  if (currentTime - lastBlinkTime >= 500) {  // 每500ms閃爍一次
    lastBlinkTime = currentTime;
    ledBlinkState = !ledBlinkState;
    digitalWrite(LED_BUILTIN, ledBlinkState ? LOW : HIGH);
  }
}

統(tǒng)計(jì)發(fā)送和接收的數(shù)據(jù)包數(shù)量,用于監(jiān)控通信質(zhì)量;定期發(fā)送心跳包,讓上位機(jī)知道設(shè)備在線狀態(tài)

3.5 系統(tǒng)完整代碼

/**************************************************************************************
 * 文件: W5500_UDP_DHT11_Control.ino
 * 作者:零知實(shí)驗(yàn)室(深圳市在芯間科技有限公司)
 * -^^- 零知實(shí)驗(yàn)室,讓電子制作變得更簡(jiǎn)單! -^^-
 * 時(shí)間: 2026-02-09
 * 網(wǎng)絡(luò)拓?fù)?
 *   路由器(192.168.3.1) ←WiFi→ PC(WiFi: 192.168.3.17, 以太網(wǎng): 192.168.10.1)
 *                                    ↓ 直連網(wǎng)線
 *                               W5500(192.168.10.22)
 * 
 * 功能說(shuō)明:
 * W5500以太網(wǎng)模塊UDP通信、DHT11溫濕度傳感器數(shù)據(jù)采集和上報(bào)、遠(yuǎn)程LED控制功能、簡(jiǎn)單協(xié)議解析和響應(yīng)、修復(fù)JSON浮點(diǎn)數(shù)格式化問(wèn)題(snprintf不支持%f)
 ************************************************************************************/

#include 
#include 
#include 
#include "DHT.h"

// ==================== 硬件配置 ====================
#define DHTPIN 7
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

#define LED_CONTROL_PIN 8


// ==================== 網(wǎng)絡(luò)配置 - PC直連模式 ====================
#if defined(WIZ550io_WITH_MACADDRESS)
  // WIZ550io有內(nèi)置MAC地址
#else
  byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
#endif

//  PC直連模式 - 必須使用靜態(tài)IP!
// PC的以太網(wǎng)卡不提供DHCP服務(wù),所以DHCP無(wú)法工作
#define USE_DHCP false

// ==================== 重要: 網(wǎng)段配置說(shuō)明 ====================
// 使用 192.168.10.x 網(wǎng)段,與PC的WiFi網(wǎng)段(192.168.3.x)分開(kāi)
// 避免IP沖突和路由混亂

// 靜態(tài)IP配置
IPAddress staticIP(192, 168, 10, 22);      // W5500的IP
IPAddress gateway(192, 168, 10, 1);        // 設(shè)為PC的以太網(wǎng)卡IP
IPAddress subnet(255, 255, 255, 0);        
IPAddress dnsip(192, 168, 10, 1);          // DNS指向PC

// PC的以太網(wǎng)卡IP (連接W5500的那個(gè)網(wǎng)卡)
//  不是WiFi的IP (192.168.3.17)!
IPAddress pcIP(192, 168, 10, 17);

// UDP端口
unsigned int localPort = 8888;
unsigned int pcPort = 9003;

// ==================== 如果您的PC以太網(wǎng)卡IP是其他值 ====================
// 請(qǐng)相應(yīng)修改上面的配置,例如:
// 
// 如果PC以太網(wǎng)卡是 192.168.137.1 (啟用了ICS):
//   IPAddress staticIP(192, 168, 137, 22);
//   IPAddress gateway(192, 168, 137, 1);
//   IPAddress dnsip(192, 168, 137, 1);
//   IPAddress pcIP(192, 168, 137, 1);
//
// 如果PC以太網(wǎng)卡是 192.168.3.215 (不推薦,會(huì)與WiFi沖突):
//   IPAddress staticIP(192, 168, 3, 22);
//   IPAddress gateway(192, 168, 3, 215);  // 指向PC,不是路由器!
//   IPAddress dnsip(192, 168, 3, 215);
//   IPAddress pcIP(192, 168, 3, 215);


// ==================== 全局變量 ====================
EthernetUDP Udp;
char receiveBuffer[256];
char sendBuffer[512];

// 定時(shí)器
unsigned long lastDHTReadTime = 0;
unsigned long lastSendTime = 0;
unsigned long messageCount = 0;
unsigned long lastHeartbeat = 0;

// DHT數(shù)據(jù)
float temperature = 0.0;
float humidity = 0.0;
bool dhtValid = false;

// LED狀態(tài)
bool ledControlState = false;
unsigned long lastBlinkTime = 0;
bool ledBlinkState = false;

// 網(wǎng)絡(luò)狀態(tài)
bool networkInitialized = false;
unsigned long lastSuccessTime = 0;
unsigned long packetsSent = 0;
unsigned long packetsReceived = 0;


// ==================== 函數(shù)聲明 ====================
void floatToString(char* buffer, float value, int decimalPlaces);


// ==================== 浮點(diǎn)數(shù)轉(zhuǎn)字符串 ====================
void floatToString(char* buffer, float value, int decimalPlaces) {
  int intPart = (int)value;
  int decPart = (int)((value - intPart) * pow(10, decimalPlaces));
  
  if (decPart < 0) decPart = -decPart;
  
  if (decimalPlaces == 1) {
    sprintf(buffer, "%d.%01d", intPart, decPart);
  } else if (decimalPlaces == 2) {
    sprintf(buffer, "%d.%02d", intPart, decPart);
  }
}


// ==================== 初始化 ====================
void setup() {
  Serial.begin(115200);
  delay(100);
  
  Serial.println("nn");
  Serial.println("========================================");
  Serial.println("  W5500 UDP + DHT11溫濕度監(jiān)控系統(tǒng)");
  Serial.println("  零知實(shí)驗(yàn)室");
  Serial.println("  版本: v3.1 (PC直連專用版)");
  Serial.println("========================================n");
  
  Serial.println("  網(wǎng)絡(luò)模式: PC直連(靜態(tài)IP)");
  Serial.println("  請(qǐng)確保PC的以太網(wǎng)卡已配置靜態(tài)IP!n");
  
  initHardware();
  initNetwork();
  initDHT();
  
  Serial.println("n========================================");
  Serial.println("系統(tǒng)啟動(dòng)完成!");
  Serial.println("========================================n");
  
  printSystemInfo();
  sendStartupMessage();
  
  Serial.println("n開(kāi)始工作...n");
  Serial.println("----------------------------------------n");
}


// ==================== 硬件初始化 ====================
void initHardware() {
  Serial.println("[1/3] 初始化硬件...");
  
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, HIGH);
  
  pinMode(LED_CONTROL_PIN, OUTPUT);
  digitalWrite(LED_CONTROL_PIN, LOW);
  ledControlState = false;
  
  // 啟動(dòng)提示 - LED快閃3次
  for(int i = 0; i < 3; i++) {
    digitalWrite(LED_BUILTIN, LOW);
    delay(100);
    digitalWrite(LED_BUILTIN, HIGH);
    delay(100);
  }
  
  Serial.println("? 硬件初始化完成!");
}


// ==================== 網(wǎng)絡(luò)初始化 ====================
void initNetwork() {
  Serial.println("n[2/3] 初始化W5500以太網(wǎng)模塊...");
  Serial.println("  模式: 靜態(tài)IP (PC直連)");
  delay(500);
  
  // 靜態(tài)IP配置
  #if defined(WIZ550io_WITH_MACADDRESS)
    Ethernet.begin(staticIP, dnsip, gateway, subnet);
  #else
    Ethernet.begin(mac, staticIP, dnsip, gateway, subnet);
  #endif
  
  delay(1000);
  
  // 驗(yàn)證網(wǎng)絡(luò)配置
  IPAddress ip = Ethernet.localIP();
  
  if (ip == IPAddress(0, 0, 0, 0)) {
    Serial.println("n??? 錯(cuò)誤: 以太網(wǎng)初始化失敗! ???");
    Serial.println("n請(qǐng)檢查:");
    Serial.println("  1. W5500模塊SPI接線是否正確");
    Serial.println("  2. 網(wǎng)線是否連接到PC的以太網(wǎng)口");
    Serial.println("  3. PC的以太網(wǎng)卡是否已配置靜態(tài)IP");
    Serial.println("n設(shè)備將進(jìn)入錯(cuò)誤指示模式");
    
    while(1) {
      digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
      delay(100);
    }
  }
  
  Serial.println("n? W5500初始化成功!");
  Serial.println("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
  Serial.print("  本機(jī)IP:   ");
  Serial.println(ip);
  Serial.print("  子網(wǎng)掩碼: ");
  Serial.println(Ethernet.subnetMask());
  Serial.print("  網(wǎng)關(guān):     ");
  Serial.println(Ethernet.gatewayIP());
  Serial.print("  DNS:      ");
  Serial.println(Ethernet.dnsServerIP());
  Serial.println("  模式:     靜態(tài)IP (PC直連)");
  Serial.println("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
  
  // 顯示PC配置提示
  Serial.println("n


審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • STM32
    +關(guān)注

    關(guān)注

    2309

    文章

    11161

    瀏覽量

    373370
  • UDP
    UDP
    +關(guān)注

    關(guān)注

    0

    文章

    334

    瀏覽量

    35407
  • 濕度監(jiān)控
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    5320
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    IDE——基于STM32W5500UDP通信實(shí)現(xiàn)溫濕度監(jiān)控

    以太網(wǎng)模塊,實(shí)現(xiàn)了一套完整的UDP通信溫濕度監(jiān)控系統(tǒng)。系統(tǒng)通過(guò)DHT11傳感器實(shí)時(shí)采集環(huán)境溫濕度
    發(fā)表于 02-28 16:08

    冷庫(kù)溫濕度監(jiān)控系統(tǒng)物聯(lián)網(wǎng)解決方案

    冷庫(kù)作為生鮮食品、醫(yī)藥試劑、化工原料等物資的核心存儲(chǔ)載體,溫濕度的穩(wěn)定性直接決定物資品質(zhì)與安全。傳統(tǒng)冷庫(kù)溫濕度管理存在諸多痛點(diǎn):人工巡檢效率低、誤差大,難以實(shí)現(xiàn) 24 小時(shí)全覆蓋監(jiān)測(cè);溫濕度
    的頭像 發(fā)表于 01-19 16:57 ?464次閱讀

    科研實(shí)驗(yàn)室以太網(wǎng)POE供電溫濕度監(jiān)控系統(tǒng)方案

    可能導(dǎo)致實(shí)驗(yàn)數(shù)據(jù)失真、樣品失效、設(shè)備損壞等嚴(yán)重后果。傳統(tǒng)監(jiān)控方式存在布線復(fù)雜、供電不便、數(shù)據(jù)傳輸延遲、維護(hù)成本高等問(wèn)題,而以太網(wǎng) POE(Power over Ethernet)技術(shù)可實(shí)現(xiàn) “一線雙用”(同時(shí)傳輸數(shù)據(jù)與電力),結(jié)合高精度
    的頭像 發(fā)表于 12-18 14:35 ?1338次閱讀
    科研實(shí)驗(yàn)室以太網(wǎng)POE供電<b class='flag-5'>溫濕度</b><b class='flag-5'>監(jiān)控</b>系統(tǒng)方案

    STM32驅(qū)動(dòng)W5500作為客戶端進(jìn)行通訊

    SR-ES1內(nèi)嵌Wiznet的W5500芯片,使用硬件邏輯門(mén)電路實(shí)現(xiàn)TCP/IP協(xié)議棧的傳輸層及網(wǎng)絡(luò)層(如:TCP,UDP,ICMP,IPv4,ARP,IGMP,PPPoE等協(xié)議),并集成了數(shù)據(jù)鏈
    的頭像 發(fā)表于 10-14 17:19 ?1332次閱讀
    <b class='flag-5'>STM32</b>驅(qū)動(dòng)<b class='flag-5'>W5500</b>作為客戶端進(jìn)行通訊

    MCU無(wú)法檢測(cè)到W5500是怎么回事?

    在兆易創(chuàng)新 GD32F303,國(guó)民技術(shù) N32G457和ST STM32F103上試用了W5500以太網(wǎng)模塊(RT-Thread版本是rt-thread-4.1.1), 只有STM32F103上可以
    發(fā)表于 10-14 07:38

    使用w5500通信使用wiz包的時(shí)候,突然拔掉網(wǎng)線,如何釋放網(wǎng)絡(luò)資源?

    我用wiz包,使用w5500進(jìn)行網(wǎng)絡(luò)通信,對(duì)接到但是socket此時(shí)已經(jīng)建立,正在通信,如果此時(shí)突然拔掉網(wǎng)線,因?yàn)楸旧硎褂梅亲枞K晕疫@邊可以通過(guò)netdev_is_link_up檢測(cè)到網(wǎng)線斷開(kāi)
    發(fā)表于 10-11 09:01

    開(kāi)源——STM32F407VET6驅(qū)動(dòng)SHT41溫濕度傳感器完整教程

    目基于STM32F407VET6增強(qiáng)板,實(shí)現(xiàn)SHT41高精度溫濕度傳感器的驅(qū)動(dòng)和數(shù)據(jù)采集。SHT41是Sensirion推出的新一代數(shù)字
    發(fā)表于 07-10 12:01

    開(kāi)源——STM32F407VET6驅(qū)動(dòng)SHT41溫濕度傳感器完整教程

    摘要:本項(xiàng)目基于STM32F407VET6增強(qiáng)板驅(qū)動(dòng)SHT41高精度溫濕度傳感器,實(shí)現(xiàn)±0.2℃溫度精度和±1.8%RH
    的頭像 發(fā)表于 07-09 18:53 ?1537次閱讀
    <b class='flag-5'>零</b><b class='flag-5'>知</b>開(kāi)源——<b class='flag-5'>STM32</b>F407VET6驅(qū)動(dòng)SHT41<b class='flag-5'>溫濕度</b>傳感器完整教程

    一款適用于粉塵、易結(jié)露等惡劣環(huán)境溫濕度監(jiān)控中的溫濕度傳感芯片

    溫濕度監(jiān)控系統(tǒng)在惡劣環(huán)境中通過(guò)傳感器實(shí)時(shí)監(jiān)測(cè)溫濕度參數(shù),當(dāng)達(dá)到預(yù)設(shè)閾值時(shí)自動(dòng)觸發(fā)預(yù)警或調(diào)節(jié)機(jī)制,確保環(huán)境狀態(tài)維持在安全范圍內(nèi)。
    的頭像 發(fā)表于 07-09 09:41 ?681次閱讀
    一款適用于粉塵、易結(jié)露等惡劣環(huán)境<b class='flag-5'>溫濕度</b><b class='flag-5'>監(jiān)控</b>中的<b class='flag-5'>溫濕度</b>傳感芯片

    物聯(lián)網(wǎng)溫濕度監(jiān)控系統(tǒng)

    物聯(lián)網(wǎng)溫濕度監(jiān)控系統(tǒng)作為現(xiàn)代智能化管理的重要工具,已廣泛應(yīng)用于農(nóng)業(yè)溫室、醫(yī)藥倉(cāng)儲(chǔ)、數(shù)據(jù)中心、食品冷鏈等多個(gè)領(lǐng)域。其核心價(jià)值在于通過(guò)實(shí)時(shí)數(shù)據(jù)采集、智能分析和遠(yuǎn)程控制,實(shí)現(xiàn)對(duì)環(huán)境參數(shù)的精準(zhǔn)管理,從而保障
    的頭像 發(fā)表于 07-07 17:36 ?1012次閱讀

    溫濕度變送器功能有哪些?一文詳細(xì)解析

    數(shù)據(jù),幫助用戶及時(shí)了解環(huán)境狀況。 二、數(shù)據(jù)傳輸與遠(yuǎn)程監(jiān)控 溫濕度變送器可以將測(cè)量到的溫濕度數(shù)據(jù)通過(guò)多種方式進(jìn)行傳輸,如模擬信號(hào)、數(shù)字信號(hào)等。用戶可以將變送器與監(jiān)控系統(tǒng)相連,
    發(fā)表于 06-03 10:56

    智能倉(cāng)儲(chǔ):溫濕度監(jiān)控方案應(yīng)用

    隨著倉(cāng)儲(chǔ)環(huán)境要求提高,溫濕度監(jiān)控對(duì)保障貨物品質(zhì)至關(guān)重要。本文介紹一個(gè)工廠倉(cāng)庫(kù)溫濕度監(jiān)控方案,利用溫濕度變送器、LoRa技術(shù)和智能監(jiān)測(cè)平臺(tái),為
    的頭像 發(fā)表于 05-29 11:35 ?781次閱讀
    智能倉(cāng)儲(chǔ):<b class='flag-5'>溫濕度</b><b class='flag-5'>監(jiān)控</b>方案應(yīng)用

    w5500隨機(jī)出現(xiàn)接收問(wèn)題

    我現(xiàn)在用STM32F103CBT6與W5500作為T(mén)CP Server,多臺(tái)PC與服務(wù)器連接上后,服務(wù)器會(huì)實(shí)時(shí)傳輸數(shù)據(jù)到PC上,并且PC隨時(shí)能通過(guò)控制軟件發(fā)送數(shù)據(jù)至服務(wù)器。但是運(yùn)行一段時(shí)間后,PC上
    發(fā)表于 05-15 09:45

    革新科技!通過(guò)EtherCAT與Profinet網(wǎng)關(guān)實(shí)現(xiàn)溫濕度監(jiān)控,醫(yī)藥設(shè)備領(lǐng)域的智能革命來(lái)臨!

    "革新科技!通過(guò)EtherCAT與Profinet網(wǎng)關(guān)實(shí)現(xiàn)溫濕度監(jiān)控,醫(yī)藥設(shè)備領(lǐng)域的智能革命來(lái)臨!"
    的頭像 發(fā)表于 03-19 16:34 ?655次閱讀
    革新科技!通過(guò)EtherCAT與Profinet網(wǎng)關(guān)<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>溫濕度</b><b class='flag-5'>監(jiān)控</b>,醫(yī)藥設(shè)備領(lǐng)域的智能革命來(lái)臨!

    通過(guò)手機(jī)端遠(yuǎn)程監(jiān)控冷庫(kù)溫濕度并進(jìn)行遠(yuǎn)程控制

    在冷鏈物流領(lǐng)域,確保儲(chǔ)存環(huán)境的溫濕度穩(wěn)定是至關(guān)重要的。隨著科技的飛速發(fā)展,通過(guò)手機(jī)端遠(yuǎn)程監(jiān)控與控制冷庫(kù)的溫濕度已經(jīng)成為現(xiàn)實(shí),為冷鏈物流帶來(lái)了前所未有的便捷與高效。 ?一、技術(shù)原理? 手機(jī)端遠(yuǎn)程
    的頭像 發(fā)表于 03-10 10:30 ?1101次閱讀
    通過(guò)手機(jī)端遠(yuǎn)程<b class='flag-5'>監(jiān)控</b>冷庫(kù)<b class='flag-5'>溫濕度</b>并進(jìn)行遠(yuǎn)程控制