Bygga din Internet kontrollerad Video-Streaming Robot med Arduino och Raspberry Pi (12 / 15 steg)
Steg 12: [TCP]: låter göra en klient!
Klienten (Raspberry Pi i vårt fall), som tar emot data från servern (vår PC i vårt fall) kommer att få data att skicka till Pi (Serial kommandon som ska utföras på Arduino) och ta emot data tillbaka (sensormätningar och feedback direkt från Arduino. Systemet bifogas visar förhållandet mellan tre.
Python Wiki TcpCommunication artikel visar att det är så enkelt att göra sådan anmälan med några rader kod med hjälp av inbyggda uttaget modul. Vi har ett program på datorn och ett annat program på Pi.
Vi kommer att arbeta med avbryter. Läs mer i förklaringarna steg om dem. Läs det om buffertar för.
Nu kan vi läsa data vi har med hjälp av data=s.recv(BUFFER_SIZE) men det kommer att vara hur många tecken som vi har definierat med Tom biter. Kan vi använda avbrott? En annan fråga: bufferten är tomt eller det väntar på att servern ska skicka mer data där fallet server/klient kommer att kasta en timeout undantag?
Kan ta itu med att en i taget. Innan vi gör det, har jag tittat upp denna Wikipedia-artikel att listor används TCP- och UDP-portar. Efter en snabb titt har jag beslutat att detta projekt kommer att kommunicera på port 12298 eftersom det inte används av operativsystemet och lokala tjänster.