树莓派与PC端在局域网内运用python实现即时通讯


Posted in Python onJune 22, 2019

电脑和树莓派在同一局域网内,先在电脑和树莓派创建python运行环境,然后在树莓派中用python运行rpi.py;在电脑上运行computer.py;电脑上输入字符即可在树莓派上即时显示!

rpi.py

#coding:utf-8
#import necessary package
import socket
import time
import sys


HOST_IP = "192.168.31.151" #树莓派的IP地址
HOST_PORT = 8888
print("Starting socket: TCP...")
#1.create socket object:socket=socket.socket(family,type)
socket_tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print("TCP server listen @ %s:%d!" %(HOST_IP, HOST_PORT) )
host_addr = (HOST_IP, HOST_PORT)
#2.bind socket to addr:socket.bind(address)
socket_tcp.bind(host_addr)
#3.listen connection request:socket.listen(backlog)
socket_tcp.listen(1)
#4.waite for client:connection,address=socket.accept()
socket_con, (client_ip, client_port) = socket_tcp.accept()
print("Connection accepted from %s." %client_ip)
socket_con.send("Welcome to RPi TCP server!")

print("Receiving package...")

###主循环
while True:
 try:
  data=socket_con.recv(512)
  if len(data)>0:
   print("Received:%s"%data)
   socket_con.send(data)
   time.sleep(1)
   continue
 except Exception:
   socket_tcp.close()
   sys.exit(1)

computer.py

import socket
import time
import sys

SERVER_IP = "192.168.31.151" #树莓派的IP地址
SERVER_PORT = 8888

print("Starting socket: TCP...")
server_addr = (SERVER_IP, SERVER_PORT)
socket_tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

while True:
 try:
  print("Connecting to server @ %s:%d..." %(SERVER_IP, SERVER_PORT))
  socket_tcp.connect(server_addr)
  break
 except Exception:
  print("Can't connect to server,try it latter!")
  time.sleep(1)
  continue
print("Please input:")
while True:
 try:
  data = socket_tcp.recv(512)
  if len(data)>0:
   print("Received: %s" % data)
   command=raw_input()
   socket_tcp.send(command)
   time.sleep(1)
   continue
 except Exception:
  socket_tcp.close()
  socket_tcp=None
  sys.exit(1)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python排序方法实例分析
Apr 30 Python
python实现将元祖转换成数组的方法
May 04 Python
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
May 24 Python
关于Python如何避免循环导入问题详解
Sep 14 Python
Python实现输出程序执行进度百分比的方法
Sep 16 Python
python如何生成网页验证码
Jul 28 Python
python 文件查找及内容匹配方法
Oct 25 Python
对pandas的算术运算和数据对齐实例详解
Dec 22 Python
梅尔频率倒谱系数(mfcc)及Python实现
Jun 18 Python
Python如何实现转换URL详解
Jul 02 Python
python制作图形界面的2048游戏, 基于tkinter
Apr 06 Python
Python学习之时间包使用教程详解
Mar 21 Python
树莓派采用socket方式文件传输(python)
Jun 22 #Python
树莓派用python中的OpenCV输出USB摄像头画面
Jun 22 #Python
树莓派使用USB摄像头和motion实现监控
Jun 22 #Python
树莓派动作捕捉抓拍存储图像脚本
Jun 22 #Python
python+openCV利用摄像头实现人员活动检测
Jun 22 #Python
树莓派实现移动拍照
Jun 22 #Python
树莓派+摄像头实现对移动物体的检测
Jun 22 #Python
You might like
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
全国FM电台频率大全 - 14 江西省
2020/03/11 无线电
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
2014/06/04 PHP
CodeIgniter表单验证方法实例详解
2016/03/03 PHP
laravel 5.3中自定义加密服务的方案详解
2017/05/09 PHP
PHP微信企业号开发之回调模式开启与用法示例
2017/11/25 PHP
Jquery 动态生成表格示例代码
2013/12/24 Javascript
js 获取input点选按钮的值的方法
2014/04/14 Javascript
Ext GridPanel加载完数据后进行操作示例代码
2014/06/17 Javascript
javascript下拉框选项单击事件的例子分享
2015/03/04 Javascript
js阻止浏览器默认行为的简单实例
2016/05/15 Javascript
JS实现重新加载当前页面或者父页面的几种方法
2016/11/30 Javascript
javascript中call,apply,bind函数用法示例
2016/12/19 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
switchery按钮的使用方法
2017/12/18 Javascript
关于vue面试题汇总
2018/03/20 Javascript
原生JS实现的轮播图功能详解
2018/08/06 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
2019/06/20 jQuery
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
[05:26]2014DOTA2西雅图国际邀请赛 iG战队巡礼
2014/07/07 DOTA
python解析xml文件实例分享
2013/12/04 Python
python监控网站运行异常并发送邮件的方法
2015/03/13 Python
Python Gluon参数和模块命名操作教程
2019/12/18 Python
python传到前端的数据,双引号被转义的问题
2020/04/03 Python
详解pandas获取Dataframe元素值的几种方法
2020/06/14 Python
Python实现Appium端口检测与释放的实现
2020/12/31 Python
使用CSS3的appearance属性改变元素的外观的方法
2015/12/12 HTML / CSS
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
学生发电厂实习自我鉴定
2013/09/22 职场文书
船舶专业个人求职信范文
2014/01/02 职场文书
大学开学计划书
2014/04/30 职场文书
副乡长民主生活会个人对照检查材料思想汇报
2014/10/01 职场文书
《大禹治水》教学反思
2016/02/22 职场文书
入党申请书格式
2019/06/20 职场文书
Django给表单添加honeypot验证增加安全性
2021/05/06 Python
Python Pandas pandas.read_sql_query函数实例用法分析
2021/06/21 Python