ThingPlug Ex

Dependencies:   DHT11 NetworkSocketAPI WizFi310Interface mbed

Fork of WizFi310_ThingPlug_Test by cliff Hong

Committer:
cliff1
Date:
Mon Aug 28 08:25:42 2017 +0000
Revision:
4:597b0c6ccba2
Parent:
3:4a3c8d8ad451
Child:
5:abbccd77ad5d
20170829 ThingPlug

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 4:597b0c6ccba2 25 #define AP_SSID "SSID" // Input SSID
cliff1 4:597b0c6ccba2 26 #define AP_PASSWORD "PASSWORD" // Input PW
cliff1 4:597b0c6ccba2 27 #define AP_SECURITY NSAPI_SECURITY_WPA2
stkim92 0:89f7a9e4554f 28
cliff1 4:597b0c6ccba2 29 #define USER_ID "User ID"
cliff1 4:597b0c6ccba2 30 #define CREDENTIAL_ID "Credential ID"
cliff1 4:597b0c6ccba2 31 #define SERVICE_ID "Service ID"
cliff1 4:597b0c6ccba2 32 #define DEVICE_ID "Device ID"
cliff1 4:597b0c6ccba2 33 #define COMMAND_NM "Command Name"
cliff1 4:597b0c6ccba2 34 #define CONTAINER_NAME "Containet Name"
cliff1 3:4a3c8d8ad451 35
cliff1 4:597b0c6ccba2 36 #define CDS_SENSOR CDS_SENSOR
cliff1 4:597b0c6ccba2 37 #define DHT_SENSOR DHT_SENSOR
cliff1 3:4a3c8d8ad451 38
stkim92 0:89f7a9e4554f 39 #if defined(TARGET_WIZwiki_W7500)
cliff1 3:4a3c8d8ad451 40 Serial pc(USBTX, USBRX);
cliff1 3:4a3c8d8ad451 41 WizFi310Interface wifi(D1, D0, D7, D6, D9, NC, 115200);
cliff1 3:4a3c8d8ad451 42
cliff1 3:4a3c8d8ad451 43 AnalogIn myLux( CDS_SENSOR );
cliff1 3:4a3c8d8ad451 44 Dht11 myTemp ( DHT_SENSOR );
stkim92 0:89f7a9e4554f 45 #endif
stkim92 0:89f7a9e4554f 46
stkim92 0:89f7a9e4554f 47
stkim92 0:89f7a9e4554f 48 int main()
stkim92 0:89f7a9e4554f 49 {
cliff1 4:597b0c6ccba2 50 int error = 0;
cliff1 4:597b0c6ccba2 51 char str[50] = "";
cliff1 4:597b0c6ccba2 52
cliff1 4:597b0c6ccba2 53 int lux;
cliff1 4:597b0c6ccba2 54 double temp;
cliff1 4:597b0c6ccba2 55 int humid;
cliff1 4:597b0c6ccba2 56
stkim92 0:89f7a9e4554f 57 pc.baud(115200);
stkim92 0:89f7a9e4554f 58
cliff1 3:4a3c8d8ad451 59 printf("WizFi310 ThingPlug Connect. \r\n");
stkim92 0:89f7a9e4554f 60 if ( wifi.connect(AP_SSID, AP_PASSWORD, AP_SECURITY)) return -1;
cliff1 3:4a3c8d8ad451 61 printf("IP Address is %s\r\n\r\n", wifi.get_ip_address());
stkim92 0:89f7a9e4554f 62
cliff1 4:597b0c6ccba2 63 wifi.conTP(USER_ID, CREDENTIAL_ID, SERVICE_ID, DEVICE_ID, CONTAINER_NAME, COMMAND_NM);
cliff1 3:4a3c8d8ad451 64 while(true)
cliff1 4:597b0c6ccba2 65 {
cliff1 4:597b0c6ccba2 66 printf("Send - s, , Response - r, Quit - q\r\n");
cliff1 3:4a3c8d8ad451 67 printf("Input : ");
cliff1 3:4a3c8d8ad451 68
cliff1 3:4a3c8d8ad451 69 char c = pc.getc();
cliff1 3:4a3c8d8ad451 70 printf("%c\r\n", c);
cliff1 3:4a3c8d8ad451 71
cliff1 3:4a3c8d8ad451 72 if(c =='s' || c == 'S')
cliff1 3:4a3c8d8ad451 73 {
cliff1 4:597b0c6ccba2 74 error = myTemp.read();
cliff1 4:597b0c6ccba2 75 if( error == 0 )
cliff1 4:597b0c6ccba2 76 {
cliff1 4:597b0c6ccba2 77 lux = (int)(myLux.read()*1000);
cliff1 4:597b0c6ccba2 78 temp = (double)(myTemp.getCelsius());
cliff1 4:597b0c6ccba2 79 humid = (int)myTemp.getHumidity();
cliff1 4:597b0c6ccba2 80
cliff1 4:597b0c6ccba2 81 sprintf((char *)str, "0106%08x020a%08x0306%08x",
cliff1 4:597b0c6ccba2 82 lux, temp, humid);
cliff1 4:597b0c6ccba2 83
cliff1 4:597b0c6ccba2 84 printf("lux value : %04d, temp value : %.1lf, humidity value : %04d\r\n",
cliff1 4:597b0c6ccba2 85 lux, temp, humid);
cliff1 4:597b0c6ccba2 86
cliff1 4:597b0c6ccba2 87 printf("Send Data : %s\r\n\r\n\r\n", str);
cliff1 4:597b0c6ccba2 88
cliff1 4:597b0c6ccba2 89 wifi.sendTP(CONTAINER_NAME, str);
cliff1 4:597b0c6ccba2 90 }
cliff1 4:597b0c6ccba2 91
cliff1 4:597b0c6ccba2 92 else
cliff1 4:597b0c6ccba2 93 printf("Send failed\r\n\r\n");
cliff1 4:597b0c6ccba2 94
cliff1 4:597b0c6ccba2 95 wait_ms(3000);
cliff1 4:597b0c6ccba2 96 }
cliff1 4:597b0c6ccba2 97
cliff1 4:597b0c6ccba2 98 else if(c == 'r' || c == 'R')
cliff1 4:597b0c6ccba2 99 {
cliff1 4:597b0c6ccba2 100 wifi.recvTP(COMMAND_NM, 3, 0);
cliff1 4:597b0c6ccba2 101
cliff1 4:597b0c6ccba2 102 wait_ms(3000);
cliff1 3:4a3c8d8ad451 103 }
cliff1 3:4a3c8d8ad451 104
cliff1 3:4a3c8d8ad451 105 else if(c == 'q' || c == 'Q')
cliff1 3:4a3c8d8ad451 106 {
cliff1 3:4a3c8d8ad451 107 wifi.disConTP();
cliff1 3:4a3c8d8ad451 108 break;
cliff1 3:4a3c8d8ad451 109 }
cliff1 3:4a3c8d8ad451 110 }
stkim92 0:89f7a9e4554f 111 wifi.disconnect();
stkim92 0:89f7a9e4554f 112 }