![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
This is a demo to show how to use Arch Link and dweet.io
Dependencies: BLE_API DHT HTTPClient SDFileSystem WIZnet_Library mbed nRF51822
Fork of archlink_Temperture_ethernet_http by
Diff: main.cpp
- Revision:
- 3:cfc6ff08a668
- Parent:
- 2:8b304d2b4ca5
- Child:
- 4:81af9a9f7844
--- a/main.cpp Tue Jun 30 07:28:24 2015 +0000 +++ b/main.cpp Thu Jul 02 10:05:43 2015 +0000 @@ -3,11 +3,16 @@ #include "BLE.h" #include "WIZnetInterface.h" #include "HTTPClient.h" +#include "DHT.h" + +#define DHT22_Test 0 #define USE_DHCP 0 #define LOOPBACKPORT 5000 int W5500_Test(void); +float temperature_get(); /* Grove - Temperature Sensor V1.2 */ + SPI spi(SPI_PSELMOSI0, SPI_PSELMISO0, SPI_PSELSCK0); WIZnetInterface ethernet(&spi, p24, p17); // Spi ,cs, reset int ret, dummy, lv = 1; @@ -22,6 +27,10 @@ Serial pc(USBTX, USBRX); /* uart */ +DHT dht22(A1,DHT22); + +AnalogIn ain(A0); + int main() { char buffer[256]; wait(1); @@ -29,63 +38,58 @@ wait(1); printf("helloworld\r\n"); + /* + float resistance = (float)(1023.0-val)*10000.0/(float)val; + float temp = 1/(log(resistance/10000)/B+1/298.15)-273.15; + */ + +#if DHT22_Test + int result; + while(1) { + printf("dht22.readData()\r\n"); + printf("ain A0: %.2f\r\n",ain.read()); + printf("temperature_get %.2f\r\n",temperature_get()); + result = dht22.readData(); + printf("the result is %d.\r\n",result); + if(result == 0) { + printf("Temperature is %f.2 C\r\n",dht22.ReadTemperature(CELCIUS)); + printf("Humidity is %f.2 \%\r\n",dht22.ReadHumidity()); + } + wait(4); + } +#endif + + if(W5500_Test() == 0) { // Internet is ok printf("W5500 tested OK \r\n"); - char str[512]; - char get_msg[128]= ""; + char str[512]; + char get_msg[128]= ""; /* - http://dweet.io/follow/nameYouWant + http://dweet.io/follow/ArchLink */ - char nameYouWant[] = "nameYouWant"; - while(1) - { -// sprintf(get_msg,"http://dweet.io/dweet/for/%s?a0=%d",nameYouWant,(int)(1000)); - - sprintf(get_msg,"http://seeedmsvps.cloudapp.net:10080/plantbox/upload_iot/"); - HTTPClient http; - - pc.printf("Send post message to dweet.io\r\n"); - pc.printf("msg : %s\r\n",get_msg); - ret = http.get(get_msg, str, sizeof(str)); - if(!ret) - { - pc.printf("\r\nPage fetched successfully - read %d characters\r\n", strlen(str)); - pc.printf("Result: %s\r\n", str); - } - else + char nameYouWant[] = "ArchLink"; + while(1) { - pc.printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode()); - } - wait(10); - } - + sprintf(get_msg,"http://dweet.io/dweet/for/%s?Temperature=%.2f",nameYouWant,temperature_get()); + printf("temperature_get: %.2f",temperature_get()); + HTTPClient http; - // TCPSocketServer server; - // server.bind(LOOPBACKPORT); - // server.listen(); - // while(1) { - // printf("\nWait for new connection...\r\n"); - // TCPSocketConnection client; - // server.accept(client); - // client.set_blocking(false,0); // Timeout = 0. - // printf("Connection from: %s\r\n",client.get_address()); - // while (client.is_connected() == true) { - // int n = client.receive(buffer,sizeof(buffer)); - // if (n > 0) { - // client.send_all(buffer,n); - // } else { - // } - // if (client.is_fin_received()) { - // client.close(); - // } else { - // } - - // } - // printf("Disconnected.\r\n"); - - // } + pc.printf("Send post message to dweet.io\r\n"); + pc.printf("msg : %s\r\n",get_msg); + ret = http.get(get_msg, str, sizeof(str)); + if(!ret) + { + pc.printf("\r\nPage fetched successfully - read %d characters\r\n", strlen(str)); + pc.printf("Result: %s\r\n", str); + } + else + { + pc.printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode()); + } + wait(10); + } } while(1) { @@ -149,4 +153,15 @@ } pc.printf("Disconnected.\r\n"); }*/ -} \ No newline at end of file +} + + +float temperature_get() +{ + int B = 3975; + float val = (ain.read()*1023); + float resistance = (float)(1023.0-val)*10000.0/(float)val; + float temp = 1/(log(resistance/10000)/B+1/298.15)-273.15; + return temp; +} +