我想通过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字符吗?
答案 0 :(得分:0)
好的,我做了
.sendall(text.encode('utf-8')
并且发现我忘了'〜',现在一切正常:)
答案 1 :(得分:0)
在github上查看此项目,以了解nodemcu和python之间通过ip进行的通信