Micropython:和开发板通过SOCKET聊天

ESP8266主打的WIFI功能使得我们将设备连入网络变得更加简单方便低成本,MicroPython则将单片机的门槛变得很低,两者结合起来,使得我们能更加方便的透过网络操作单片机,本次我们介绍Micropython的Socket使用方法,使用安卓端TCP工具(软件名为 TCP连接,大家可上各大app市场搜索),通过SOCKET与ESP8266芯片通信。

通过上图我们可以看到,我们向芯片发送一串字符,然后芯片向手机回复了一串字符,同时我们可以看到串口工具上开发板的串口输出信息:

而开发板上的程序则十分简单:


# -*- coding:utf-8 -*-
import usocket #导入socket包
s=usocket.socket()
s.bind(('',23)) #监听本地端口23
s.listen(5)
while True:
print("waiting...")
c,a=s.accept()
client_data=c.recv(1024)
print(client_data) #输出收到的消息
c.send("hi,ZhimaDIY")
c.close()

这段程序就是一个简单的socket server了,当23端口收到任何消息的时候,开发板就会输出”hi,ZhimaDIY”这一字符串,usocket已经被集成到Micropython自带库中,一个 import 就能使用,不过大家仍然可以到https://github.com/micropython/micropython-lib 中查找学习该模块的源码和使用方法。