ESP8266 可靠性及ID

2021-07-05 08:33:25 字數 1395 閱讀 3572

對使用c語言為

esp8266 

編寫程式的你們來說,問題在於:

esp sdk (1.2.0) 

和關於wifi的可能

非常重要的資訊以及

mqtt 

協議的可靠性。 在

sdk 中:

wifi_station_set_hostname

wifi_station_get_hostname

host id

……如果你在

windows網路中掃瞄ip,

esp 

單元會以

ip位址的形式出現,然後是製造商 

espressif

……sdk 中有 

wifi hostname get 

功能,但是,我無法用這個

get功能做任何事,反而這個功能返回了類似

esp_945645

的資訊,而不是我輸入的內容,而且在windows網路中ip掃瞄過程中也沒有顯示任何內容。因此,問題在於,你準備在什麼地方使用 sdk 中的 set 功能,以便替換出自 get 功能的資訊—以及為什麼windows網路掃瞄未能顯示任何資訊。

wifi_station_set_reconnect_policy

我發現,如果軟體在

esp12 上順暢地執行而且也能順利地與

mqtt

互動,並

且如果我斷開wifi連線和路由器連線幾秒鐘,然後再重新連線……然後就宕機了。開發板會對serial作出響應,但是它已經丟失了wifi號碼。

無論等待多久都無法解決這個問題,我在想有多少人沒有受到這個問題的困擾。好吧,如果你沒有碰到這個難題,你可真

夠幸運的。重新連線策略設定為

1會確保在幾分鐘之內,ip重新連線,當然你可以試試看是不是這樣!!!

所以下一步是檢查

ip是否已經重連

,同時呼叫 mqtt 重連機制,畢竟這個時候你已經丟失了所有的 mqtt 訂閱。

然後我想起來可能存在其它情況,

node-red

可能有一會兒沒有執行,不過我還是連線上了,最後讓node-red每分鐘向所有元件傳送乙個令人心跳的資訊(通過省掉元件名稱,只在開發板上留有

「toesp」 

的主題, 傳送到所有元件上),然後重置定時器,然後再重複以上的操作。如果wifi連線正常,計時器已超時,再次連線

mqtt

。我檢查了一下堆疊沒有問題,所以還是祈禱這次不要出現什麼差池。

因此在沒有重啟的情況下重新連線,

想想那些可怕的繼電器閃爍的結果!!!

我非常開心—我想我應該來一杯啤酒。資料庫也得到了更新,現在我開始測試開發板。

如果你在

esp8266開發板上使用了 mqtt協議和 c 語言,你可能會思考上面的問題。如果你找到了上面問題的答案,請告訴我。

ESP8266模組介紹及簡單應用

esp8266晶元是一款串列埠轉無線模晶元,內部自帶韌體,使用者操作簡單,無需編寫時序訊號等。本次實驗我用的是esp8266 01s系列。這款晶元使用了3.3v的直流電源,體積小,功耗低,支援透傳,丟包現象不嚴重,低。esp8266還允許使用者自己編寫rom,不僅可以實現資料傳輸功能,還可控制建立w...

HDFS實現其高可靠性的策略及機制

分布式檔案系統 hdfs 的高可靠性主要是由多種策略及機制共同作用實現的。主要有 可以指定資料檔案的副本數量,預設是3 保證所有的資料塊都有副本,不至於在乙個datanode宕機後,資料的丟失。集群一般放在不同機架上,機架間頻寬要比機架內頻寬要小 hdfs具有 機架感知 能力,它能自動實現在本機架上...

HDFS實現其高可靠性的策略及機制

分布式檔案系統 hdfs 的高可靠性主要是由多種策略及機制共同作用實現的。主要有 可以指定資料檔案的副本數量,預設是3 保證所有的資料塊都有副本,不至於在乙個datanode宕機後,資料的丟失。集群一般放在不同機架上,機架間頻寬要比機架內頻寬要小 hdfs具有 機架感知 能力,它能自動實現在本機架上...