簡體   English   中英

如何使用python通過tcp將數據發送到ESP8266?

[英]How to send data over tcp to ESP8266 with python?

我想通過TCP將數據從計算機發送到ESP8266。 我想用python做到這一點。 我使用帶有庫的arduino語言對ESP進行編程,並且接收很簡單:

while(client.available()){
    String in = client.readStringUntil('~'); 
    //i use '~' instead of '\n' as end character because i often can't send '\n' from tcp android apps
    ...
}

我將內置套接字庫用於python,這是我嘗試發送數據的方式:

server_ip = '192.168.1.100'
server_port = 3000
soc = socket.socket()
soc.connect((server_ip, server_port))
soc.send("mydata")

但是我仍然收到錯誤“ TypeError:需要一個類似字節的對象,而不是'str'”。 我嘗試了.sendall等,有時它們可​​以工作,但是我的ESP由於某種原因而重啟,也許是編碼? 有人可以給我簡單的路徑來發送基本字符串,即使僅使用ASCII字符嗎?

好吧,我做到了

.sendall(text.encode('utf-8')

並發現我忘了'〜',現在一切正常:)

在github上查看此項目,了解nodemcu和python之間通過ip進行的通信

https://github.com/wahajmurtaza/NodeMCU-Python-Wifi

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM