ACKme
/
wiconnect-mbed-tcp_echo_client
TCP echo client using the WiConnect library and mbed TCP Socket API.
main.cpp@2:2f1df6a7ed12, 2014-08-24 (annotated)
- Committer:
- dan_ackme
- Date:
- Sun Aug 24 03:34:32 2014 +0000
- Revision:
- 2:2f1df6a7ed12
- Parent:
- 0:447a1bbce2ca
Add more log msgs
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dan_ackme | 0:447a1bbce2ca | 1 | |
dan_ackme | 0:447a1bbce2ca | 2 | #include "Wiconnect.h" |
dan_ackme | 0:447a1bbce2ca | 3 | #include "target_config.h" |
dan_ackme | 0:447a1bbce2ca | 4 | |
dan_ackme | 2:2f1df6a7ed12 | 5 | #define NETWORK_SSID "ASUS" |
dan_ackme | 2:2f1df6a7ed12 | 6 | #define NETWORK_PASSWORD "Y@nkee123" |
dan_ackme | 0:447a1bbce2ca | 7 | |
dan_ackme | 2:2f1df6a7ed12 | 8 | #define ECHO_SERVER_ADDRESS "192.168.1.110" |
dan_ackme | 0:447a1bbce2ca | 9 | #define ECHO_SERVER_PORT 7 |
dan_ackme | 0:447a1bbce2ca | 10 | |
dan_ackme | 0:447a1bbce2ca | 11 | |
dan_ackme | 0:447a1bbce2ca | 12 | static Serial consoleSerial(STDIO_UART_TX, STDIO_UART_RX); |
dan_ackme | 0:447a1bbce2ca | 13 | static char buf[256]; |
dan_ackme | 0:447a1bbce2ca | 14 | |
dan_ackme | 0:447a1bbce2ca | 15 | |
dan_ackme | 0:447a1bbce2ca | 16 | int main() |
dan_ackme | 0:447a1bbce2ca | 17 | { |
dan_ackme | 0:447a1bbce2ca | 18 | WiconnectResult result; |
dan_ackme | 0:447a1bbce2ca | 19 | SerialConfig serialConfig(WICONNECT_RX_PIN, WICONNECT_TX_PIN, 256); |
dan_ackme | 0:447a1bbce2ca | 20 | Wiconnect wiconnect(serialConfig, 256, NULL, WICONNECT_RESET_PIN); |
dan_ackme | 0:447a1bbce2ca | 21 | |
dan_ackme | 0:447a1bbce2ca | 22 | consoleSerial.baud(115200); |
dan_ackme | 0:447a1bbce2ca | 23 | |
dan_ackme | 2:2f1df6a7ed12 | 24 | printf("Initializing WiConnect...\r\n"); |
dan_ackme | 0:447a1bbce2ca | 25 | if(WICONNECT_FAILED(result, wiconnect.init(true))) |
dan_ackme | 0:447a1bbce2ca | 26 | { |
dan_ackme | 0:447a1bbce2ca | 27 | printf("Failed to initialize Wiconnect: %s\r\n", Wiconnect::getWiconnectResultStr(result)); |
dan_ackme | 0:447a1bbce2ca | 28 | for(;;); |
dan_ackme | 0:447a1bbce2ca | 29 | } |
dan_ackme | 2:2f1df6a7ed12 | 30 | |
dan_ackme | 2:2f1df6a7ed12 | 31 | printf("Joining network: %s\r\n", NETWORK_SSID); |
dan_ackme | 2:2f1df6a7ed12 | 32 | if(WICONNECT_FAILED(result, wiconnect.join(NETWORK_SSID, NETWORK_PASSWORD))) |
dan_ackme | 0:447a1bbce2ca | 33 | { |
dan_ackme | 0:447a1bbce2ca | 34 | printf("Failed to join network: %s\r\n", Wiconnect::getWiconnectResultStr(result)); |
dan_ackme | 0:447a1bbce2ca | 35 | for(;;); |
dan_ackme | 0:447a1bbce2ca | 36 | } |
dan_ackme | 0:447a1bbce2ca | 37 | |
dan_ackme | 2:2f1df6a7ed12 | 38 | printf("IP Address is %s\r\n", wiconnect.getIpAddress()); |
dan_ackme | 0:447a1bbce2ca | 39 | |
dan_ackme | 0:447a1bbce2ca | 40 | TCPSocketConnection socket; |
dan_ackme | 0:447a1bbce2ca | 41 | while (socket.connect(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT) < 0) |
dan_ackme | 0:447a1bbce2ca | 42 | { |
dan_ackme | 2:2f1df6a7ed12 | 43 | printf("Unable to connect to (%s) on port (%d) (is the TCP server python script running?\r\n", ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT); |
dan_ackme | 0:447a1bbce2ca | 44 | wait(1); |
dan_ackme | 0:447a1bbce2ca | 45 | } |
dan_ackme | 0:447a1bbce2ca | 46 | |
dan_ackme | 2:2f1df6a7ed12 | 47 | printf("Sending msg to server...\r\n"); |
dan_ackme | 2:2f1df6a7ed12 | 48 | char hello[] = "Hello World\r\n"; |
dan_ackme | 0:447a1bbce2ca | 49 | if(socket.send_all(hello, sizeof(hello) - 1) == -1) |
dan_ackme | 0:447a1bbce2ca | 50 | { |
dan_ackme | 0:447a1bbce2ca | 51 | printf("Failed to send data\r\n"); |
dan_ackme | 0:447a1bbce2ca | 52 | for(;;); |
dan_ackme | 0:447a1bbce2ca | 53 | } |
dan_ackme | 0:447a1bbce2ca | 54 | |
dan_ackme | 0:447a1bbce2ca | 55 | int n = socket.receive(buf, 256); |
dan_ackme | 0:447a1bbce2ca | 56 | if(n == -1) |
dan_ackme | 0:447a1bbce2ca | 57 | { |
dan_ackme | 0:447a1bbce2ca | 58 | printf("Failed to receive data\r\n"); |
dan_ackme | 0:447a1bbce2ca | 59 | for(;;); |
dan_ackme | 0:447a1bbce2ca | 60 | } |
dan_ackme | 0:447a1bbce2ca | 61 | buf[n] = '\0'; |
dan_ackme | 2:2f1df6a7ed12 | 62 | printf("Received msg from server: %s", buf); |
dan_ackme | 0:447a1bbce2ca | 63 | |
dan_ackme | 0:447a1bbce2ca | 64 | socket.close(); |
dan_ackme | 0:447a1bbce2ca | 65 | wiconnect.deinit(); |
dan_ackme | 0:447a1bbce2ca | 66 | |
dan_ackme | 2:2f1df6a7ed12 | 67 | printf("\r\n\r\n*** Finished!"); |
dan_ackme | 0:447a1bbce2ca | 68 | while(true) {} |
dan_ackme | 0:447a1bbce2ca | 69 | } |