继续昨天的工作,又开发了一个串口调试助手。

偷懒了,没有用面向对象,把之前的代码修改了一下,直接放在BBB 如图

源码如下:

__author__ = 'fuchunyang111@163.com'  from tkinter import *
import serial
from tkinter import ttk
import time
import threading
import Adafruit_BBIO.UART as UARTdef Choice(event):  context = boxValue.get()  list = ['COM1']  def Submit(data):if ser.isOpen() == True:n = ser.write(data)print(data)else:show00.delete(0.0,END)show00['background'] = "red"show00.insert(0.0,'Open serial first!')def serial_read():while 1:if ser.isOpen() == True:data = ser.read(1)text2.insert(0.0,data)#print("11")#time.sleep(0.00006)time.sleep(0.006)def open():if ser.isOpen() != True:ser.open()   print("uart1 opening")if ser.isOpen() == True: lab2['background'] = "green"button2['text'] = 'Close serial'button2['command'] = closeshow00.delete(0.0,END)show00['background'] = "white"show00.insert(0.0,'Serial opened!')print("uart1 opened")else:lab2['background'] = "red"show00.delete(0.0,END)show00['background'] = "red"show00.insert(0.0,'Serial error!')
def close():  ser.close()  if ser.isOpen() == False:lab2['background'] = "black"button2['text'] = 'Open serial'button2['command'] = openshow00.delete(0.0,END)show00['background'] = "white"show00.insert(0.0,'Serial closed!')def txd(): data = text1.get(0.0,END)data = data[::-1]Submit(data.encode())def clear1():text1.delete(0.0,END)
def clear2():text2.delete(0.0,END)# ##  --------------------------------------------- root = Tk()
root.title("BBB_Serial Test")
root.geometry("580x400")
w = Canvas(root,width = 580,height = 400,background = "#4169E1")
w.pack()
w.create_line(25,45,550,45,fill = 'black',width = 3) # top直线#串口设置相关变量
ser = serial.Serial(port = "/dev/ttyO1", baudrate=115200)#串口号
lab1 = Label(root,background = "#4169E1",text = 'Ser num:')
lab1.place(x = 10,y = 10)
#串口号选择下拉菜单
boxValue = StringVar()
boxChoice = ttk.Combobox(root,textvariable = boxValue,state = 'readonly',width = 6)
boxChoice['value'] = ('COM1')
boxChoice.current(0)
boxChoice.bind('<<ComboboxSelected>>',Choice)
boxChoice.place(x = 80,y = 10)
#串口开启按钿
button2 = Button(root,text = 'Open serial',command = open)
button2.place(x = 150,y = 5)
#串口状态指示
lab2 = Label(root,text = '    ',background = "black")
lab2.place(x  = 260,y = 10)
#消息提示框
lab13 = Label(root,background = "#4169E1",text = 'Message:',)
lab13.place(x = 290,y = 10 )
#消息提示值框
show00 = Text(root,width = 26,height = 1,wrap = WORD)
show00.place(x = 360,y = 10 )
show00.delete(0.0,END)
show00.insert(0.0,'Thank you for using!')#标签
lab5 = Label(root,background = "#4169E1",text = 'Txd:')
lab5.place(x = 10,y = 30*2+10 )
lab6 = Label(root,background = "#4169E1",text = 'Rxd:')
lab6.place(x = 10,y = 30*3+10 )#值框
text1 = (Text(root,width = 45,height = 1,wrap = WORD))
text1.place(x = 70,y = 30*2+10 )
text2 = (Text(root,width = 45,height = 20,wrap = WORD))
text2.place(x = 70,y = 30*3+10 )#发送,清空按钮
buttonTxd1 = Button(root,text = 'Send',command = txd,height = 1,width = 5)
buttonTxd1.place(x = 410,y = 30*2+5)
buttonTxd2 = Button(root,text = 'clear',command = clear1,height = 1,width = 5)
buttonTxd2.place(x = 490,y = 30*2+5)
buttonRxd = Button(root,text = 'clear',command = clear2,height = 1,width = 5)
buttonRxd.place(x = 410,y = 30*3+15)t = threading.Thread(target=serial_read) # set a thread
t.setDaemon(True) # defend this thread
t.start() # thread startroot.resizable(False,False)
root.mainloop() 

Python实现的BeagleBone Black 串口助手(全部源码)相关推荐

  1. 27.串口通信实验源码讲解

    串口通信实验源码讲解 笔记基于正点原子官方视频 视频连接https://www.bilibili.com/video/BV1Wx411d7wT?p=71&spm_id_from=333.100 ...

  2. 100个必会的python脚本-100行Python代码实现自动抢火车票(附源码)

    前言 又要过年了,今年你不妨自己写一段代码来抢回家的火车票,是不是很Cool.下面话不多说了,来一起看看详细的介绍吧. 先准备好: 12306网站用户名和密码 chrome浏览器及下载chromedr ...

  3. python自动化办公 百度网盘-Python自动化办公实战教程2020最新带源码

    资源目录: 视频 001_Excel_xlrd读_xlwt写.mp4 003_Excel_案例_统计每位同学总分.mp4 004_MySQL_我为什么不建议学.mp4 005_Excel_更灵活的操作 ...

  4. python自动化办公入门书籍-Python自动化办公实战教程2020最新带源码

    资源目录: 视频 001_Excel_xlrd读_xlwt写.mp4 003_Excel_案例_统计每位同学总分.mp4 004_MySQL_我为什么不建议学.mp4 005_Excel_更灵活的操作 ...

  5. Python基于OpenCV的人脸表情识别系统[源码&部署教程]

    1.项目背景 人脸表情识别是模式识别中一个非常重要却十分复杂的课题.首先对计算机人脸表情识别技术的研究背景及发展历程作了简单回顾.然后对近期人脸表情识别的方法进行了分类综述.通过对各种识别方法的分析与 ...

  6. 计算机毕业设计Python+uniapp实验室考勤小程序(小程序+源码+LW)

    计算机毕业设计Python+uniapp实验室考勤小程序(小程序+源码+LW) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ pytho ...

  7. python opencv人脸识别考勤系统的完整源码

    这篇文章主要介绍了python opencv人脸识别考勤系统的完整源码,本文给大家介绍的非常详细,希望对大家的学习或工作具有一定的参考借鉴价值. 代码如下: import wx import wx.g ...

  8. python基于爬虫技术的海量电影数据分析源码,数据处理分析可视化,GUI界面展示

    基于爬虫技术的海量电影数据分析 介绍 一个基于爬虫技术的海量电影数据分析系统 系统架构 本系统主要分为四个部分,分别为后端爬虫抓取.数据处理分析可视化.GUI界面展示.启动运行,分别对应getData ...

  9. Python实现恩尼格玛加密算法——附完整源码

    Python实现恩尼格玛加密算法--附完整源码 恩尼格玛是第二次世界大战中德国所使用的复杂电机械式密码机.它被认为是世界上最复杂的加密设备之一.在这个项目中,我们将使用Python模拟实现恩尼格玛加密 ...

最新文章

  1. 数字图像处理的三个层次
  2. 数据结构--稀疏矩阵的一种实现
  3. RESTful设计原则和样例(开发前后台接口)
  4. BacNet开发入门2
  5. 为您的机器配置开发环境
  6. Redis系列教程(五):Redis哨兵、复制、集群的设计原理,以及区别
  7. php mssql及php mysql_Linux下PHP支持MSSql的配置
  8. 区块链浏览器_YOYOW正式发布更新版本区块链浏览器
  9. 侯捷推荐的C++书单
  10. 注册登录后才可以下载的源码_专注爬虫:20个精心总结爬虫项目,爬虫技术这里强(附源码)...
  11. Yii路由之LimeSurvey去掉烦人的/index.php/*
  12. 11年艺术学习“转投”数学,他出版首本TensorFlow中文教材,成为蚂蚁金服技术大军一员
  13. Unity3D游戏引擎最详尽基础教程
  14. 计算机音乐按键有声音,计算器上的声音键是哪个键
  15. 【渲染】解决三维出图黑白边缘溢出问题:直通(STRAIGHT)与预乘(PREMULT)ALPHA剖析
  16. struts2值栈、struts2标签、ONGL表达式、EL表达式、JSTL表达式、jsp标签
  17. 工作流之待办事宜消息提醒篇
  18. python 基于pygame实现俄罗斯方块
  19. Java毕业设计-美容院小程序管理系统
  20. 想在美国找CS软件工作

热门文章

  1. 石墨烯技术的4大特点
  2. python模块下载
  3. mysql groupby字符串拼接
  4. Bugku杂项——论剑
  5. match2(双周赛)
  6. 2.2 测试用例命名规范
  7. 实验1 matlab图像处理初步,实验一 MATLAB数字图像处理初步
  8. zabbix监控cisco路由器线路连通性——通过snmp获得cisco设备ip sla监控结果
  9. 网管随笔04--【MADC的另类安装与SQL的完全卸载】
  10. 使用路由器DDNS功能+动态公网IP实现外网访问(花生壳)