[PYTHON] Stoppschilderkennung Entwicklung des Visualisierungsteils Teil4 Benachrichtigung per Spracheingabe über Socket-Kommunikation, wenn ein Objekt erkannt wird (mehrere Editionen)

Bis zum letzten Mal

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.

Diesmal implementierte Funktionen

Wenn ein Objekt auf Yolov5 erkannt wird ➡ Socket-Kommunikation wird ausgeführt. ➡ Audio wird abgespielt, wenn Socket-Kommunikation empfangen wird.

Montageteil

(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')

Problem

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.

Zum nächsten Mal

・ 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

Stoppschilderkennung Entwicklung des Visualisierungsteils Teil4 Benachrichtigung per Spracheingabe über Socket-Kommunikation, wenn ein Objekt erkannt wird (mehrere Editionen)
Stoppschilderkennung Entwicklung des Visualisierungsteils Teil2 Benachrichtigen Sie ein anderes System per Socket-Kommunikation, wenn ein Objekt erkannt wird
Stoppschilderkennung Entwicklung des Visualisierungsteils Teil5 Zeigen Sie an, was erkannt wurde, als ein Objekt erkannt wurde
Stoppschilderkennung Entwicklung des Visualisierungsteils Teil2 Benachrichtigen Sie ein anderes System per Socket-Kommunikation, wenn ein Objekt erkannt wird
Stoppschilderkennung Entwicklung des Visualisierungsteils Teil4 Benachrichtigung per Spracheingabe über Socket-Kommunikation, wenn ein Objekt erkannt wird (mehrere Editionen)
Stoppschilderkennung Entwicklung des Visualisierungsteils Teil5 Zeigen Sie an, was erkannt wurde, als ein Objekt erkannt wurde
Stoppschilderkennung Entwicklung des Visualisierungsteils Teil1 Erkennung und Aufzeichnung von Objekten * Dieses Mal wird der Stuhl erkannt (das Modell wurde nicht von mir selbst hergestellt)
Stoppschilderkennung Entwicklung des Visualisierungsteils Teil1 Erkennung und Aufzeichnung von Objekten * Dieses Mal wird der Stuhl erkannt (das Modell wurde nicht von mir selbst hergestellt)