中国建设银行 网站登录常见的网站空间主要有

张小明 2026/1/7 9:06:22
中国建设银行 网站登录,常见的网站空间主要有,网站为什么要icp备案,小程序运营主要做什么第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进行投诉反馈,一经查实,立即删除!

淄博网站建设哪家便宜手机网站菜单栏怎么做

建筑材料管理 目录 基于springboot vue建筑材料管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue建筑材料管理系统 一、前言 博主介绍&…

张小明 2026/1/6 18:11:47 网站建设

视频做网站企业融资规划师

Grafana中文版终极指南:5分钟快速搭建监控仪表盘 【免费下载链接】grafana-chinese grafana中文版本 项目地址: https://gitcode.com/gh_mirrors/gr/grafana-chinese Grafana中文版是一款专为中国用户量身定制的监控仪表盘汉化项目,基于官方Grafa…

张小明 2026/1/2 5:17:41 网站建设

怎样给建设的网站提意见dreamwearver做网站地图

SWIFT框架全解析:从安装部署到高级训练的一站式AI开发指南 【免费下载链接】Qwen3-32B-AWQ 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-32B-AWQ 引言:开启SWIFT AI开发之旅 在人工智能快速发展的今天,高效开发和部署大…

张小明 2026/1/2 2:01:39 网站建设

网站做报表网站开发合同的付款方式

Linly-Talker在医疗咨询场景中的可行性验证 在三甲医院的线上问诊平台上,一位老年患者用略带方言的语调提问:“我这胸口闷得慌,夜里睡不着……”传统客服系统只能返回标准化话术,而搭载了Linly-Talker的虚拟医生却能立刻捕捉到“胸…

张小明 2026/1/1 15:10:44 网站建设

网上的网站模板怎么用如何在电脑上打开自己做的网站

打印机共享与配置全攻略 1. 打印机访问基础配置 在使用 CUPS 服务器时,无论采用何种方法,客户端最终都要通过 Internet 打印协议(IPP)来访问服务器上的打印机。因此,需要对本地防火墙进行相应配置,确保 TCP 端口 631 的传入连接不被拒绝。具体操作如下: [root@hotel…

张小明 2026/1/2 12:46:45 网站建设

全国建设部网站家装公司建设网站

第一章:云原生Agent调度的挑战与演进在云原生架构快速普及的背景下,Agent作为边缘计算、可观测性采集和自动化运维的核心组件,其调度机制面临前所未有的复杂性。传统的静态部署模式已无法满足动态伸缩、多租户隔离和异构资源协同的需求&#…

张小明 2026/1/2 17:21:01 网站建设