ThingPlug Ex
Dependencies: DHT11 NetworkSocketAPI WizFi310Interface mbed
Fork of WizFi310_ThingPlug_Test by
main.cpp@7:8ad9f9bd39b3, 2017-10-19 (annotated)
- Committer:
- cliff1
- Date:
- Thu Oct 19 04:38:50 2017 +0000
- Revision:
- 7:8ad9f9bd39b3
- Parent:
- 6:ece3b06b9aba
- Child:
- 9:473f0a73f0c0
ThingPlug+ 171019
Who changed what in which revision?
User | Revision | Line number | New 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 | } |