Example program for MTS WiFi Shield. Test that you can connect to a network.

Dependencies:   SocketModem mbed

Committer:
mfiore
Date:
Fri Jul 11 16:53:47 2014 +0000
Revision:
11:a9117a40bde7
Parent:
8:fa93a2d07116
update test for STMicro Nucleo boards (tested with F401RE)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sam_grove 0:23c1654d70e4 1 #include "mbed.h"
sam_grove 0:23c1654d70e4 2 #include "MTSSerial.h"
sam_grove 0:23c1654d70e4 3 #include "Wifi.h"
sam_grove 0:23c1654d70e4 4 using namespace mts;
sam_grove 0:23c1654d70e4 5
jengbrecht 5:19044863e45c 6 /* This example shows how to do a basic connectivity test using
jengbrecht 5:19044863e45c 7 * the MTS Wifi shield board. You will need to change the network
mfiore 11:a9117a40bde7 8 * SSID and security key. You may need to chage the security type.
jengbrecht 5:19044863e45c 9 */
jengbrecht 5:19044863e45c 10
sam_grove 0:23c1654d70e4 11 int main()
sam_grove 0:23c1654d70e4 12 {
jengbrecht 5:19044863e45c 13 //Set the network parameters
mfiore 11:a9117a40bde7 14 std::string ssid = "your_wifi_ssid";
mfiore 11:a9117a40bde7 15 std::string securityKey = "your_wifi_password";
mfiore 11:a9117a40bde7 16 Wifi::SecurityType securityType = Wifi::WPA2;
sam_grove 0:23c1654d70e4 17
sam_grove 0:23c1654d70e4 18 //Wait for wifi module to boot up
sam_grove 0:23c1654d70e4 19 for (int i = 10; i >= 0; i = i - 2) {
sam_grove 0:23c1654d70e4 20 wait(2);
sam_grove 0:23c1654d70e4 21 printf("Waiting %d seconds...\n\r", i);
sam_grove 0:23c1654d70e4 22 }
sam_grove 0:23c1654d70e4 23
sam_grove 0:23c1654d70e4 24 //Setup serial interface to WiFi module
mfiore 11:a9117a40bde7 25 MTSSerial* serial = new MTSSerial(D8, D2, 256, 256);
sam_grove 0:23c1654d70e4 26 serial->baud(9600);
sam_grove 0:23c1654d70e4 27
sam_grove 0:23c1654d70e4 28 //Setup Wifi class
sam_grove 0:23c1654d70e4 29 Wifi* wifi = Wifi::getInstance();
sam_grove 0:23c1654d70e4 30 printf("Init: %s\n\r", wifi->init(serial) ? "SUCCESS" : "FAILURE");
sam_grove 0:23c1654d70e4 31
sam_grove 0:23c1654d70e4 32 //Setup and check connection
sam_grove 0:23c1654d70e4 33 printf("Set Network: %s\n\r", getCodeNames(wifi->setNetwork(ssid, securityType, securityKey)).c_str());
sam_grove 0:23c1654d70e4 34 printf("Set DHCP: %s\n\r", getCodeNames(wifi->setDeviceIP("DHCP")).c_str());
mfiore 8:fa93a2d07116 35 while (! wifi->connect()) {
mfiore 8:fa93a2d07116 36 printf("Connect: Failure\r\n");
mfiore 8:fa93a2d07116 37 wait(1);
mfiore 8:fa93a2d07116 38 }
mfiore 8:fa93a2d07116 39 printf("Connect: Success\r\n");
sam_grove 0:23c1654d70e4 40 printf("Is Connected: %s\n\r", wifi->isConnected() ? "True" : "False");
mfiore 6:7c2bdcf9d302 41
mfiore 6:7c2bdcf9d302 42 //Ping
mfiore 6:7c2bdcf9d302 43 while (true) {
mfiore 6:7c2bdcf9d302 44 printf("Ping Server: %s\n\r", wifi->ping("8.8.8.8") ? "Success" : "Failed");
mfiore 6:7c2bdcf9d302 45 wait(3);
mfiore 6:7c2bdcf9d302 46 }
sam_grove 0:23c1654d70e4 47 }