加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

树莓派 USB转串口接收数据 TCP转发出

(2017-04-06 09:13:38)
标签:

数据转发

serial-to-tcp

com-to-tcp

串口转发至tcp

分类: 树莓派
1,硬件环境
     树莓派, 2条USB转485,   其中一条宇泰的UT-891接到树莓派的USB上, 另一条帝特的DT-5019 接至电脑的USB端。  树莓派的RJ45网线和电脑的网线,接至同一个联网路由器上。  电脑端通过串口调试软件,通过USB转串口线向树莓派发送数据,树莓派接收数据后,通过网线走TCP转发至电脑端。
            http://s3/bmiddle/001lQaoWzy7a59NEKKS02&690USB转串口接收数据 TCP转发出" TITLE="树莓派 USB转串口接收数据 TCP转发出" />

电脑端串口发送数据端:
           http://s12/bmiddle/001lQaoWzy7a5apx4Thfb&690USB转串口接收数据 TCP转发出" TITLE="树莓派 USB转串口接收数据 TCP转发出" />

             http://s4/mw690/001lQaoWzy7a5apAe2v43&690USB转串口接收数据 TCP转发出" TITLE="树莓派 USB转串口接收数据 TCP转发出" />

树莓派端接收数据:
            http://s5/mw690/001lQaoWzy7a5aDOUW8d4&690USB转串口接收数据 TCP转发出" TITLE="树莓派 USB转串口接收数据 TCP转发出" />


电脑端TCP接收数据:
           http://s2/mw690/001lQaoWzy7a5aL5ic901&690USB转串口接收数据 TCP转发出" TITLE="树莓派 USB转串口接收数据 TCP转发出" />




程序:

1,树莓派端的程序:

#!/usr/bin/env python
# -*- coding:utf8 -*-

import serial
import socket

#ser = serial.Serial("com3", baudrate=115200)
ser = serial.Serial("/dev/ttyUSB0", baudrate=115200)
print (ser.name)
while True:
    line = ser.read()
    print(line)
    client_socket = socket.socket()
    client_socket.connect(('192.168.1.100', 999))
    client_socket.sendall(line)
    client_socket.close()

树莓派端程序的使用:
1,$ mkdir  delelop              #新建一个delelop 文件夹
2,   $ cd  delelop                    #跳转至  delelop 文件夹
3,   $ touch t4.py                   # 新建一个名称为 t4.py的文件
4,   $ nano t4.py                    #打开编辑 t4.py
5,   把上面的代码拷贝进去,保存,退出。
6,$python3  t4.py                 # 运行 t4.py


2, 电脑端TCP接收数据程序

#!/usr/bin/env python   
#coding:utf-8
import socket
#开启ip和端口
ip_port = ('192.168.1.100',999)
#生成一个句柄
sk = socket.socket()
#绑定ip端口
sk.bind(ip_port)
#最多连接数
sk.listen(5)
#开启死循环
count = 0
while True:
     print ('server waiting...')
    #等待链接,阻塞,直到渠道链接 conn打开一个新的对象 专门给当前链接的客户端 addr是ip地址
    conn,addr = sk.accept()
    #获取客户端请求数据
    client_data = conn.recv(1024)
    #打印对方的数据
    count += 1
    print (count, str(client_data,'utf8'))
    #向对方发送数据
    #conn.sendall(bytes('%s' % count,'utf8'))
    #关闭链接
    conn.close()

1, 打开CMD
2,输入:“python xx\xx\x\echo_server.py”
注意:   xx\xx\x\echo_server.py为文件所在路径。








0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有