rambo 5 months ago
parent
commit
c827846c94
1 changed files with 51 additions and 0 deletions
  1. 51 0
      python/mcu/capture/smart_shooter_class.py

+ 51 - 0
python/mcu/capture/smart_shooter_class.py

@@ -0,0 +1,51 @@
+import json
+import datetime
+import zmq
+import asyncio
+from PIL import Image
+from io import BytesIO
+import base64
+import zmq, sys
+
+
+class SmartShooter:
+    SET_REQ = "tcp://127.0.0.1:54544"
+    LISTEN_REQ = "tcp://127.0.0.1:54543"
+
+    def send_tcp_message(self, socket, code):
+        exit(1)
+        req = {}
+        req["msg_type"] = "Request"
+        req["msg_id"] = "ActivateLicense"
+        req["msg_seq_num"] = 0
+        req["ActivationCode"] = code
+        socket.send_string(json.dumps(req))
+        rep = socket.recv()
+        str_msg = rep.decode("utf-8")
+        json_msg = json.loads(str_msg)
+        return json_msg["msg_result"]
+
+    def connect_send(self):
+        context = zmq.Context()
+        req_socket = context.socket(zmq.REQ)
+        req_socket.connect(self.SET_REQ)
+
+        if self.send_tcp_message(req_socket, True):
+            print("License activated")
+        else:
+            print("Failed to activate license", file=sys.stderr)
+    def connect_listen(self):
+        context = zmq.Context()
+        sub_socket = context.socket(zmq.SUB)
+        sub_socket.setsockopt(zmq.SUBSCRIBE, b"")
+        sub_socket.connect(self.LISTEN_REQ)
+
+        while True:
+            raw = sub_socket.recv()
+            str_msg = raw.decode("utf-8")
+            json_msg = json.loads(str_msg)
+            # if args.nopings and json_msg["msg_id"] == "NetworkPing":
+            #     continue
+            # print("{0}: {1}".format(datetime.datetime.now(), json_msg["msg_id"]))
+            # if not args.quiet:
+            #     print(str_msg)