def on_rx_done(self): print("\nRxDone") print('----------------------------------') payload = self.read_payload(nocheck=True) #payload = QuBuf(pl) data = ''.join([chr(c) for c in payload]) #data = QuBuf(pl) print(data) try: _length, _data = packer.Unpack_Str(data) print("\nTime: {}".format( str(time.ctime() ))) #print("Length: {}".format( _length )) #print("Raw RX: {}".format( payload )) try: # python3 unicode #print("\nReceive: {}".format( _data.encode('latin-1').decode('unicode_escape'))) data = "\n{}".format( _data.encode('latin-1').decode('unicode_escape')) print("\nRxData:{}".format(data)) #socket_connect(data) except: # python2 print("\nReceive: {}".format( _data )) except: print("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%") print("Non-hexadecimal digit found...") print("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%") print("Receive: {}".format( data)) self.set_dio_mapping([1,0,0,0,0,0]) # TX self.set_mode(MODE.STDBY) sleep(1) self.clear_irq_flags(TxDone=1) data = {"id":self._id, "data":packer.ACK} _length, _ack = packer.Pack_Str( json.dumps(data) ) try: # for python2 ack = [int(hex(ord(c)), 0) for c in _ack] except: # for python3 ack = [int(hex(c), 0) for c in _ack] print("\nACK: {}".format( self._id)) self.write_payload(ack) self.set_mode(MODE.TX)
def start(self): while True: print('----------------------------------') sleep(1) try: rawinput = raw_input(">>> ") except NameError: rawinput = input(">>> ") except KeyboardInterrupt: lora.set_mode(MODE.SLEEP) sleep(.5) BOARD.teardown() exit() if len(rawinput) < 200: data = {"id": self._id, "data": rawinput} _length, _payload = packer.Pack_Str(json.dumps(data)) try: # for python2 data = [int(hex(ord(c)), 0) for c in _payload] except: # for python3 data = [int(hex(c), 0) for c in _payload] for i in range(3): if self.rx_done is True: self.rx_done = False break else: self.set_mode(MODE.SLEEP) self.set_dio_mapping([1, 0, 0, 0, 0, 0]) # TX sleep(.5) lora.set_pa_config(pa_select=1) self.clear_irq_flags(TxDone=1) self.set_mode(MODE.STDBY) sleep(.5) print("Raw TX: {}".format(data)) self.write_payload(data) self.set_mode(MODE.TX) ## ALOHA(1~3) ## on_tx_done t = i * i + int(np.random.random() * float(_length)) print("ALOHA Waiting: {}".format(t)) sleep(t)
def on_rx_done(self): print '----------------------------------' self.clear_irq_flags(RxDone=1) payload = self.read_payload(nocheck=True) data = ''.join([chr(c) for c in payload]) print "Time:", str(time.ctime()) print "Rawinput:", payload try: _length, _data = packer.Unpack_Str(data) print "Time:", str(time.ctime()) print "Length:", _length print "Receive:", _data except: print "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" print "Non-hexadecimal digit found..." print "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" print "Receive:", data #sleep(0.5) #self.set_mode(MODE.SLEEP) #self.reset_ptr_rx() ####### #sleep(1) ####### for i in range(3): self.set_mode(MODE.STDBY) self.clear_irq_flags(TxDone=1) data = {"id": self._id, "data": packer.ACK} _length, _ack = packer.Pack_Str(json.dumps(data)) ack = [int(hex(ord(c)), 0) for c in _ack] print "ACK:", self._id self.write_payload(ack) self.set_mode(MODE.TX) # ALOHA(1~3) t = i * 2 + np.random.random() * 3 sleep(t) self.set_mode(MODE.RXCONT)
def start(self): while True: print '----------------------------------' try: rawinput = raw_input(">>> ") except KeyboardInterrupt: lora.set_mode(MODE.SLEEP) BOARD.teardown() print "exit()" if len(rawinput) < 200: self.set_mode(MODE.STDBY) self.clear_irq_flags(TxDone=1) data = {"id": self._id, "data": rawinput} _length, _payload = packer.Pack_Str(json.dumps(data)) data = [int(hex(ord(c)), 0) for c in _payload] print "data", _payload print "Rawinput:", data sleep(1) self.write_payload(data) self.set_mode(MODE.TX) sleep(.5) self.set_mode(MODE.SLEEP) self.set_dio_mapping([0] * 6) sleep(.5) self.set_mode(MODE.STDBY) sleep(.5) self.reset_ptr_rx() self.set_mode(MODE.RXCONT) for _ in range(t): sleep(.1) if self.rx_done == True: self.rx_done = False break
try: while True: time.sleep(8) air = g3sensor() pmdata = 0 pmdata = air.read("/dev/ttyAMA0") pm25 = str(pmdata[5]) rawinput = pm25 try: byte_rawinput = bytes(rawinput + "\r\n") except: byte_rawinput = bytes(rawinput + "\r\n", encoding="UTF-8") cmd = "radio tx " _length, _payload = packer.Pack_Str(rawinput) if int(_length) < int(MAX_PAYLOAD_LENGTH): print("Time: " + str(time.ctime())) byte_rawinput = bytes(cmd + _payload) ser.write(byte_rawinput) ser.readline() time.sleep(0.5 + 0.01 * int(_length)) print("Ready to receive ACK") for i in range(0, RETRY): ser.write(b'radio rx 0\r\n') ret = ser.readline() ret = ser.readline()
send_cmd(ser, b'mac save') ser.write(b'mac join otaa'+'\r\n') rval = '' while "accepted" not in rval: rval = str(ser.readline()) if (DEBUGMODE==1): print('Joining... got: '+rval) try: kount = 0 while kount<1000: cmd = "mac tx uncnf 1 " rawpayload = 'Hello '+str(kount) _length, _payload = packer.Pack_Str(rawpayload) if int(_length) < int(MAX_PAYLOAD_LENGTH): byte_rawcmd = bytes(cmd + _payload) print("Executing: "+byte_rawcmd[:-2]+ " at: " + str(datetime.datetime.now())) ser.write(byte_rawcmd) rval = '' while "mac_tx_ok" not in rval: rval = str(ser.readline()) if (DEBUGMODE==1): print('Executing: '+byte_rawcmd[:-2]+'... got: '+rval) if "mac_tx_ok" in rval: print("Sent: " + rawpayload+ " at: " + str(datetime.datetime.now()))
try: while True: ser.write(b'radio rx 0\r\n') ret = ser.readline() if ret == "ok" or "radio_tx_ok": payload = ser.readline() if re.match('^radio_rx', str(payload).strip()): data = payload.split(" ", 1)[1] _length, _data = packer.Unpack_Str(data) print("Time: " + str(time.ctime())) print("Receive: " + _data) ser.write(b'radio get snr\r\n') snr = ser.readline() print("SNR: " + str(snr)) time.sleep(0.1 + 0.02 * int(_length)) print('radio tx ACK') _length, _ack = packer.Pack_Str(packer.ACK) ack = "radio tx " + str(_ack) ser.write(ack) ret = ser.readline() print('----------------------------------') finally: ser.close()
def start(self): while True: print '----------------------------------' ########## # Initialize and start the video frame capture #cam = cv2.VideoCapture(0) flag = "0" dem = 0 count = 0 vantay = "0" add = "0" delete = "0" cam = cv2.VideoCapture(0) ## cam.set(cv2.CAP_PROP_FPS, 30) while True: while ser.in_waiting: read_serial = ser.readline() s = str(int(read_serial, 16)) flag = "1" print s if s == "222": #quet read_serial = ser.readline() vantay = str(int(read_serial, 16)) print vantay elif s == "555": #them read_serial = ser.readline() vantay = str(int(read_serial, 16)) add = "1" print vantay elif s == "444": #xoa read_serial = ser.readline() vantay = str(int(read_serial, 16)) delete = "1" print vantay # Read the video frame ret, im = cam.read() # Convert the captured frame into grayscale gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY) # Get all face from the video frame faces = faceCascade.detectMultiScale(gray, 1.2, 5) # For each face in faces for (x, y, w, h) in faces: gray_face = gray[y:y + h, x:x + w] eyes = eyeCascade.detectMultiScale(gray_face) for (ex, ey, ew, eh) in eyes: # Create rectangle around the face cv2.rectangle(im, (x - 20, y - 20), (x + w + 20, y + h + 20), (0, 255, 0), 4) # Recognize the face belongs to which ID Id = recognizer.predict(gray[y:y + h, x:x + w]) # Check the ID if exist if (Id[0] == 1) and (Id[1] <= 80): Id_reg = "KHANG" dem = 0 else: Id_reg = "UNKNOWN" currentDT = datetime.datetime.now() #cv2.imwrite("Unknown_person_data/Unknown.jpg",gray_face) cv2.imwrite( "Unknown_person_data/Unknown." + str(currentDT.strftime("%H-%M-%S")) + '_' + str(currentDT.strftime("%d-%m-%Y")) + ".jpg", gray_face) dem += 1 # Put text describe who is in the picture #cv2.rectangle(im, (x-22,y-90), (x+w+22, y-22), (0,0,255), -1) #cv2.putText(im, str(Id_reg), (x,y-40), font, 1, (255,255,255), 2) # Display the video frame with the bounded rectangle cv2.imshow('Face_Recognition', im) # If 'q' is pressed, close program if dem >= 30: camera = "1" flag = "2" count = 0 else: if count >= 50: count = 0 dem = 0 else: count += 1 ## print("gia tri dem: ", dem) print("gia tri flag:" + flag) if cv2.waitKey(10) & 0xFF == ord( 'q') or flag == "1" or flag == "2": break # Stop the camera cam.release() # Close all windows cv2.destroyAllWindows() ########## try: if flag == "1": rawinput = vantay print rawinput elif flag == "2": rawinput = camera except KeyboardInterrupt: lora.set_mode(MODE.SLEEP) BOARD.teardown() print "exit()" if len(rawinput) < 200: self.set_mode(MODE.STDBY) self.clear_irq_flags(TxDone=1) if flag == "1": data = {"d": rawinput, "del": delete, "a": add, "ty": flag} elif flag == "2": data = {"d": rawinput, "ty": flag} _length, _payload = packer.Pack_Str(json.dumps(data)) print "Rawinput:", data data = [int(hex(ord(c)), 0) for c in _payload] print "data", _payload sleep(1) self.write_payload(data) self.set_mode(MODE.TX) sleep(.5) self.set_mode(MODE.SLEEP) self.set_dio_mapping([0] * 6) sleep(.5) self.set_mode(MODE.STDBY) sleep(.5) self.reset_ptr_rx() self.set_mode(MODE.RXCONT) for _ in range(t): sleep(.1) if self.rx_done == True: self.rx_done = False break