概述
A:准备工作
树莓派4b,led(任意模块),杜邦线,电脑,面包版(可无)
B:流程
1-服务器端(树莓派)程序编写
2-客户端(电脑)程序编写
#测试1
3-led模块程序编写
4-接线
#测试2
C:具体实施
#程序在最后有无注释的版本
1-服务器端程序
直接看代码信息量对初学者和小白有点大,先用比喻描述一下
1-1: 创建一个可以和外界通信的电话,配置好电话的软件信息
1-2: 将程序和通往外界的入口绑定
1-3: 监听入口的信息
1-4: 将收到的信息打印出来
import socket as s
#这是一个标准的库,也就是正常情况下python3自带,作用是一个和外界的通讯工具
import _thread
#这也是一个标准库,系统有很多工人,给不同工人分配不同工作的功能库
s_tcp = s.sock(s.AF_INET,s.SOCK_STREAM)
#s_tcp这个变量可以看作是创建了电话,树莓派用这个电话就可以可外界通信了
#s.AF_INET,s.SOCK_STREAM这两个参数代表使用IPV4协议,TCP协议,可以看作是这个电话的软件设置
s_tcp.bind(("0.0.0.0",60000))
#s_tcp.bind代表用这个电话绑定了一条电话线,电话线的IP是本机地址0.0.0.0,线的入口编号是60000
s_tcp.listen(100)
#这个相当于这个 电话开机了,然后设置最多接听100个电话
while 1:
print("start")#测试用,打印start代表前面程序跑完,开始正式接电话了
conn,addr = s_tcp.accept()
#accept的意思是接受,所以s_tcp.accept()代表接听电话
#conn,addr就是当有电话打进来时,s_tcp.accept()接通后,把电话的来电信息给conn,addr
_thread.start_new_thread(tcplink,(conn,addr))
#这个指令代表系统将这个来电的地址信息放到tcplink里面执行
######################################
######################################
#接下里我们编写tcplink(conn,addr)函数
def tcplink(conn,addr):
print(conn,addr)
#测试时候用来看看来电信息的地址和端口
while 1:
data = conn.recv(1024)
#从conn端口我们就和外界通话了,那么通过recv函数,我们把外界的
#信息接受进来,再赋值给data
#1024参数一次最大接受1024bytes的数据
if not data:
break
#如果data是空值,就是说外界接通后没有通话,我们就挂断
print(str(data,"utf-8"))
#这里涉及一个很重要的细节,和我们打电话用语言不一样,
#socket打电话默认用bytes,所以接受到的数据要转化
#通过str(),将data使用"utf-8"编码翻译成字符串,再打印出来
2-客户端程序
import socket as s
s_tcp = s.socket(s.AF_INET,s.SOCK_STREAM)
#客户端也创建一个电话
s_tcp.connect(("192.168.2.3",60000))
#打电话,连接到ip192.168.2.3的60000端口
#这里要改成你自己的树莓派IP地址
s_tcp.sendall((bytes("hello world","utf-8")))
#发送的信息是以utf-8的方式(对应服务器端的翻译方式),将hello转化成
#bytes发送
先跑树莓派的程序,再跑客户端的程序,就应该能看见hello world的输出了
#有什么问题可以留言,我会及时回复的
因为篇幅太长了,可以看我博客下一章拓展,通过电脑用wifi控制树莓派的led亮灯
最后
以上就是执着蛋挞为你收集整理的题目:【1-1】电脑Wi-Fi控制树莓派 2-客户端程序的全部内容,希望文章能够帮你解决题目:【1-1】电脑Wi-Fi控制树莓派 2-客户端程序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复