This past week I was able to get the Raspberry Pi device to communicate with my personal windows computer on my local network, via a simple Python program that I based off of what I found here: http://ilab.cs.byu.edu/python/socket/echoserver.html
I adapted it a little for Python 3.2 and here is what I ended up with:
#client example import socket client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client_socket.connect(('192.168.1.11', 50000)) while 1: data = "0" print("While 1") if ( data == 'q' or data == 'Q'): client_socket.close() break; else: data = input( "SEND( TYPE q or Q to Quit):") strData = bytes(data, 'UTF-8') if (data != 'Q' and strData != 'q'): client_socket.send(strData) data = client_socket.recv(1024) print ("RECIEVED:" , data) else: client_socket.send(strData) client_socket.close() break;
#!/usr/bin/env python #Server Example import socket host = '192.168.1.133' port = 50000 backlog = 5 size = 1024 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((host,port)) s.listen(backlog) while 1: client, address = s.accept() print ("Connection!") data = client.recv(size) print("Got data") if data: print("Sending data") client.send(data) print("Sent data") client.close() print("Closed")
I added a lot of print statements so I could trace how the code was running as this was my first experience with the Python language. I didn’t encounter too many snafus making this happen except for changing “raw_input” to “input” and casting it to bytes.
Here is a screenshot of my code after execution: