Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: SNICInterface mbed-rtos mbed
Fork of murataDemo by
Revision 32:67402fe56150, committed 2015-04-09
- Comitter:
- mbedAustin
- Date:
- Thu Apr 09 22:03:34 2015 +0000
- Parent:
- 31:c42d189364b4
- Commit message:
- Basic TCP Client working with murata wifi chip
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Thu Apr 09 01:28:01 2015 +0000
+++ b/main.cpp Thu Apr 09 22:03:34 2015 +0000
@@ -18,6 +18,7 @@
*/
#include "mbed.h"
#include "SNIC_WifiInterface.h"
+#include "TCPSocketServer.h"
Serial pc(USBTX, USBRX);
@@ -35,26 +36,8 @@
C_SNIC_WifiInterface wifi( D1, D0, NC, NC, D3 );
-// callback function used by scan()
-// this function will be called on every network scanned
-void scanCallbackFn(tagSCAN_RESULT_T *scan_result)
+int wifiInit()
{
- printf("\r\n");
- printf("channel = %d \r\n" ,scan_result->channel);
- printf("rssi = %d \r\n" ,scan_result->rssi);
- printf("security = %d \r\n" ,scan_result->security);
- printf("bssid = %x%x%x%x%x%x\r\n",scan_result->bssid[0],scan_result->bssid[1],scan_result->bssid[2],scan_result->bssid[3],scan_result->bssid[4],scan_result->bssid[5]);
- printf("network_type = %d \r\n" ,scan_result->network_type);
- printf("max_rate = %d \r\n" ,scan_result->max_rate);
- printf("ssid = %s \r\n" ,scan_result->ssid);
-}
-
-// main loop
-int main()
-{
- // for built in debug printouts
-// pc.baud( 115200 );
-
int check = 0;
// Initialize Wi-Fi interface
@@ -98,15 +81,6 @@
printf("SetIPConfig successful \r\n");
}
- // Get RSSI
- signed char temp = 0;
- check = wifi.getRssi(&temp);
- if(check != 0) {
- printf("getRssi failed. \r\n");
- } else {
- printf("getRssi success: %d \r\n",temp);
- }
-
// check IP Address
char * ip ;
ip = wifi.getIPAddress();
@@ -115,36 +89,49 @@
} else {
printf("getIP success: %s \r\n",ip);
}
+}
- // get wifi status
- tagWIFI_STATUS_T status;
- check = wifi.getWifiStatus(&status);
- if(check != 0) {
- printf("getWifiStatus failed \r\n");
- } else {
- // Status 0=WifiOff, 1=No Network, 2=Connected to AP, 3=Started AP mode
- printf("getWifiStatus success: status =%d, MAC = %x%x%x%x%x%x, SSID = %s \r\n",
- status.status,
- status.mac_address[0], status.mac_address[1],
- status.mac_address[2], status.mac_address[3],
- status.mac_address[4], status.mac_address[5],
- status.ssid );
+//
+// main loop
+//
+int main()
+{
+
+ // Initialize Wifi
+ wifiInit();
+
+ // TCP Schenanigans!
+ const char* ECHO_SERVER_ADDRESS = "192.168.11.3";
+ const int ECHO_SERVER_PORT = 7;
+
+ // connect to server
+ TCPSocketConnection socket;
+ while (socket.connect(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT) < 0) {
+ printf("Unable to connect to (%s) on port (%d)\n\r", ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT);
+ wait(1);
}
- // scan for wifi, results will be called in callback function
- check = wifi.scan(NULL,NULL,scanCallbackFn);
- if(check != 0) {
- printf("scan failed! \r\n");
- } else {
- printf("Scan Success! \r\n");
+ // send messages back and forth as long as we are connected
+ int x = 0;
+ while(socket.is_connected()) {
+ // Setup & send message to server
+ char message[64] = {};
+ sprintf(message,"%s%d","HelloFromMicrocontroller: ",x++);
+ socket.send_all(message, sizeof(message) - 1);
+ // Receive & print message from server
+ char buf[256];
+ int n = socket.receive_all(buf, 256);
+ buf[n] = '\0';
+ printf("TCP data from server: '%s'", buf);
+
+ // not needed, here to slow the data down so you can see it whip past.
+ wait(0.5);
}
-// if(check != 0){
-// printf(" \r\n");
-// }else{
-// printf(" \r\n");
-// }
+ socket.close();
+ wifi.disconnect();
- wait( 1.0 );
+ while(true) {}
+
}
