Jelajahi Sumber

完成py端客户端;

scbc.sat2 5 tahun lalu
induk
melakukan
7df0da815b
2 mengubah file dengan 27 tambahan dan 23 penghapusan
  1. 23 20
      Chroma22293/Chroma22293.py
  2. 4 3
      Chroma22293/baseClient.py

+ 23 - 20
Chroma22293/Chroma22293.py

@@ -15,6 +15,7 @@ class C22293Manager(BaseClient):
         if result is None:
             return False
         
+        print result
         if params == 1:
             if result['device_cmd_result'] == u'ok;\r\n':
                 return True
@@ -102,27 +103,29 @@ class C22293Manager(BaseClient):
         return self.__parse__(self.sendmsg())
 
 if __name__ == "__main__":
-    print u'测试开始\n'
-    c2 = C22293Manager()
-    print c2.getDeviceName()
-    print c2.getDeviceSoft()
-    print c2.getStatus()
-
-    print c2.setPattern(11)
-    print c2.setTiming(11)
-    print c2.setTimingPattern(11,11)
-
-    print c2.setBlueOFF()
-    print c2.setBlueON()
-    
-    print c2.setGreenOFF()
-    print c2.setGreenON()
+    while(True):
+        print u'测试开始\n'
+        c2 = C22293Manager()
+        print c2.getDeviceName()
+        print c2.getDeviceSoft()
+        print c2.getStatus()
+
+        print c2.setPattern(11)
+        print c2.setTiming(11)
+        print c2.setTimingPattern(11,11)
+
+        print c2.setBlueOFF()
+        print c2.setBlueON()
+        
+        print c2.setGreenOFF()
+        print c2.setGreenON()
 
-    print c2.setRedOFF()
-    print c2.setRedON()
+        print c2.setRedOFF()
+        print c2.setRedON()
 
-    print c2.setKeyBoardLock()
-    print c2.setKeyBoardUnLock()
+        print c2.setKeyBoardLock()
+        print c2.setKeyBoardUnLock()
 
-    print u'测试结束\n'
+        time.sleep(2)
+        print u'测试结束\n'
 

+ 4 - 3
Chroma22293/baseClient.py

@@ -77,8 +77,8 @@ class BaseClient(object):
         
         '''接收返回数据'''
         try:
-            # 等待数据返回;
-            self.sock.settimeout(3)
+            # 等待数据返回;(串口若请求失败,超时值应该设置在3秒以上)
+            self.sock.settimeout(5)
             data = bytes(self.sock.recv(1024 * 8))
             self.sock.settimeout(None)
 
@@ -90,10 +90,11 @@ class BaseClient(object):
                 return None
             
             msg_json = data[np.array([(0xAA, 0)], dtype=ProHead).itemsize:]
-            msg_json = msg_json.decode('gb2312')
             if plen - 5 != msg_json.__len__():
                 return None
             
+            # print msg_json
+            msg_json = msg_json.decode('gb2312')
             # 解析成json;
             msg_dict = json.loads(msg_json)
             return msg_dict