A program of WeeESP8266 library.

Dependencies:   WeeESP8266 mbed

Committer:
itead
Date:
Wed Feb 11 06:14:24 2015 +0000
Revision:
1:3b9394933230
Parent:
0:719de8678b39
Change buffer size

Who changed what in which revision?

UserRevisionLine numberNew contents of line
itead 0:719de8678b39 1 /**
itead 0:719de8678b39 2 * @file UDPClientSingle.cpp
itead 0:719de8678b39 3 * @brief The UDPClientSingle demo of library WeeESP8266.
itead 0:719de8678b39 4 * @author Wu Pengfei<pengfei.wu@itead.cc>
itead 0:719de8678b39 5 * @date 2015.02
itead 0:719de8678b39 6 *
itead 0:719de8678b39 7 * @par Copyright:
itead 0:719de8678b39 8 * Copyright (c) 2015 ITEAD Intelligent Systems Co., Ltd. \n\n
itead 0:719de8678b39 9 * This program is free software; you can redistribute it and/or
itead 0:719de8678b39 10 * modify it under the terms of the GNU General Public License as
itead 0:719de8678b39 11 * published by the Free Software Foundation; either version 2 of
itead 0:719de8678b39 12 * the License, or (at your option) any later version. \n\n
itead 0:719de8678b39 13 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
itead 0:719de8678b39 14 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
itead 0:719de8678b39 15 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
itead 0:719de8678b39 16 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
itead 0:719de8678b39 17 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
itead 0:719de8678b39 18 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
itead 0:719de8678b39 19 * THE SOFTWARE.
itead 0:719de8678b39 20 */
itead 0:719de8678b39 21 #include "mbed.h"
itead 0:719de8678b39 22 #include "ArduinoAPI.h"
itead 0:719de8678b39 23 #include "ESP8266.h"
itead 0:719de8678b39 24
itead 0:719de8678b39 25 extern void setup(void);
itead 0:719de8678b39 26 extern void loop(void);
itead 0:719de8678b39 27
itead 0:719de8678b39 28 ArduinoSerial esp_uart(p28, p27);
itead 0:719de8678b39 29 ESP8266 wifi(esp_uart);
itead 0:719de8678b39 30 Serial pc(USBTX, USBRX);
itead 0:719de8678b39 31
itead 0:719de8678b39 32 int main () {
itead 0:719de8678b39 33 setup();
itead 0:719de8678b39 34 while(1) {
itead 0:719de8678b39 35 loop();
itead 0:719de8678b39 36 }
itead 0:719de8678b39 37 }
itead 0:719de8678b39 38
itead 0:719de8678b39 39 void setup(void)
itead 0:719de8678b39 40 {
itead 0:719de8678b39 41 printf("setup begin\r\n");
itead 0:719de8678b39 42
itead 0:719de8678b39 43 printf("FW Version: %s\r\n", wifi.getVersion().c_str());
itead 0:719de8678b39 44
itead 0:719de8678b39 45 if (wifi.setOprToStationSoftAP()) {
itead 0:719de8678b39 46 printf("to station + softap ok\r\n");
itead 0:719de8678b39 47 } else {
itead 0:719de8678b39 48 printf("to station + softap err\r\n");
itead 0:719de8678b39 49 }
itead 0:719de8678b39 50
itead 0:719de8678b39 51 if (wifi.joinAP("ITEAD", "12345678")) {
itead 0:719de8678b39 52 printf("Join AP success\r\n");
itead 0:719de8678b39 53 printf("IP: [%s]\r\n", wifi.getLocalIP().c_str());
itead 0:719de8678b39 54 } else {
itead 0:719de8678b39 55 printf("Join AP failure\r\n");
itead 0:719de8678b39 56 }
itead 0:719de8678b39 57
itead 0:719de8678b39 58 if (wifi.disableMUX()) {
itead 0:719de8678b39 59 printf("single ok\r\n");
itead 0:719de8678b39 60 } else {
itead 0:719de8678b39 61 printf("single err\r\n");
itead 0:719de8678b39 62 }
itead 0:719de8678b39 63
itead 0:719de8678b39 64 printf("setup end\r\n");
itead 0:719de8678b39 65 }
itead 0:719de8678b39 66
itead 0:719de8678b39 67 void loop(void)
itead 0:719de8678b39 68 {
itead 0:719de8678b39 69 uint8_t buffer[1024] = {0};
itead 0:719de8678b39 70
itead 0:719de8678b39 71 if (wifi.registerUDP("172.16.5.12", 5416)) {
itead 0:719de8678b39 72 printf("register udp ok\r\n");
itead 0:719de8678b39 73 } else {
itead 0:719de8678b39 74 printf("register udp err\r\n");
itead 0:719de8678b39 75 }
itead 0:719de8678b39 76
itead 0:719de8678b39 77 char *hello = "Hello, this is client!";
itead 0:719de8678b39 78 wifi.send((const uint8_t*)hello, strlen(hello));
itead 0:719de8678b39 79
itead 0:719de8678b39 80 uint32_t len = wifi.recv(buffer, sizeof(buffer), 10000);
itead 0:719de8678b39 81 if (len > 0) {
itead 0:719de8678b39 82 printf("Received:[");
itead 0:719de8678b39 83 for(uint32_t i = 0; i < len; i++) {
itead 0:719de8678b39 84 printf("%c", buffer[i]);
itead 0:719de8678b39 85 }
itead 0:719de8678b39 86 printf("]\r\n");
itead 0:719de8678b39 87 }
itead 0:719de8678b39 88
itead 0:719de8678b39 89 if (wifi.unregisterUDP()) {
itead 0:719de8678b39 90 printf("unregister udp ok\r\n");
itead 0:719de8678b39 91 } else {
itead 0:719de8678b39 92 printf("unregister udp err\r\n");
itead 0:719de8678b39 93 }
itead 0:719de8678b39 94 delay(5000);
itead 0:719de8678b39 95 }