[PYTHON] Stop sign detection Development of visualization part part4 When an object is detected, it is notified by voice using socket communication (multiple volumes)

Until last time

Last time, I wrote a program to notify by voice when a chair is detected by focusing on the smartphone. However, even if something other than a book is detected, it was not possible to notify it with the previous program. So this time, the smartphone It is a program that tries to notify you when something other than that is detected.

Functions implemented this time

When an object is detected on Yolov5 ➡ Socket communication is performed. ➡ Sound is played when socket communication is received.

Implementation part

(The socket notification part is made into a function)

detect.py


def socket1():
    host = "192.168.10.4" #IP address of the server launched by Processing
    port = 10001       #Port number set in Processing
    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 address of the server launched by Processing
    port = 10001       #Port number set in Processing
    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())

(Recognition part)

detect.py


                    if label1=="cell phone":
                     print("I found a smartphone")
                     socket1()
                     with open('daystext/'+str(d_today)+'.txt', 'a') as f:
                         dt_now = datetime.datetime.now()
                         f.write(str(dt_now)+"I found a smartphone"+"\n")
                    if label1=="book":
                     print("I found a book")
                     socket2()
                     with open('daystext/'+str(d_today)+'.txt', 'a') as f:
                         dt_now = datetime.datetime.now()
                         f.write(str(dt_now)+"I found a book"+"\n")

Server part

server.py


#Create socket server
from playsound import playsound
import socket
cont=1
# AF =Means IPv4
# TCP/For IP, SOCK_Use STREAM
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    #Specify IP address and port
    s.bind(('127.0.0.1', 50007))
    #1 connection
    s.listen(1)
    #Wait until you connect
    while True:
        #When someone accesses it, enter the connection and address
        conn, addr = s.accept()
        with conn:
            while True:
                #Receive data
                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

The specification is that when you send a socket, it will be sent twice, and you will talk twice. The challenge is to improve this in the future.

To next time

・ Since this program has some problems left, it is necessary to improve the program in order to solve the problems in the future. Therefore, write a program to improve this in the future. I'm going. ・ We are planning to cooperate with GPS in order to stop this system and adapt it to sign detection to develop a better system. Next time I will write about this area, but next time it will be a little heavy, so the update may be interrupted a little, but thank you.

Recommended Posts

Stop sign detection Development of visualization part part4 When an object is detected, it is notified by voice using socket communication (multiple volumes)
Stop sign detection Development of visualization part part2 Notify another system by socket communication when an object is detected
Stop sign detection Development of visualization part part5 Display what was detected when an object was detected
Stop sign detection Development of visualization part part2 Notify another system by socket communication when an object is detected
Stop sign detection Development of visualization part part4 When an object is detected, it is notified by voice using socket communication (multiple volumes)
Stop sign detection Development of visualization part part5 Display what was detected when an object was detected
Stop sign detection Development of visualization part part1 Detection and recording of objects * This time, the chair is detected (the model is not made by myself)
Stop sign detection Development of visualization part part1 Detection and recording of objects * This time, the chair is detected (the model is not made by myself)