Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import socket as sock
- import sys
- import time
- buffer = 8192
- packetdelim = "&%&%("
- flag_internaldelim = "%^&*)"
- datadelim = "!&^%!"
- dictflag = "fdict"
- picflag = "fpic"
- newconflag = "fcon"
- commflag = "fcommd"
- class RpiCamMain():
- def __init__(self):
- self.soc = None
- self.ifname = "wlan0"
- self.macid = self.getmacid()
- self.peritype = "cam!@#"
- self.host = "192.168.5.185"
- self.port = 6280
- def joinpacket(self, flag, data):
- return f"{flag}{packetdelim}{data}"
- def splitpacket(self, msg):
- msg = msg.split(packetdelim)
- flag, data = msg[0], msg[1]
- return flag, data
- def getmacid(self):
- try:
- mac = open(f"/sys/class/net/{self.ifname}/address").readline()
- mac = mac.split("\n")[0]
- except:
- print("unable to find mac addr")
- sys.exit()
- return mac
- def startup(self):
- while True:
- with sock.socket(sock.AF_INET, sock.SOCK_STREAM) as self.soc:
- self.soc.setsockopt(sock.SOL_SOCKET, sock.SO_REUSEADDR, 1)
- self.mainloop()
- def mainloop(self):
- try:
- self.soc.connect((self.host, self.port))
- data = f"{self.peritype}{datadelim}{self.macid}"
- msg = self.joinpacket(newconflag, data).encode("utf-8")
- self.soc.send(msg)
- print(msg)
- time.sleep(600)
- except Exception as e:
- time.sleep(1)
- print(e, "in connect try")
- return
- if __name__ == "__main__":
- camclass = RpiCamMain()
- camclass.startup()
Add Comment
Please, Sign In to add comment