· 6 years ago · Jan 23, 2020, 11:14 AM
1PASTEBINGO API TOOLS FAQ DEALS
2Search...
3pasteSIGN IN SIGN UP
4Public Pastes
5Untitled
60 sec ago
7Untitled
81 sec ago
9Untitled
104 sec ago
11Untitled
128 sec ago
13Untitled
1412 sec ago
15Untitled
1618 sec ago
17Untitled
1821 sec ago
19Untitled
2028 sec ago
21
22SHARE
23TWEET
24
25Untitled
26 A GUEST JAN 23RD, 2020 0 NEVER
27NOTE: Your guest paste has been posted. If you sign up for a free account, you can edit and delete your pastes!
28rawdownloadcloneembedreportprinttext 4.35 KB
29from struct import unpack_from
30import toml
31import json
32import numpy as np
33from websocket import create_connection
34import time
35from time import sleep, gmtime, strftime, localtime
36import datetime
37#from datetime import time, datetime,timezone, timedelta
38import sys
39import asyncio
40loop = asyncio.get_event_loop()
41
42DTYPES = {0: np.int8, 1: np.uint8, 2: np.int16, 3: np.uint16, 4: np.int32, 5: np.uint32, 6: np.float32, 7: np.float64, }
43
44ASCII_RS = '\u001e'
45ASCII_US = '\u001f'
46
47config = toml.load("config_vayyar.toml")
48
49def to_message(buffer):
50 # parse MatNet messages from JSON / own binary format
51 if isinstance(buffer, str):
52 return json.loads(buffer)
53 seek = 0
54 # bufferSize = np.asscalar(np.frombuffer(buffer, np.int32, 1, seek))
55 fields_len = np.asscalar(np.frombuffer(buffer, np.int32, 1, seek + 4))
56 header_buff = buffer[seek + 8: seek + 8 + fields_len].decode('utf8')
57 id, keys = header_buff.split(ASCII_RS)
58 msg = {'ID': id, 'Payload': {}}
59 seek += 8 + fields_len
60 for key in keys.split(ASCII_US):
61 # fieldSize = np.asscalar(np.frombuffer(buffer, np.int32, 1, seek))
62 dtype = DTYPES[np.asscalar(np.frombuffer(buffer, np.int32, 1, seek + 4))]
63 ndims = np.asscalar(np.frombuffer(buffer, np.int32, 1, seek + 8))
64 dims = np.frombuffer(buffer, np.int32, ndims, seek + 12)
65 seek += 12 + ndims * np.int32().nbytes
66 data = np.frombuffer(buffer, dtype, np.prod(dims), seek)
67 seek += np.prod(dims) * dtype().nbytes
68 msg['Payload'][key] = data.reshape(dims) if ndims else np.asscalar(data)
69 return msg
70
71listener = create_connection("ws://"+config["connection"]["ip"])
72# retrieve current configuration
73listener.send(json.dumps({ 'Type': 'COMMAND', 'ID': 'SET_PARAMS', 'Payload': { 'Cfg.MonitoredRoomDims': config["vayyar"]["rd"], 'Cfg.Common.sensorOrientation.mountPlane': config["vayyar"]["mp"], 'Cfg.Common.sensorOrientation.transVec': config["vayyar"]["tv"], 'Cfg.imgProcessing.substractionMode': config["vayyar"]["ips"], 'Cfg.TargetProperties.MaxPersonsInArena': config["vayyar"]["maxpia"], 'Cfg.TargetProperties.StandingMaxHeight': config["vayyar"]["stamaxh"], 'Cfg.TargetProperties.StandingMinHeight': config["vayyar"]["staminh"], 'Cfg.TargetProperties.SittingMinHeight': config["vayyar"]["lyiminh"], 'Cfg.TargetProperties.LyingMinHeight': config["vayyar"]["pr"], 'Cfg.TargetProperties.PersonRadius': config["vayyar"]["pr"], 'MPR.save_dir': config["vayyar"]["mprsd"], 'MPR.read_from_file': config["vayyar"]["mprrff"], 'MPR.save_to_file': config["vayyar"]["mprstf"], 'MPR.save_image_to_file': config["vayyar"]["mpsitf"], 'Cfg.OutputData.save_to_file': config["vayyar"]["odstf"], 'Cfg.ExternalGUI.FilterImage.TH': config["vayyar"]["egfi"], 'Cfg.ExternalGUI.FilterImage.numOfSd': config["vayyar"]["egfin"], 'Cfg.PeopleCounter.inCarIsLocked': config["vayyar"]["pcic"], 'Cfg.Zones.Beds': config["vayyar"]["zb"] } }))
74
75# set outputs for each frame
76listener.send(json.dumps({ 'Type': 'COMMAND', 'ID': 'SET_OUTPUTS', 'Payload': { 'binary_outputs': ['LocationMatrix','NumOfPeople','BreathingMatrix'], 'json_outputs':['PostureVector'] } }))
77# start the engine - if WebGUI is not running
78listener.send(json.dumps({ 'Type': 'COMMAND', 'ID': 'START', 'Payload': {} }))
79listener.send(json.dumps({'Type': 'QUERY', 'ID': 'JSON_DATA'}))
80
81print("Running! Waiting for messages...")
82async def send_data():
83 while True:
84 await asyncio.sleep(config["asynctimer"]["aast"])
85 buffer = listener.recv()
86 data = to_message(buffer)
87 #print(data['ID'])
88 #print(data)
89 if data['ID'] == 'JSON_DATA':
90 #datetime_object = datetime.datetime.now()
91 #print(datetime_object)
92 print(strftime("%H:%M:%S", localtime()))
93 print("PostureVector: ", data['Payload']['PostureVector'])
94 listener.send(json.dumps({'Type': 'QUERY', 'ID': 'JSON_DATA'}))
95#time.sleep(2)
96
97if __name__ == '__main__':
98 loop.run_until_complete(send_data())
99RAW Paste Data
100from struct import unpack_from
101import toml
102import json
103import numpy as np
104from websocket import create_connection
105import time
106from time import sleep, gmtime, strftime, localtime
107import datetime
108#from datetime import time, datetime,timezone, timedelta
109import sys
110import asyncio
111loop = asyncio.get_event_loop()
112
113DTYPES = {0: np.int8, 1: np.uint8, 2: np.int16, 3: np.uint16, 4: np.int32, 5: np.uint32, 6: np.float32, 7: np.float64, }
114
115ASCII_RS = '\u001e'
116ASCII_US = '\u001f'
117
118config = toml.load("config_vayyar.toml")
119
120def to_message(buffer):
121 # parse MatNet messages from JSON / own binary format
122 if isinstance(buffer, str):
123 return json.loads(buffer)
124 seek = 0
125 # bufferSize = np.asscalar(np.frombuffer(buffer, np.int32, 1, seek))
126 fields_len = np.asscalar(np.frombuffer(buffer, np.int32, 1, seek + 4))
127 header_buff = buffer[seek + 8: seek + 8 + fields_len].decode('utf8')
128 id, keys = header_buff.split(ASCII_RS)
129 msg = {'ID': id, 'Payload': {}}
130 seek += 8 + fields_len
131 for key in keys.split(ASCII_US):
132 # fieldSize = np.asscalar(np.frombuffer(buffer, np.int32, 1, seek))
133 dtype = DTYPES[np.asscalar(np.frombuffer(buffer, np.int32, 1, seek + 4))]
134 ndims = np.asscalar(np.frombuffer(buffer, np.int32, 1, seek + 8))
135 dims = np.frombuffer(buffer, np.int32, ndims, seek + 12)
136 seek += 12 + ndims * np.int32().nbytes
137 data = np.frombuffer(buffer, dtype, np.prod(dims), seek)
138 seek += np.prod(dims) * dtype().nbytes
139 msg['Payload'][key] = data.reshape(dims) if ndims else np.asscalar(data)
140 return msg
141
142listener = create_connection("ws://"+config["connection"]["ip"])
143# retrieve current configuration
144listener.send(json.dumps({ 'Type': 'COMMAND', 'ID': 'SET_PARAMS', 'Payload': { 'Cfg.MonitoredRoomDims': config["vayyar"]["rd"], 'Cfg.Common.sensorOrientation.mountPlane': config["vayyar"]["mp"], 'Cfg.Common.sensorOrientation.transVec': config["vayyar"]["tv"], 'Cfg.imgProcessing.substractionMode': config["vayyar"]["ips"], 'Cfg.TargetProperties.MaxPersonsInArena': config["vayyar"]["maxpia"], 'Cfg.TargetProperties.StandingMaxHeight': config["vayyar"]["stamaxh"], 'Cfg.TargetProperties.StandingMinHeight': config["vayyar"]["staminh"], 'Cfg.TargetProperties.SittingMinHeight': config["vayyar"]["lyiminh"], 'Cfg.TargetProperties.LyingMinHeight': config["vayyar"]["pr"], 'Cfg.TargetProperties.PersonRadius': config["vayyar"]["pr"], 'MPR.save_dir': config["vayyar"]["mprsd"], 'MPR.read_from_file': config["vayyar"]["mprrff"], 'MPR.save_to_file': config["vayyar"]["mprstf"], 'MPR.save_image_to_file': config["vayyar"]["mpsitf"], 'Cfg.OutputData.save_to_file': config["vayyar"]["odstf"], 'Cfg.ExternalGUI.FilterImage.TH': config["vayyar"]["egfi"], 'Cfg.ExternalGUI.FilterImage.numOfSd': config["vayyar"]["egfin"], 'Cfg.PeopleCounter.inCarIsLocked': config["vayyar"]["pcic"], 'Cfg.Zones.Beds': config["vayyar"]["zb"] } }))
145
146# set outputs for each frame
147listener.send(json.dumps({ 'Type': 'COMMAND', 'ID': 'SET_OUTPUTS', 'Payload': { 'binary_outputs': ['LocationMatrix','NumOfPeople','BreathingMatrix'], 'json_outputs':['PostureVector'] } }))
148# start the engine - if WebGUI is not running
149listener.send(json.dumps({ 'Type': 'COMMAND', 'ID': 'START', 'Payload': {} }))
150listener.send(json.dumps({'Type': 'QUERY', 'ID': 'JSON_DATA'}))
151
152print("Running! Waiting for messages...")
153async def send_data():
154 while True:
155 await asyncio.sleep(config["asynctimer"]["aast"])
156 buffer = listener.recv()
157 data = to_message(buffer)
158 #print(data['ID'])
159 #print(data)
160 if data['ID'] == 'JSON_DATA':
161 #datetime_object = datetime.datetime.now()
162 #print(datetime_object)
163 print(strftime("%H:%M:%S", localtime()))
164 print("PostureVector: ", data['Payload']['PostureVector'])
165 listener.send(json.dumps({'Type': 'QUERY', 'ID': 'JSON_DATA'}))
166#time.sleep(2)
167
168if __name__ == '__main__':
169 loop.run_until_complete(send_data())
170
171We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
172Not a member of Pastebin yet?
173Sign Up, it unlocks many cool features!
174
175create new paste / dealsnew! / syntax languages / archive / faq / tools / night mode / api / scraping api
176privacy statement / cookies policy / terms of service / security disclosure / dmca / contact
177
178By using Pastebin.com you agree to our cookies policy to enhance your experience.
179Site design & logo © 2020 Pastebin; user contributions (pastes) licensed under cc by-sa 3.0 -- FavPNG -- Dedicated Server Hosting by Steadfast