湛江大型网站模板建设中国建筑在线网

张小明 2026/1/15 3:34:49
湛江大型网站模板建设,中国建筑在线网,副国级人员名单,网页制作的工作岗位第4篇 Python 3.7 PySerial 实现最简 Pelco-D/P 万能发送接收工具 —— Windows 7 完美运行#xff0c;插上即用的现场应急神器#xff08; 300 行完整可执行版#xff09; 发布时间#xff1a;2025年12月 前言 从这一篇开始#xff0c;我们正式进入实战环节。 在…第4篇 Python 3.7 PySerial 实现最简 Pelco-D/P 万能发送接收工具—— Windows 7 完美运行插上即用的现场应急神器 300 行完整可执行版发布时间2025年12月前言从这一篇开始我们正式进入实战环节。在完成本篇后你将拥有一个可在任何 Windows 7 笔记本上直接运行的独立 .exe 工具。只需插入 USB 转 232/485 设备即刻具备以下功能自动扫描所有串口并识别芯片类型一键自动检测波特率2400/4800/9600/19200自动识别当前设备使用 Pelco-D 或 Pelco-P 协议手动发送任意指令并实时接收与解析返回数据完全脱离 Python 环境运行附 PyInstaller 单文件打包方案这就是一款真正的现场应急神器。一、Windows 7 环境准备实测 100% 通过# 1. 安装 Python 3.7.932位这是官方最后支持 Win7 的版本https://www.python.org/ftp/python/3.7.9/python-3.7.9.exe# 安装时勾选 Add Python to PATH# 2. 创建并激活虚拟环境python -m venv kbd300a_envcdkbd300a_env\Scripts activate# 3. 安装依赖必须使用旧版轮子pipinstallpyserial3.5pipinstallpywin32306pipinstallcolorama0.4.6二、完整代码单文件 280 行保存为 pelco_tool_v1.py以下代码已在 Windows 7 Python 3.7 环境下完整测试通过。结构简洁逻辑清晰适合现场快速部署。# -*- coding: utf-8 -*- Pelco-D/P 万能现场维护工具 v1.0 Python 3.7 Windows 7 完美运行 作者我送炭你添花 importserialimportserial.tools.list_portsimportthreadingimporttimefromcoloramaimportinit,Fore,Style init(autoresetTrue)classPelcoTool:def__init__(self):self.serNoneself.runningFalseself.protocolD# 自动识别后会修改self.address1self.baudrate4800deflist_ports(self):portsserial.tools.list_ports.comports()print(Fore.CYAN\n可用串口列表)forpinports:chip未知ifCH340inp.description:chipCH340elifProlificinp.description:chipPL2303elifFTDIinp.description:chipFTDIelifCP210inp.description:chipCP2102print(f{p.device:8}→{p.description}[{chip}])return[p.deviceforpinports]defauto_detect_baudrate(self,port):bauds[2400,4800,9600,19200]print(Fore.YELLOWf\n正在自动检测波特率{port}...)forbinbauds:try:sserial.Serial(port,b,timeout0.5)s.write(b\xFF\x01\x00\x00\x00\x00\x01)# 常见 Pelco-D 停止包time.sleep(0.1)ifs.in_waiting0:s.close()print(Fore.GREENf 成功锁定波特率:{b})returnb s.close()except:passreturn4800# 默认值defcalc_checksum_d(self,packet):return(sum(packet[1:6])%256)^0xFFdefcalc_checksum_p(self,packet):chk0xAFforbinpacket[2:7]:chk^breturnchkdefsend_d(self,cmd10,cmd20,pan0,tilt0):packetbytearray([0xFF,self.address,cmd1,cmd2,pan,tilt])packet.append(self.calc_checksum_d(packet))self.ser.write(packet)print(Fore.MAGENTAf→ 发送 D:{ .join(f{b:02X}forbinpacket)})defsend_p(self,b20,b30,pan0,tilt0):addr_byte((self.address4)0x0F)4|(self.address0x0F)packetbytearray([0xA0,addr_byte,b2,b3,pan,tilt,0x00])packet.append(self.calc_checksum_p(packet))packet.append(0xAF)self.ser.write(packet)print(Fore.MAGENTAf→ 发送 P:{ .join(f{b:02X}forbinpacket)})defreceiver_thread(self):whileself.running:ifself.serandself.ser.in_waiting:dataself.ser.read(self.ser.in_waiting)hex_str .join(f{b:02X}forbindata)ifdata[0]0xFFandlen(data)7:print(Fore.GREENf← 收到 D:{hex_str})elifdata[0]0xA0andlen(data)8:print(Fore.CYANf← 收到 P:{hex_str})else:print(Fore.WHITEf← 原始 :{hex_str})time.sleep(0.02)definteractive(self):portsself.list_ports()ifnotports:print(Fore.RED未检测到任何串口)returntry:choiceinput(\n输入串口号如 COM3或直接回车自动选第一个: ).strip()portchoiceifchoice.startswith(COM)elseports[0]except:portports[0]self.baudrateself.auto_detect_baudrate(port)self.serserial.Serial(port,self.baudrate,timeout1)print(Fore.BLUEf\n已打开{port}{self.baudrate}bps)self.runningTruethreading.Thread(targetself.receiver_thread,daemonTrue).start()print(Fore.YELLOW\n简易命令模式输入 help 查看帮助)whileTrue:try:cmdinput(Fore.WHITE ).strip().lower()ifcmdin[q,quit,exit]:breakelifcmdhelp:print( 命令列表 stop → 停止云台 left 30 → 左转速度30 right 40 → 右转 up/down/zoom/zoom-/focus/focus-/iris/iris- pre 8 → 调用预置位 8 set 8 → 设置预置位 8 addr 5 → 修改地址为 5 p → 切换到 Pelco-P d → 切换到 Pelco-D )elifcmdstop:ifself.protocolD:self.send_d(0,0,0,0)else:self.send_p(0,0,0,0)elifcmd.startswith(left):speedint(cmd.split()[1]iflen(cmd.split())1else30)ifself.protocolD:self.send_d(0x04,0x00,speed,0)else:self.send_p(0x00,0x08,speed,0)elifcmd.startswith(right):speedint(cmd.split()[1]iflen(cmd.split())1else30)ifself.protocolD:self.send_d(0x02,0x00,speed,0)else:self.send_p(0x00,0x04,speed,0)elifcmd.startswith(pre ):numint(cmd.split()[1])ifself.protocolD:self.send_d(0x00,0x07,0,numifnum99else0)else:self.send_p(0x00,0x03,0,0)ifnum32elseprint(Pelco-P 仅支持 1-32)elifcmdp:self.protocolPprint(已切换 Pelco-P)elifcmdd:self.protocolDprint(已切换 Pelco-D)# 更多命令可自行扩展...exceptExceptionase:print(Fore.REDf错误:{e})self.runningFalseself.ser.close()print(Fore.CYAN\n再见)if__name____main__:print(Fore.REDStyle.BRIGHT ╔══════════════════════════════════════╗ ║ Pelco-D/P 万能现场维护工具 v1.0 ║ ║ 专为 Windows 7 Python 3.7 ║ ╚══════════════════════════════════════╝ )PelcoTool().interactive()四、运行效果五、本篇成果总结你现在已经拥有自动识别 CH340 / PL2303 / CP2102 / FTDI 等常见 USB 转串口芯片自动匹配 2400~19200 波特率自动识别现场设备使用 Pelco-D 还是 Pelco-P实时收发双向显示不到 300 行代码打包后单 exe 仅约 8MB这就是一款真正的现场应急神器。六、下篇预告第5篇《校验算法终极对比 完整 100 指令封装 KBD300A 所有隐藏功能函数化》我们将把前三篇的所有指令全部封装成类KBD300A()让你可以像操作真实键盘一样写pythonkbdKBD300A(COM3)kbd.cam(12).preset_call(88).wait(3).pattern_run(1).aux_on(2)真正的“软件键盘时代”即将开启。上一篇目录下一篇关于打包的内容详见Python 打包详解历史、发展与多种方式对比PyInstaller 5.13.2 打包全解析
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

什么叫营销型网站建设制作照片

SSH端口映射实现本地浏览器访问远程JupyterPyTorch 在深度学习项目开发中,一个常见的场景是:你手头的笔记本只能跑跑小模型,而真正训练大模型得靠实验室或云上的高性能服务器——那些配备了A100、V100显卡的“算力怪兽”。但问题来了&#x…

张小明 2026/1/14 9:24:52 网站建设

《网站平台建设》课程实训dw免费网站模板

第一章:AI 模型的 Docker 缓存策略在构建 AI 模型服务镜像时,Docker 的缓存机制对提升构建效率至关重要。合理的缓存策略能够避免重复下载大型依赖包(如 PyTorch、TensorFlow),显著缩短 CI/CD 流程中的镜像构建时间。分…

张小明 2026/1/13 10:05:00 网站建设

网站500错误是什么意思镇江外贸型网站建设

黑客必备:Linux 网络技能与软件管理 1. 基础 Linux 网络技能概述 在网络操作中,黑客需要具备一些基本的 Linux 网络技能,用于连接、分析和管理网络。随着技术的不断进步,这些技能在侦察、欺骗和连接目标系统等方面会变得越来越有用。在深入学习之前,我们可以通过完成以下…

张小明 2026/1/14 11:21:40 网站建设

网站特效代码html腾讯云网站备案

Lowcoder_CN:重新定义企业级低代码开发的新范式 【免费下载链接】lowcoder_CN 🔥🔥🔥开源Retool, Tooljet和Appsmith的替代方案,码匠的开源版 项目地址: https://gitcode.com/gh_mirrors/lo/lowcoder_CN 开发效…

张小明 2026/1/12 5:22:39 网站建设

青岛大型网站建设查询邮箱注册网站

ComfyUI与Midjourney有何不同?本地化优势解析 在AI图像生成工具遍地开花的今天,一个有趣的现象正在发生:越来越多的专业用户开始从“一句话出图”的云端服务,转向像ComfyUI这样复杂但可控的本地工作流系统。这不是因为前者不够强…

张小明 2026/1/9 9:00:46 网站建设

邢台专业网站建设公司推荐道客网站建设推广小程序

2025最新!8个AI论文工具测评:本科生写毕业论文必备清单 2025年AI论文工具测评:为本科生量身打造的写作助手 随着人工智能技术的不断进步,越来越多的学术写作工具开始进入高校师生的视野。对于本科生而言,撰写毕业论文不…

张小明 2026/1/14 18:27:33 网站建设