HoYa's MBED (Nucleo-F401RE)
Dependencies: NetworkSocketAPI X_NUCLEO_IDW01M1v2 mbed
main.cpp@2:d7647babe160, 2017-07-20 (annotated)
- Committer:
- HoYa
- Date:
- Thu Jul 20 08:24:24 2017 +0000
- Revision:
- 2:d7647babe160
- Parent:
- 1:b2b7580e09d7
- Child:
- 3:ad353d5bf223
Unsecured TCP Testing
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
HoYa | 0:63d30ec829b6 | 1 | #include "mbed.h" |
HoYa | 0:63d30ec829b6 | 2 | #include "SpwfInterface.h" |
HoYa | 1:b2b7580e09d7 | 3 | #include "TCPSocket.h" |
HoYa | 0:63d30ec829b6 | 4 | |
HoYa | 0:63d30ec829b6 | 5 | Serial pc(USBTX, USBRX, 115200); |
HoYa | 0:63d30ec829b6 | 6 | DigitalOut led(LED1); |
HoYa | 0:63d30ec829b6 | 7 | |
HoYa | 1:b2b7580e09d7 | 8 | SpwfSAInterface spwf(D8, D2, false); |
HoYa | 0:63d30ec829b6 | 9 | |
HoYa | 0:63d30ec829b6 | 10 | int main() { |
HoYa | 0:63d30ec829b6 | 11 | pc.printf("\r\n"); |
HoYa | 0:63d30ec829b6 | 12 | pc.printf("Start Application\r\n"); |
HoYa | 0:63d30ec829b6 | 13 | |
HoYa | 2:d7647babe160 | 14 | // Wi-Fi |
HoYa | 1:b2b7580e09d7 | 15 | pc.printf("\r\n"); |
HoYa | 0:63d30ec829b6 | 16 | pc.printf("Connecting to AP...\r\n"); |
HoYa | 0:63d30ec829b6 | 17 | if (spwf.connect("hRPi3-AP", "rlawjdgh", NSAPI_SECURITY_WPA2)) { |
HoYa | 0:63d30ec829b6 | 18 | pc.printf("=> Success.\r\n"); |
HoYa | 0:63d30ec829b6 | 19 | } else { |
HoYa | 0:63d30ec829b6 | 20 | pc.printf("=> Failed to connect.\r\n"); |
HoYa | 0:63d30ec829b6 | 21 | return -1; |
HoYa | 1:b2b7580e09d7 | 22 | } |
HoYa | 0:63d30ec829b6 | 23 | const char* ip = spwf.get_ip_address(); |
HoYa | 0:63d30ec829b6 | 24 | pc.printf("=> IP Address is: %s\r\n", (ip) ? ip : "No IP"); |
HoYa | 0:63d30ec829b6 | 25 | const char* mac = spwf.get_mac_address(); |
HoYa | 0:63d30ec829b6 | 26 | pc.printf("=> MAC Address is: %s\r\n", (mac) ? mac : "No MAC"); |
HoYa | 1:b2b7580e09d7 | 27 | |
HoYa | 2:d7647babe160 | 28 | // DNS |
HoYa | 1:b2b7580e09d7 | 29 | pc.printf("\r\n"); |
HoYa | 1:b2b7580e09d7 | 30 | pc.printf("DNS Testing...\r\n"); |
HoYa | 1:b2b7580e09d7 | 31 | SocketAddress addr(&spwf, "st.com"); |
HoYa | 1:b2b7580e09d7 | 32 | pc.printf("<st.com> is resolved to: %s\r\n", addr.get_ip_address()); |
HoYa | 2:d7647babe160 | 33 | |
HoYa | 2:d7647babe160 | 34 | // Unsecured TCP |
HoYa | 2:d7647babe160 | 35 | pc.printf("\r\n"); |
HoYa | 2:d7647babe160 | 36 | pc.printf("Unsecured TCP Testing...\r\n"); |
HoYa | 2:d7647babe160 | 37 | TCPSocket socket(&spwf); |
HoYa | 2:d7647babe160 | 38 | pc.printf("Connecting to <4.ifcfg.me>...\r\n"); |
HoYa | 2:d7647babe160 | 39 | int err = socket.connect("4.ifcfg.me", 23); |
HoYa | 2:d7647babe160 | 40 | if (err) { |
HoYa | 2:d7647babe160 | 41 | pc.printf("=> Failed to connect. (%d)\r\n", err); |
HoYa | 2:d7647babe160 | 42 | return -1; |
HoYa | 2:d7647babe160 | 43 | } else { |
HoYa | 2:d7647babe160 | 44 | pc.printf("=> Success.\r\n"); |
HoYa | 2:d7647babe160 | 45 | } |
HoYa | 2:d7647babe160 | 46 | pc.printf("Receiving Data\r\n"); |
HoYa | 2:d7647babe160 | 47 | char buffer[100]; |
HoYa | 2:d7647babe160 | 48 | int count = socket.recv(buffer, sizeof buffer); |
HoYa | 2:d7647babe160 | 49 | if (count > 0) { |
HoYa | 2:d7647babe160 | 50 | buffer[count] = '\0'; |
HoYa | 2:d7647babe160 | 51 | printf("=> %s\r\n", buffer); |
HoYa | 2:d7647babe160 | 52 | } |
HoYa | 2:d7647babe160 | 53 | else { |
HoYa | 2:d7647babe160 | 54 | pc.printf("=> Nothing to receive.\r\n"); |
HoYa | 2:d7647babe160 | 55 | } |
HoYa | 2:d7647babe160 | 56 | pc.printf("Close TCP socket\r\n"); |
HoYa | 2:d7647babe160 | 57 | socket.close(); |
HoYa | 2:d7647babe160 | 58 | |
HoYa | 2:d7647babe160 | 59 | printf ("Disconnect from AP\r\n"); |
HoYa | 2:d7647babe160 | 60 | spwf.disconnect(); |
HoYa | 2:d7647babe160 | 61 | |
HoYa | 0:63d30ec829b6 | 62 | while (1) { |
HoYa | 0:63d30ec829b6 | 63 | led = !led; |
HoYa | 0:63d30ec829b6 | 64 | wait(0.5); |
HoYa | 0:63d30ec829b6 | 65 | } |
HoYa | 0:63d30ec829b6 | 66 | } |
HoYa | 0:63d30ec829b6 | 67 |