20170825 Test

Dependencies:   DHT11 NetworkSocketAPI WizFi310Interface mbed

Fork of WizFi310_STATION_HelloWorld by WIZnet

Committer:
cliff1
Date:
Thu Oct 19 04:38:50 2017 +0000
Revision:
7:8ad9f9bd39b3
Parent:
6:ece3b06b9aba
Child:
8:6b6f8b4d0f25
ThingPlug+ 171019

Who changed what in which revision?

UserRevisionLine numberNew contents of line
stkim92 0:89f7a9e4554f 1 /*
stkim92 0:89f7a9e4554f 2 * Copyright (C) 2015 Wiznet, MIT License
stkim92 0:89f7a9e4554f 3 *
stkim92 0:89f7a9e4554f 4 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
stkim92 0:89f7a9e4554f 5 * and associated documentation files (the "Software"), to deal in the Software without restriction,
stkim92 0:89f7a9e4554f 6 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
stkim92 0:89f7a9e4554f 7 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
stkim92 0:89f7a9e4554f 8 * furnished to do so, subject to the following conditions:
stkim92 0:89f7a9e4554f 9 *
stkim92 0:89f7a9e4554f 10 * The above copyright notice and this permission notice shall be included in all copies or
stkim92 0:89f7a9e4554f 11 * substantial portions of the Software.
stkim92 0:89f7a9e4554f 12 *
stkim92 0:89f7a9e4554f 13 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
stkim92 0:89f7a9e4554f 14 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
stkim92 0:89f7a9e4554f 15 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
stkim92 0:89f7a9e4554f 16 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
stkim92 0:89f7a9e4554f 17 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
stkim92 0:89f7a9e4554f 18 */
stkim92 0:89f7a9e4554f 19
stkim92 0:89f7a9e4554f 20 #include <stdio.h>
stkim92 0:89f7a9e4554f 21 #include "mbed.h"
stkim92 0:89f7a9e4554f 22 #include "WizFi310Interface.h"
cliff1 3:4a3c8d8ad451 23 #include "Dht11.h"
stkim92 0:89f7a9e4554f 24
cliff1 6:ece3b06b9aba 25 #define AP_SSID "SSID"
cliff1 6:ece3b06b9aba 26 #define AP_PASSWORD "PASSWORD"
cliff1 6:ece3b06b9aba 27 #define AP_SECURITY NSAPI_SECURITY_WPA2
stkim92 0:89f7a9e4554f 28
cliff1 6:ece3b06b9aba 29 #define USER_ID "USER ID"
cliff1 6:ece3b06b9aba 30 #define CREDENTIAL_ID "Credential ID"
cliff1 6:ece3b06b9aba 31 #define SERVICE_ID "Service ID"
cliff1 6:ece3b06b9aba 32 #define DEVICE_ID "Device ID"
cliff1 6:ece3b06b9aba 33 #define COMMAND_NM "Command Name"
cliff1 6:ece3b06b9aba 34 #define CONTAINER_NAME "Container Name"
cliff1 3:4a3c8d8ad451 35
cliff1 6:ece3b06b9aba 36 #define CDS_SENSOR CDS_Sensor
cliff1 6:ece3b06b9aba 37 #define DHT_SENSOR DHT_Sensor
cliff1 7:8ad9f9bd39b3 38 #define LED LED_Sensor
cliff1 3:4a3c8d8ad451 39
stkim92 0:89f7a9e4554f 40 #if defined(TARGET_WIZwiki_W7500)
cliff1 3:4a3c8d8ad451 41 Serial pc(USBTX, USBRX);
cliff1 3:4a3c8d8ad451 42 WizFi310Interface wifi(D1, D0, D7, D6, D9, NC, 115200);
cliff1 3:4a3c8d8ad451 43
cliff1 7:8ad9f9bd39b3 44 AnalogIn myLux( CDS_SENSOR );
cliff1 7:8ad9f9bd39b3 45 Dht11 myTemp( DHT_SENSOR );
cliff1 7:8ad9f9bd39b3 46 DigitalOut myled( LED );
stkim92 0:89f7a9e4554f 47 #endif
stkim92 0:89f7a9e4554f 48
stkim92 0:89f7a9e4554f 49
stkim92 0:89f7a9e4554f 50 int main()
stkim92 0:89f7a9e4554f 51 {
cliff1 4:597b0c6ccba2 52 int error = 0;
cliff1 4:597b0c6ccba2 53 char str[50] = "";
cliff1 4:597b0c6ccba2 54
cliff1 4:597b0c6ccba2 55 int lux;
cliff1 4:597b0c6ccba2 56 double temp;
cliff1 4:597b0c6ccba2 57 int humid;
cliff1 4:597b0c6ccba2 58
stkim92 0:89f7a9e4554f 59 pc.baud(115200);
stkim92 0:89f7a9e4554f 60
cliff1 3:4a3c8d8ad451 61 printf("WizFi310 ThingPlug Connect. \r\n");
stkim92 0:89f7a9e4554f 62 if ( wifi.connect(AP_SSID, AP_PASSWORD, AP_SECURITY)) return -1;
cliff1 3:4a3c8d8ad451 63 printf("IP Address is %s\r\n\r\n", wifi.get_ip_address());
stkim92 0:89f7a9e4554f 64
cliff1 4:597b0c6ccba2 65 wifi.conTP(USER_ID, CREDENTIAL_ID, SERVICE_ID, DEVICE_ID, CONTAINER_NAME, COMMAND_NM);
cliff1 3:4a3c8d8ad451 66 while(true)
cliff1 4:597b0c6ccba2 67 {
cliff1 4:597b0c6ccba2 68 printf("Send - s, , Response - r, Quit - q\r\n");
cliff1 3:4a3c8d8ad451 69 printf("Input : ");
cliff1 3:4a3c8d8ad451 70
cliff1 3:4a3c8d8ad451 71 char c = pc.getc();
cliff1 3:4a3c8d8ad451 72 printf("%c\r\n", c);
cliff1 3:4a3c8d8ad451 73
cliff1 3:4a3c8d8ad451 74 if(c =='s' || c == 'S')
cliff1 3:4a3c8d8ad451 75 {
cliff1 4:597b0c6ccba2 76 error = myTemp.read();
cliff1 4:597b0c6ccba2 77 if( error == 0 )
cliff1 4:597b0c6ccba2 78 {
cliff1 4:597b0c6ccba2 79 lux = (int)(myLux.read()*1000);
cliff1 4:597b0c6ccba2 80 temp = (double)(myTemp.getCelsius());
cliff1 4:597b0c6ccba2 81 humid = (int)myTemp.getHumidity();
cliff1 4:597b0c6ccba2 82
cliff1 5:abbccd77ad5d 83 sprintf((char *)str, "0106%08x0206%08x0306%08x",
cliff1 5:abbccd77ad5d 84 lux, (int)temp, humid);
cliff1 4:597b0c6ccba2 85
cliff1 4:597b0c6ccba2 86 printf("lux value : %04d, temp value : %.1lf, humidity value : %04d\r\n",
cliff1 4:597b0c6ccba2 87 lux, temp, humid);
cliff1 4:597b0c6ccba2 88
cliff1 4:597b0c6ccba2 89 printf("Send Data : %s\r\n\r\n\r\n", str);
cliff1 4:597b0c6ccba2 90
cliff1 4:597b0c6ccba2 91 wifi.sendTP(CONTAINER_NAME, str);
cliff1 4:597b0c6ccba2 92 }
cliff1 4:597b0c6ccba2 93
cliff1 4:597b0c6ccba2 94 else
cliff1 4:597b0c6ccba2 95 printf("Send failed\r\n\r\n");
cliff1 4:597b0c6ccba2 96
cliff1 4:597b0c6ccba2 97 wait_ms(3000);
cliff1 4:597b0c6ccba2 98 }
cliff1 4:597b0c6ccba2 99
cliff1 4:597b0c6ccba2 100 else if(c == 'r' || c == 'R')
cliff1 4:597b0c6ccba2 101 {
cliff1 7:8ad9f9bd39b3 102 int a;
cliff1 7:8ad9f9bd39b3 103
cliff1 7:8ad9f9bd39b3 104 a = wifi.recvTP(COMMAND_NM, 3, 0);
cliff1 7:8ad9f9bd39b3 105
cliff1 7:8ad9f9bd39b3 106 if( a == 1 )
cliff1 7:8ad9f9bd39b3 107 {
cliff1 7:8ad9f9bd39b3 108 printf("Turn On!\r\n\r\n");
cliff1 7:8ad9f9bd39b3 109 myled = 1;
cliff1 7:8ad9f9bd39b3 110 }
cliff1 7:8ad9f9bd39b3 111
cliff1 7:8ad9f9bd39b3 112 else if( a == 2)
cliff1 7:8ad9f9bd39b3 113 {
cliff1 7:8ad9f9bd39b3 114 printf("Turn OFF!\r\n\r\n");
cliff1 7:8ad9f9bd39b3 115 myled = 0;
cliff1 7:8ad9f9bd39b3 116 }
cliff1 4:597b0c6ccba2 117
cliff1 4:597b0c6ccba2 118 wait_ms(3000);
cliff1 3:4a3c8d8ad451 119 }
cliff1 3:4a3c8d8ad451 120
cliff1 3:4a3c8d8ad451 121 else if(c == 'q' || c == 'Q')
cliff1 3:4a3c8d8ad451 122 {
cliff1 3:4a3c8d8ad451 123 wifi.disConTP();
cliff1 3:4a3c8d8ad451 124 break;
cliff1 3:4a3c8d8ad451 125 }
cliff1 3:4a3c8d8ad451 126 }
stkim92 0:89f7a9e4554f 127 wifi.disconnect();
stkim92 0:89f7a9e4554f 128 }