demo of Murata wifi chip as TCP client.

Dependencies:   SNICInterface mbed-rtos mbed

Fork of murataDemo by Austin Blackstone

Intro

this program demonstrates how to use TCP on the Murata Wifi chip. It will connect to a server and send a message, the server will then send a reply. The reply will be printed out to the terminal on the microcontroller.

Instructions

  1. Make sure you have both the wifi device and the computer running the server on the same network / wifi router.
  2. Change the hard coded IP in the microcontroller code to match that of the laptop running the python server.
  3. Run the python2 script below on the computer
  4. Have a console hooked up to the microcontroller and watch as messages are sent back and forth between the server (python) and the client (murata).
  5. Run the microcontroller code on the device.

For ease of use numbers have been appended to the end of the messages being sent back and forth.

Python Server

Please run this python2.7 code on your computer. Make sure to change the IP Address in the microcontroller code to match the IP of your computer.

import socket
 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 7))
s.listen(1)
 
x = 0
while True:
    conn, addr = s.accept()
    print 'Connected b'TCP data from server: 'y', addr
    while True:
        # receive data from board
        data = conn.recv(1024)
        
        # check received data
        if not data: 
            break
        
        # print received data 
        print("TCP data from microcontroller: '"+data+"'")
        
        # send data to board with counter to differentiate messages
        conn.sendall("HelloFromPython!: "+str(x)+"\n\r")
        x+=1

    # close the port
    conn.close()

Committer:
errordeveloper
Date:
Fri Nov 08 16:44:46 2013 +0000
Revision:
12:27471bb09274
Parent:
11:bdf601a405fc
First prototype

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Ilya Dmitrichenko 9:c5dc85d192e2 1 #ifndef __XI_USER_CONFIG_H__
Ilya Dmitrichenko 9:c5dc85d192e2 2 #define __XI_USER_CONFIG_H__
Ilya Dmitrichenko 9:c5dc85d192e2 3
Ilya Dmitrichenko 9:c5dc85d192e2 4 // The following settings should lower memory footprint.
Ilya Dmitrichenko 9:c5dc85d192e2 5 // The library currently allows one to send batch datapoint
Ilya Dmitrichenko 9:c5dc85d192e2 6 // and feed updates, but it's not needed in most use cases
Ilya Dmitrichenko 9:c5dc85d192e2 7 #define XI_MAX_DATAPOINTS 1
Ilya Dmitrichenko 9:c5dc85d192e2 8 // The number of channels can be increased if needed
Ilya Dmitrichenko 9:c5dc85d192e2 9 #define XI_MAX_DATASTREAMS 5
Ilya Dmitrichenko 9:c5dc85d192e2 10
Ilya Dmitrichenko 9:c5dc85d192e2 11 // Below are optimisations that reduce some minor functionality
Ilya Dmitrichenko 9:c5dc85d192e2 12 #define XI_OPT_NO_ERROR_STRINGS
Ilya Dmitrichenko 9:c5dc85d192e2 13
Ilya Dmitrichenko 9:c5dc85d192e2 14 // If you wish to enable assertions, set this to 1
Ilya Dmitrichenko 9:c5dc85d192e2 15 #define XI_DEBUG_ASSERT 0
Ilya Dmitrichenko 9:c5dc85d192e2 16 // If you wish to disable debug output, set this to 0
errordeveloper 11:bdf601a405fc 17 #define XI_DEBUG_OUTPUT 0
Ilya Dmitrichenko 9:c5dc85d192e2 18
Ilya Dmitrichenko 9:c5dc85d192e2 19 // On the mbed app board we can use the LCD for debug output,
Ilya Dmitrichenko 9:c5dc85d192e2 20 // but one may wish to modify this and write to file instead
errordeveloper 12:27471bb09274 21 #include "cellular_board_io.h"
errordeveloper 12:27471bb09274 22 #define XI_DEBUG_PRINTF printf
Ilya Dmitrichenko 9:c5dc85d192e2 23
Ilya Dmitrichenko 9:c5dc85d192e2 24 #endif /* __XI_USER_CONFIG_H__ */