如何通过python将数据通过tcp发送到ESP8266?

时间:2018-06-06 19:54:11

标签: python python-3.x arduino esp8266 arduino-esp8266

我想通过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字符吗?

2 个答案:

答案 0 :(得分:0)

好的,我做了

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

并且发现我忘了'〜',现在一切正常:)

答案 1 :(得分:0)

在github上查看此项目,以了解nodemcu和python之间通过ip进行的通信

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