Basic example using a TCP protocol. Client version. It connects to a Raspberry Pi server using a Python Script.

Dependencies:   EthernetInterface mbed-rtos mbed

Fork of TCPEchoClient by Gerardo CR

Basic program.

It connects to a remote server on a LAN running a Python script. Server send data to a spreadsheet in my google docs account.

PYTHON CODE

PYTHON CODE

#!/usr/bin/python
import time
import datetime
import sys
import gspread
import socket

# Socket
port = 50006
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', port))
s.listen(1)

# Google Acoount Details
email = 'your-email@gmail.com'
password = 'your-password'
spreadsheet = 'ldr'

# Login with your Google account
try:
  gc = gspread.login(email, password)
except:
  print "unable to login in. Check your email address/password"
  sys.exit()
  
# Open a worksheet for your spreadsheet using the filename
try:
  wks = gc.open(spreadsheet).sheet1
except:
  print ("unable to open the spredsheet.  Check your filename: %s") % spreadsheet
  sys.exit()

time.sleep(1)

input = 0

conn, addr = s.accept()
print 'Connected by', addr

while True:  
    input = conn.recv(1024)
    print(input)
    print(datetime.datetime.now(), input)
    print('write angle to gdocs')
    try:
      values = [datetime.datetime.now(), input]
      wks.append_row(values)
    except:
      print ("Unable to append data.  Check your connection?")
      sys.exit()

main.cpp

Committer:
gerardo_carmona
Date:
2014-11-07
Revision:
7:a6f3768bc4b7
Parent:
3:3fbf0efec25a

File content as of revision 7:a6f3768bc4b7:

#include "mbed.h"
#include "EthernetInterface.h"

const char* ECHO_SERVER_ADDRESS = "10.43.18.213";
const int ECHO_SERVER_PORT = 50007;

int main() {
    EthernetInterface eth;
    eth.init(); //Use DHCP
    eth.connect();
    printf("IP Address is %s\n", eth.getIPAddress());
    
    TCPSocketConnection socket;
    while (socket.connect(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT) < 0) {
        printf("Unable to connect to (%s) on port (%d)\n", ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT);
        wait(1);
    }
    
    char hello[] = "Hello World\n";
    socket.send_all(hello, sizeof(hello) - 1);
    
    char buf[256];
    int n = socket.receive(buf, 256);
    buf[n] = '\0';
    printf("%s", buf);
    
    socket.close();
    eth.disconnect();
    
    while(true) {}
}