Beim letzten Mal habe ich ein Programm geschrieben, um per Sprache zu benachrichtigen, wenn ein Stuhl durch Fokussieren auf das Smartphone erkannt wird. Selbst wenn etwas anderes als ein Buch erkannt wird, war es nicht möglich, es mit dem vorherigen Programm zu benachrichtigen. Diesmal handelt es sich also um ein Smartphone Es ist ein Programm, das versucht, Sie zu benachrichtigen, wenn etwas anderes als das erkannt wird.
Wenn ein Objekt auf Yolov5 erkannt wird ➡ Socket-Kommunikation wird ausgeführt. ➡ Audio wird abgespielt, wenn Socket-Kommunikation empfangen wird.
(Der Socket-Benachrichtigungsteil wird zu einer Funktion gemacht.)
detect.py
def socket1():
host = "192.168.10.4" #IP-Adresse des von Processing gestarteten Servers
port = 10001 #Portnummer in Verarbeitung eingestellt
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s2:
s2.connect(('127.0.0.1', 50007))
BUFFER_SIZE=1024
data1='1'
s2.send(data1.encode())
print(s2.recv(BUFFER_SIZE).decode())
def socket2():
host = "192.168.10.4" #IP-Adresse des von Processing gestarteten Servers
port = 10001 #Portnummer in Verarbeitung eingestellt
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s2:
s2.connect(('127.0.0.1', 50007))
BUFFER_SIZE=1024
data1='2'
s2.send(data1.encode())
print(s2.recv(BUFFER_SIZE).decode())
(Anerkennungsteil)
detect.py
if label1=="cell phone":
print("Ich habe ein Smartphone gefunden")
socket1()
with open('daystext/'+str(d_today)+'.txt', 'a') as f:
dt_now = datetime.datetime.now()
f.write(str(dt_now)+"Ich habe ein Smartphone gefunden"+"\n")
if label1=="book":
print("Ich habe ein Buch gefunden")
socket2()
with open('daystext/'+str(d_today)+'.txt', 'a') as f:
dt_now = datetime.datetime.now()
f.write(str(dt_now)+"Ich habe ein Buch gefunden"+"\n")
Serverteil
server.py
#Erstellen Sie einen Socket-Server
from playsound import playsound
import socket
cont=1
# AF =Bedeutet IPv4
# TCP/Für IP SOCK_Verwenden Sie STREAM
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
#Geben Sie die IP-Adresse und den Port an
s.bind(('127.0.0.1', 50007))
#1 Verbindung
s.listen(1)
#Warten Sie, bis Sie eine Verbindung hergestellt haben
while True:
#Wenn jemand besucht, geben Sie die Verbindung und Adresse ein
conn, addr = s.accept()
with conn:
while True:
#Empfange Daten
data = conn.recv(1024)
if not data:
break
else:
data2=str(data)
data3=(data2.replace('b', ''))
conn.sendall(b'Received: ' + data)
if data3 == "'1'":
playsound('2.wav')
if data3 == "'2'":
playsound('3.wav')
Die Spezifikation ist, dass wenn Sie einen Socket senden, dieser zweimal gesendet wird und Sie zweimal sprechen. Die Herausforderung besteht darin, dies in Zukunft zu verbessern.
・ Da dieses Programm einige Probleme aufweist, muss das Programm verbessert werden, um die Probleme in Zukunft zu lösen. Schreiben Sie daher ein Programm, um dies in Zukunft zu verbessern. Ich gehe. ・ Wir planen, mit GPS zusammenzuarbeiten, um dieses System zu stoppen und es an die Zeichenerkennung anzupassen, um ein besseres System zu entwickeln. Das nächste Mal werde ich über diesen Bereich schreiben, aber das nächste Mal wird es ein wenig schwer, so dass das Update möglicherweise ein wenig unterbrochen wird, aber danke.
Recommended Posts