Murata wifi module based on NSAPI

Dependencies:   NetworkSocketAPI SNICInterface mbed-rtos mbed

Committer:
Maggie17
Date:
Thu Sep 08 02:30:20 2016 +0000
Revision:
0:13b8154e6541
first commit

Who changed what in which revision?

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