树莓派与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创建日历实例
Aug 21 Python
Python使用设计模式中的责任链模式与迭代器模式的示例
Mar 02 Python
详解Python判定IP地址合法性的三种方法
Mar 06 Python
pandas重新生成索引的方法
Nov 06 Python
Python hexstring-list-str之间的转换方法
Jun 12 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
Jul 14 Python
Pytest mark使用实例及原理解析
Feb 22 Python
vue学习笔记之动态组件和v-once指令简单示例
Feb 29 Python
Ubuntu中配置TensorFlow使用环境的方法
Apr 21 Python
python右对齐的实例方法
Jul 05 Python
学习Python需要哪些工具
Sep 04 Python
python中常用的数据结构介绍
Jan 12 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
风格模板初级不完全修改教程
2006/10/09 PHP
php实现cookie加密的方法
2015/03/10 PHP
PHP实现的QQ空间g_tk加密算法
2015/07/09 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
2019/04/12 PHP
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
extjs DataReader、JsonReader、XmlReader的构造方法
2009/11/07 Javascript
关于setInterval、setTimeout在jQuery中的使用注意事项
2011/09/28 Javascript
浅析JS刷新框架中的其他页面 && JS刷新窗口方法汇总
2013/07/08 Javascript
node.js开机自启动脚本文件
2014/12/24 Javascript
JS实现带圆弧背景渐变效果的导航菜单代码
2015/10/13 Javascript
JS实现Fisheye效果动感放大菜单代码
2015/10/21 Javascript
js行号显示的文本框实现效果(兼容多种浏览器 )
2015/10/23 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
bootstrap table 多选框分页保留示例代码
2017/03/08 Javascript
微信小程序 支付功能(前端)的实现
2017/05/24 Javascript
基于JavaScript实现带数据验证和复选框的表单提交
2017/08/23 Javascript
vue2.0在table中实现全选和反选的示例代码
2017/11/04 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
2019/06/07 Javascript
如何使用webpack打包一个库library的方法步骤
2019/12/18 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
2020/06/04 Javascript
跟老齐学Python之Import 模块
2014/10/13 Python
Python标准库之多进程(multiprocessing包)介绍
2014/11/25 Python
每天迁移MySQL历史数据到历史库Python脚本
2018/04/13 Python
Python3.7实现验证码登录方式代码实例
2020/02/14 Python
Python 实现打印单词的菱形字符图案
2020/04/12 Python
加拿大健康、婴儿和美容产品在线购物:Well.ca
2016/11/30 全球购物
高中生校园生活自我评价
2013/09/19 职场文书
自我评价中英文语句
2013/11/30 职场文书
大众服装店创业计划书范文
2014/01/01 职场文书
大学军训感言400字
2014/03/11 职场文书
自我鉴定总结
2014/03/24 职场文书
护士个人自我鉴定
2014/03/24 职场文书
街道社区活动报告
2015/02/05 职场文书
《女娲补天》教学反思
2016/02/20 职场文书