From 7c469f9bf5d89eea21f04d7e38bb75ef817ffe3f Mon Sep 17 00:00:00 2001 From: "li.zhenye" Date: Wed, 3 Aug 2022 10:18:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E4=B8=80=E4=B8=8B?= =?UTF-8?q?=E5=B0=8F=E5=BD=A9=E8=9B=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- valve_test.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) mode change 100644 => 100755 valve_test.py diff --git a/valve_test.py b/valve_test.py old mode 100644 new mode 100755 index e74c89e..de99180 --- a/valve_test.py +++ b/valve_test.py @@ -1,4 +1,3 @@ -import logging import socket import numpy as np @@ -18,7 +17,8 @@ d. 阀板的脉冲分频系数,>=2即可 h. 发个da和 给q指令我就退出。 ======================================================================================\n""" self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建 socket 对象 - host = socket.gethostname() # 获取本地主机名 + # host = socket.gethostname() # 获取本地主机名 + host = '192.168.10.8' port = 13452 # 设置端口 self.s.bind((host, port)) # 绑定端口 self.s.listen(1) # 等待客户端连接 @@ -56,10 +56,10 @@ d. 阀板的脉冲分频系数,>=2即可 h. 发个da和 def process_cmd(self, value): if value == 'a': # a.开始命令 - cmd = b'\x00\x03' + 'sa'.encode('ascii') + b'\xFF' + cmd = b'\x00\x03' + 'st'.encode('ascii') + b'\xFF' elif value == 'b': # b.停止命令 - cmd = b'\x00\x03' + 'sb'.encode('ascii') + b'\xFF' + cmd = b'\x00\x03' + 'sp'.encode('ascii') + b'\xFF' elif value.startswith('c'): # c. 设置光谱相机分频,得是4的倍数而且>=8,格式:c,8 checker = lambda x: (x % 4 == 0) and (x >= 8) @@ -122,13 +122,14 @@ d. 阀板的脉冲分频系数,>=2即可 h. 发个da和 print(e) print(f"你给的指令: {value} 咋看都不对") return - if (value <= 257) and (value >= 1): - cmd = b'\x00\x0A' + 'te'.encode('ascii') + f"{value:08d}".encode('ascii') - if value == 257: - print("你发现了这个隐藏的流水灯指令😝😝😝,好厉害。") + if (value <= 256) and (value >= 1): + cmd = b'\x00\x0A' + 'te'.encode('ascii') + f"{value - 1:08d}".encode('ascii') self.last_cmd = value + elif value == 257: + cmd = b'\x00\x0A' + 'te'.encode('ascii') + f"{value:08d}".encode('ascii') + print("恭喜你发现了这个隐藏的257号流水灯指令😝😝😝,好厉害。") else: - print(f'你给的指令: {value} 值不对,我们有256个阀门, 范围是 [1, 256]') + print(f'你给的指令: {value} 值不对,我们有256个阀门, 范围是 [1, 256],略大一个好像也可以') return self.send(cmd) @@ -154,7 +155,7 @@ d. 阀板的脉冲分频系数,>=2即可 h. 发个da和 class VirtualValve: def __init__(self): self.client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 声明socket类型,同时生成链接对象 - self.client.connect(('localhost', 13452)) # 建立一个链接,连接到本地的13452端口 + self.client.connect(('192.168.10.8', 13452)) # 建立一个链接,连接到本地的13452端口 def run(self): while True: @@ -166,6 +167,7 @@ class VirtualValve: if __name__ == '__main__': import argparse + parser = argparse.ArgumentParser(description='阀门测程序') parser.add_argument('-c', default=False, action='store_true', help='是否是开个客户端', required=False) args = parser.parse_args()