树莓派与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 29 Python
使用Python的Django框架实现事务交易管理的教程
Apr 20 Python
在Django中编写模版节点及注册标签的方法
Jul 20 Python
简单介绍Python中的几种数据类型
Jan 02 Python
探究python中open函数的使用
Mar 01 Python
Python使用三种方法实现PCA算法
Dec 12 Python
Python读取图片为16进制表示简单代码
Jan 19 Python
利用Python yagmail三行代码实现发送邮件
May 11 Python
详解Matplotlib绘图之属性设置
Aug 23 Python
python 导入数据及作图的实现
Dec 03 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
Jun 03 Python
python实现Nao机器人的单目测距
Sep 04 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
全国FM电台频率大全 - 21 海南省
2020/03/11 无线电
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
2007/08/26 PHP
ajax php 实现写入数据库
2009/09/02 PHP
php实现统计目录文件大小的函数
2015/12/25 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
2016/07/18 PHP
PHP实现图片批量打包下载功能
2017/03/01 PHP
jquery json 实例代码
2010/12/02 Javascript
点击弹出层效果&弹出窗口后网页背景变暗效果的实现代码
2014/02/10 Javascript
javascript ajax的5种状态介绍
2014/08/18 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
JavaScript仿聊天室聊天记录
2016/12/27 Javascript
Bootstrap布局之栅格系统学习笔记
2017/05/04 Javascript
angularJs中datatable实现代码
2017/06/03 Javascript
详解webpack进阶之插件篇
2017/07/06 Javascript
简单通过settimeout看javascript的运行机制
2019/05/10 Javascript
自定义Vue组件打包、发布到npm及使用教程
2019/05/22 Javascript
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
Python中自定义函数的教程
2015/04/27 Python
基于python 字符编码的理解
2017/09/02 Python
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
详解Python中的动态属性和特性
2018/04/07 Python
python求质数的3种方法
2018/09/28 Python
python3实现多线程聊天室
2018/12/12 Python
Python实现的多进程拷贝文件并显示百分比功能示例
2019/04/09 Python
用python对oracle进行简单性能测试
2020/12/05 Python
Python jieba库分词模式实例用法
2021/01/13 Python
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
全球工业:Global Industrial
2020/02/01 全球购物
新西兰购物网站:TheMarket NZ
2020/09/19 全球购物
《青山处处埋忠骨》教学反思
2014/04/22 职场文书
奶茶店创业计划书
2014/08/14 职场文书
文员转正自我鉴定怎么写
2014/09/29 职场文书
手机被没收的检讨书
2014/10/04 职场文书
黑白记忆观后感
2015/06/18 职场文书
少先队中队工作总结2015
2015/07/23 职场文书
mysql查看表结构的三种方法总结
2022/07/07 MySQL