树莓派与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编写的最短路径算法
Mar 25 Python
Python实现高效求解素数代码实例
Jun 30 Python
python实现给微信公众号发送消息的方法
Jun 30 Python
Python实现检测文件MD5值的方法示例
Apr 11 Python
django的ORM操作 删除和编辑实现详解
Jul 24 Python
python+opencv实现车牌定位功能(实例代码)
Dec 24 Python
Selenium 滚动页面至元素可见的方法
Mar 18 Python
Python flask框架端口失效解决方案
Jun 04 Python
Python项目跨域问题解决方案
Jun 22 Python
Python如何测试stdout输出
Aug 10 Python
浅析python连接数据库的重要事项
Feb 22 Python
pandas中DataFrame检测重复值的实现
May 26 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
PHP可变函数的使用详解
2013/06/14 PHP
在Nginx上部署ThinkPHP项目教程
2015/02/02 PHP
mysql查找删除重复数据并只保留一条实例详解
2016/09/24 PHP
php中通过eval实现字符串格式的计算公式
2017/03/18 PHP
PHP完全二叉树定义与实现方法示例
2017/10/09 PHP
laravel-admin select框默认选中的方法
2019/10/03 PHP
Laravel6.0.4中将添加计划任务事件的方法步骤
2019/10/15 PHP
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
2009/04/24 Javascript
ExtJS 入门
2010/10/29 Javascript
jQuery 版元素拖拽原型代码
2011/04/25 Javascript
Jquery 绑定时间实现代码
2011/05/03 Javascript
关于extjs4如何获取grid修改后的数据的问题
2013/08/07 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
jquery获取复选框被选中的值
2014/03/22 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
2014/08/18 Javascript
Node.js操作Firebird数据库教程
2016/03/04 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
Vue+SpringBoot开发V部落博客管理平台
2017/12/27 Javascript
angularJs中$http获取后台数据的实例讲解
2018/08/08 Javascript
用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)
2018/12/05 Javascript
浅谈javascript中的prototype和__proto__的理解
2019/04/07 Javascript
Javascript通过控制类名更改样式
2019/05/24 Javascript
javascript json对象小技巧之键名作为变量用法分析
2019/11/11 Javascript
Egg Vue SSR 服务端渲染数据请求与asyncData
2019/11/24 Javascript
Element-ui el-tree新增和删除节点后如何刷新tree的实例
2020/08/31 Javascript
jQuery实现回到顶部效果
2020/10/19 jQuery
Python实现的检测web服务器健康状况的小程序
2014/09/17 Python
python检测空间储存剩余大小和指定文件夹内存占用的实例
2018/06/11 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
2018/09/04 Python
Python 批量读取文件中指定字符的实现
2020/03/06 Python
python3让print输出不换行的方法
2020/08/24 Python
美国电力供应商店/电气批发商:USESI
2018/10/12 全球购物
澳大利亚在线购买葡萄酒:The Wine Collective
2020/02/20 全球购物
中华在我心中演讲稿
2014/09/13 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
Oracle 区块链表创建过程详解
2021/05/15 Oracle