python udp_【esp8266 micropython】之五 UDP教程

【esp8266 micropython】之五 UDP教程

[复制链接]

本帖最后由 Chocho 于 2017-3-13 09:43 编辑

micropython udp on esp8266

TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据,相对TCP,UDP则是面向无连接的协议,使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发数据包。

程序如下:

import socket

port = 10086

s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

s.bind(('192.168.0.110',port))  #绑定端口

print('waiting...')

while True:         #接收数据

data,addr=s.recvfrom(1024)

print('received:',data,'from',addr)复制代码

将烧录了micropython的esp8266连接到PC,用之前几篇教程的方法打开我们的putty终端,在我们做udp之前呢,我们必须先做一些必须准备工作,首先我们的让esp8266连接上无线网络,这样我们才能得到我们需要的ip地址。

我们在终端中输入以下命令,直到esp8266连接wifi成功,我们可以用wlan.isconnected来检查是否连接网络成功,wlan.scan()用来扫描附近可连接的无线网,用wlan.connect(‘ssid’,’password’)来连接我们的无线网(ssid:自己的wifi名称,password:无线网密码),

1.png (112.39 KB, 下载次数: 0)

2017-3-13 09:39 上传

在我们输入连接wifi的命令后,出现如下图所示的情况,则表示连接wifi成功,同时我们也能看到我们需要的ip地址也有了,记住这个ip地址,在之后的udpserver的程序中,我们会用到。

2.png (10.94 KB, 下载次数: 0)

2017-3-13 09:39 上传

用之前几篇教程的方法将我们的程序弄到终端里运行,正确的运行结果如下图:

3.png (12.72 KB, 下载次数: 1)

2017-3-13 09:39 上传

这个时候我们把下载好的串口调试助手打开,整体界面如下图,这个时候我们之前记录的ip地址就可以派上用场了,在我们的端口号选择udp,在远程哪里输入记录的ip地址,在远程后面的端口,填入我们程序中的端口号就可以了。

4.png (103.19 KB, 下载次数: 0)

2017-3-13 09:39 上传

然后点击连接,出现如下情况,则表明连接成功,在最下面一行可以看到是否连接成功。

5.png (62.31 KB, 下载次数: 0)

2017-3-13 09:39 上传

在发送按钮旁边的空白框中输入:nihao.  然后点击发送,然后会在putty终端中接收到刚发送的信息和发送的地址,如下图:

此内容由EEWORLD论坛网友Chocho原创,如需转载或用于商业用途需征得作者同意并注明出处

这样我们的udp连接、接收发送信息就完成了。

还有一种直接的方法来实现我们的功能,代码如下:

import network[/align]import socket

import time

port=10086

wlan = network.WLAN(network.STA_IF)

wlan.active(True)

wlan.connect('dfyanfa', 'df123456')

while(wlan.isconnected() == False):

time.sleep(1)

ip = wlan.ifconfig()[0]

print(ip)

s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)

s.bind((ip,port))

print('waiting....')

while True:

data,addr=s.recvfrom(1024)

s.sendto(data,addr)

print('received:',data,'from',addr)复制代码

将上面的代码直接输入就可以了,然后用串口/网络调试助手做为UDP客户端去和服务器建立连接,操作方法和上面的是一样的,有兴趣或者为了方便的可以去试一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值