Hello EMW3162 example based on NSAPI & mbed classic

Dependencies:   NetworkSocketAPI emw3162-driver mbed

Committer:
Maggie17
Date:
Mon Nov 14 02:46:05 2016 +0000
Revision:
1:4b994d2bf473
Parent:
0:574b4e9ce478
fix some bugs

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Maggie17 0:574b4e9ce478 1 /* NetworkSocketAPI Example Program
Maggie17 0:574b4e9ce478 2 * Copyright (c) 2015 ARM Limited
Maggie17 0:574b4e9ce478 3 *
Maggie17 0:574b4e9ce478 4 * Licensed under the Apache License, Version 2.0 (the "License");
Maggie17 0:574b4e9ce478 5 * you may not use this file except in compliance with the License.
Maggie17 0:574b4e9ce478 6 * You may obtain a copy of the License at
Maggie17 0:574b4e9ce478 7 *
Maggie17 0:574b4e9ce478 8 * http://www.apache.org/licenses/LICENSE-2.0
Maggie17 0:574b4e9ce478 9 *
Maggie17 0:574b4e9ce478 10 * Unless required by applicable law or agreed to in writing, software
Maggie17 0:574b4e9ce478 11 * distributed under the License is distributed on an "AS IS" BASIS,
Maggie17 0:574b4e9ce478 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Maggie17 0:574b4e9ce478 13 * See the License for the specific language governing permissions and
Maggie17 0:574b4e9ce478 14 * limitations under the License.
Maggie17 0:574b4e9ce478 15 */
Maggie17 0:574b4e9ce478 16
Maggie17 0:574b4e9ce478 17 #include "mbed.h"
Maggie17 0:574b4e9ce478 18 #include "EMW3162Interface.h"
Maggie17 0:574b4e9ce478 19 #include "TCPSocket.h"
Maggie17 0:574b4e9ce478 20
Maggie17 1:4b994d2bf473 21 EMW3162Interface wifi(D1, D0);
Maggie17 0:574b4e9ce478 22
Maggie17 0:574b4e9ce478 23 DigitalOut led(LED_GREEN);
Maggie17 0:574b4e9ce478 24 void blink()
Maggie17 0:574b4e9ce478 25 {
Maggie17 0:574b4e9ce478 26 led = !led;
Maggie17 0:574b4e9ce478 27 }
Maggie17 0:574b4e9ce478 28
Maggie17 0:574b4e9ce478 29 int main()
Maggie17 0:574b4e9ce478 30 {
Maggie17 0:574b4e9ce478 31 Ticker blinky;
Maggie17 0:574b4e9ce478 32 blinky.attach(blink, 0.4f);
Maggie17 0:574b4e9ce478 33
Maggie17 0:574b4e9ce478 34 printf("NetworkSocketAPI Example\r\n");
Maggie17 0:574b4e9ce478 35
Maggie17 1:4b994d2bf473 36 wifi.connect("iPhone", "mlq114759655");
Maggie17 0:574b4e9ce478 37 const char *ip = wifi.get_ip_address();
Maggie17 0:574b4e9ce478 38 const char *mac = wifi.get_mac_address();
Maggie17 0:574b4e9ce478 39 printf("IP address is: %s\r\n", ip ? ip : "No IP");
Maggie17 0:574b4e9ce478 40 printf("MAC address is: %s\r\n", mac ? mac : "No MAC");
Maggie17 0:574b4e9ce478 41
Maggie17 1:4b994d2bf473 42 SocketAddress addr(&wifi, "www.google.com");
Maggie17 1:4b994d2bf473 43 printf("www.google.com resolved to: %s\r\n", addr.get_ip_address());
Maggie17 0:574b4e9ce478 44
Maggie17 0:574b4e9ce478 45 TCPSocket socket(&wifi);
Maggie17 0:574b4e9ce478 46 socket.connect("4.ifcfg.me", 23);
Maggie17 0:574b4e9ce478 47
Maggie17 0:574b4e9ce478 48 char buffer[64];
Maggie17 0:574b4e9ce478 49 int count = socket.recv(buffer, sizeof buffer);
Maggie17 0:574b4e9ce478 50 printf("public IP address is: %.15s\r\n", &buffer[15]);
Maggie17 0:574b4e9ce478 51
Maggie17 0:574b4e9ce478 52 socket.close();
Maggie17 0:574b4e9ce478 53 wifi.disconnect();
Maggie17 0:574b4e9ce478 54
Maggie17 0:574b4e9ce478 55 printf("Done\r\n");
Maggie17 0:574b4e9ce478 56 }