add zmqtest
This commit is contained in:
parent
ad1c9ef675
commit
df30702ac0
137
src/zmqmyclasstest.py
Normal file
137
src/zmqmyclasstest.py
Normal file
@ -0,0 +1,137 @@
|
||||
import logging
|
||||
import multiprocessing
|
||||
import time
|
||||
from pathlib import Path
|
||||
|
||||
import cv2
|
||||
import numpy as np
|
||||
from tqdm import tqdm
|
||||
|
||||
from nodes.Beamformer import Beamformer
|
||||
from nodes.Broker import Broker
|
||||
from nodes.ImageCV import ImageCV
|
||||
from nodes.ImageQt import ImageQt
|
||||
from nodes.Loader import Loader
|
||||
from nodes.MainUI import MainUI
|
||||
from nodes.Node import Node
|
||||
from BusClient import BusClient
|
||||
from Msg import Msg1, Msg2, BMMsg, TickMsg, StrMsg, KillMsg
|
||||
from nodes.WebRTC import WebRTC
|
||||
|
||||
|
||||
class M1(Node):
|
||||
def loop(self):
|
||||
cnt = 0
|
||||
while True:
|
||||
cnt += 1
|
||||
self.send(str(cnt).encode())
|
||||
time.sleep(1)
|
||||
|
||||
|
||||
class M2(Node):
|
||||
def loop(self):
|
||||
while True:
|
||||
print(self.recv())
|
||||
|
||||
|
||||
class M3(Node):
|
||||
topics = [StrMsg]
|
||||
def loop(self):
|
||||
arr = []
|
||||
for img in tqdm(list(Path('/home/lambda/Videos/pngs/New Folder/').glob('*.png'))):
|
||||
img = cv2.imread(str(img))
|
||||
# img = cv2.resize(img, (1920 // 2, 1080 // 2))
|
||||
img = img.reshape(1080, 1920, 3)
|
||||
|
||||
z = np.zeros((1080, 1920, 4), dtype=np.uint8)
|
||||
z[:, :, :3] = img
|
||||
img = z
|
||||
img = cv2.cvtColor(img, cv2.COLOR_BGRA2RGBA)
|
||||
arr.append(img.tobytes())
|
||||
|
||||
# while self.isalive:
|
||||
# for b in arr:
|
||||
# self.send(BMMsg(0, b))
|
||||
# # self.pub_socket.send(b)
|
||||
# # self.send(b)
|
||||
# r = self.c.poller.poll(int(1000 / 60))
|
||||
# # print(r)
|
||||
# if r and Msg.decode_msg(r[0][0].recv()).name == '':
|
||||
# self.isalive = False
|
||||
# break
|
||||
# # time.sleep(1 / 60)
|
||||
while self.isalive:
|
||||
for b in arr:
|
||||
msg = self.recv()
|
||||
if isinstance(msg, KillMsg):
|
||||
if msg.name == '':
|
||||
self.isalive = False
|
||||
break
|
||||
self.send(BMMsg(0, b))
|
||||
|
||||
# if r and Msg.decode_msg(r[0][0].recv()).name == '':
|
||||
|
||||
|
||||
class M4(Node):
|
||||
def loop(self):
|
||||
while True:
|
||||
self.send(Msg1())
|
||||
time.sleep(1)
|
||||
|
||||
|
||||
class MTIME(Node):
|
||||
def loop(self):
|
||||
while True:
|
||||
t = time.time()
|
||||
self.send(TickMsg(t))
|
||||
time.sleep(10)
|
||||
# print(t)
|
||||
|
||||
|
||||
class MLISTEN(Node):
|
||||
topics = [StrMsg]
|
||||
|
||||
def loop(self):
|
||||
while self.isalive:
|
||||
r = self.recv()
|
||||
print(r)
|
||||
if isinstance(r, KillMsg) and r.name == '':
|
||||
self.isalive = False
|
||||
break
|
||||
self.send(TickMsg(time.time()))
|
||||
|
||||
|
||||
class M6(Node):
|
||||
topics = [Msg2.eid()]
|
||||
|
||||
def loop(self):
|
||||
while True:
|
||||
print(self.recv())
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
multiprocessing.set_start_method('spawn')
|
||||
pps = []
|
||||
ps = [
|
||||
Broker(),
|
||||
WebRTC(),
|
||||
# M3(),
|
||||
MainUI(),
|
||||
ImageCV(),
|
||||
MLISTEN(),
|
||||
Beamformer(),
|
||||
Loader(),
|
||||
]
|
||||
for p in ps:
|
||||
pps.append(multiprocessing.Process(target=p))
|
||||
for p in pps:
|
||||
p.start()
|
||||
|
||||
c = BusClient(KillMsg)
|
||||
while True:
|
||||
x: KillMsg = c.recv()
|
||||
if x.name == '':
|
||||
break
|
||||
for p in pps:
|
||||
p.kill()
|
||||
8
test/testcppzmq.py
Normal file
8
test/testcppzmq.py
Normal file
@ -0,0 +1,8 @@
|
||||
import zmq
|
||||
if __name__ == '__main__':
|
||||
ctx = zmq.Context()
|
||||
sock = ctx.socket(zmq.PULL)
|
||||
sock.bind('tcp://0.0.0.0:5558')
|
||||
while True:
|
||||
s = sock.recv()
|
||||
print(s)
|
||||
Loading…
Reference in New Issue
Block a user