final
Dependencies: KS0108 WIZnet_Library mbed
Fork of bigthingRec by
main.cpp@3:0ee289161a2a, 2016-03-15 (annotated)
- Committer:
- rohangala
- Date:
- Tue Mar 15 11:38:05 2016 +0000
- Revision:
- 3:0ee289161a2a
- Parent:
- 2:015a5a76bb82
- Child:
- 4:a4ec8ea99d70
za
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rohangala | 0:98be6bf27557 | 1 | #include "mbed.h" |
rohangala | 3:0ee289161a2a | 2 | #include "stdio.h" |
rohangala | 3:0ee289161a2a | 3 | #include "WIZnetInterface.h" |
rohangala | 3:0ee289161a2a | 4 | |
rohangala | 3:0ee289161a2a | 5 | unsigned char MAC_Addr[6] = {0x90,0x08,0xDC,0x12,0x07,0x07}; |
rohangala | 3:0ee289161a2a | 6 | |
rohangala | 3:0ee289161a2a | 7 | char* Update_Key = "L055HRYFCBL1LTM2"; |
rohangala | 3:0ee289161a2a | 8 | char* ServerIP = "api.thingspeak.com"; |
rohangala | 3:0ee289161a2a | 9 | int Count = 15; |
rohangala | 3:0ee289161a2a | 10 | |
rohangala | 3:0ee289161a2a | 11 | SPI spi(PTD2,PTD3,PTD1); |
rohangala | 3:0ee289161a2a | 12 | WIZnetInterface ethernet(&spi,PTD0,PTA1); |
rohangala | 3:0ee289161a2a | 13 | |
rohangala | 0:98be6bf27557 | 14 | Serial pc(USBTX, USBRX); |
rohangala | 2:015a5a76bb82 | 15 | Serial micro(PTE0, PTE1); // tx, rx |
rohangala | 3:0ee289161a2a | 16 | |
rohangala | 0:98be6bf27557 | 17 | char buff[]={'\0'}; |
rohangala | 3:0ee289161a2a | 18 | |
rohangala | 2:015a5a76bb82 | 19 | AnalogIn ax(PTC1); |
rohangala | 2:015a5a76bb82 | 20 | |
rohangala | 2:015a5a76bb82 | 21 | float luxm(void) |
rohangala | 2:015a5a76bb82 | 22 | { |
rohangala | 2:015a5a76bb82 | 23 | AnalogIn ain(PTC2); |
rohangala | 2:015a5a76bb82 | 24 | |
rohangala | 3:0ee289161a2a | 25 | float vr=0; |
rohangala | 3:0ee289161a2a | 26 | /*float vr=0,lr=0; |
rohangala | 2:015a5a76bb82 | 27 | float vol[12]={0.36,0.61,0.8,0.9,1.23,1.45,1.81,2.06,2.62,2.81,3.02,3.25}; |
rohangala | 2:015a5a76bb82 | 28 | float lux[12]={27000,20000,16000,11000,4000,1500,833,578,201,104,40,23}; |
rohangala | 2:015a5a76bb82 | 29 | |
rohangala | 2:015a5a76bb82 | 30 | int i; |
rohangala | 2:015a5a76bb82 | 31 | float m=0; |
rohangala | 3:0ee289161a2a | 32 | */ |
rohangala | 2:015a5a76bb82 | 33 | vr=ain*3.3; |
rohangala | 3:0ee289161a2a | 34 | /* |
rohangala | 2:015a5a76bb82 | 35 | for(i=0; vr> vol[i];i++); |
rohangala | 2:015a5a76bb82 | 36 | m = ((lux[i]-lux[i+1])/(vol[i]-vol[i+1])); |
rohangala | 2:015a5a76bb82 | 37 | lr=lux[i+1]+(m*(vr-(vol[i+1]))); |
rohangala | 3:0ee289161a2a | 38 | */ |
rohangala | 3:0ee289161a2a | 39 | return vr; |
rohangala | 2:015a5a76bb82 | 40 | } |
rohangala | 2:015a5a76bb82 | 41 | |
rohangala | 1:630aef63181c | 42 | uint8_t val; |
rohangala | 0:98be6bf27557 | 43 | |
rohangala | 0:98be6bf27557 | 44 | int main() |
rohangala | 2:015a5a76bb82 | 45 | { |
rohangala | 0:98be6bf27557 | 46 | while(1) |
rohangala | 0:98be6bf27557 | 47 | { |
rohangala | 3:0ee289161a2a | 48 | pc.printf("Start\r\n"); |
rohangala | 3:0ee289161a2a | 49 | val=0x00; |
rohangala | 3:0ee289161a2a | 50 | int ret = ethernet.init(MAC_Addr); |
rohangala | 3:0ee289161a2a | 51 | |
rohangala | 3:0ee289161a2a | 52 | if (!ret) |
rohangala | 3:0ee289161a2a | 53 | { |
rohangala | 3:0ee289161a2a | 54 | pc.printf("Initialized, MAC: %s\r\n", ethernet.getMACAddress()); |
rohangala | 3:0ee289161a2a | 55 | ret = ethernet.connect(); |
rohangala | 3:0ee289161a2a | 56 | if (!ret) |
rohangala | 3:0ee289161a2a | 57 | { |
rohangala | 3:0ee289161a2a | 58 | pc.printf("IP: %s, MASK: %s, GW: %s\r\n", |
rohangala | 3:0ee289161a2a | 59 | ethernet.getIPAddress(), ethernet.getNetworkMask(), ethernet.getGateway()); |
rohangala | 3:0ee289161a2a | 60 | } |
rohangala | 3:0ee289161a2a | 61 | else |
rohangala | 3:0ee289161a2a | 62 | { |
rohangala | 3:0ee289161a2a | 63 | pc.printf("Error ethernet.connect() - ret = %d\r\n", ret); |
rohangala | 3:0ee289161a2a | 64 | val=0xff; |
rohangala | 3:0ee289161a2a | 65 | } |
rohangala | 3:0ee289161a2a | 66 | |
rohangala | 3:0ee289161a2a | 67 | } |
rohangala | 3:0ee289161a2a | 68 | else |
rohangala | 3:0ee289161a2a | 69 | { |
rohangala | 3:0ee289161a2a | 70 | pc.printf("Error ethernet.init() - ret = %d\r\n", ret); |
rohangala | 3:0ee289161a2a | 71 | val=0xff;; |
rohangala | 3:0ee289161a2a | 72 | } |
rohangala | 3:0ee289161a2a | 73 | |
rohangala | 3:0ee289161a2a | 74 | |
rohangala | 3:0ee289161a2a | 75 | TCPSocketConnection sock; |
rohangala | 3:0ee289161a2a | 76 | sock.connect("api.thingspeak.com", 80); |
rohangala | 3:0ee289161a2a | 77 | if(sock.is_connected()) |
rohangala | 3:0ee289161a2a | 78 | pc.printf("Socket Connected\n\r"); |
rohangala | 3:0ee289161a2a | 79 | else |
rohangala | 3:0ee289161a2a | 80 | pc.printf("Socket NoT Connected\n\r"); |
rohangala | 3:0ee289161a2a | 81 | |
rohangala | 3:0ee289161a2a | 82 | |
rohangala | 3:0ee289161a2a | 83 | |
rohangala | 3:0ee289161a2a | 84 | char buffer[300]; |
rohangala | 3:0ee289161a2a | 85 | int ret_t; |
rohangala | 3:0ee289161a2a | 86 | char http_cmd[256]; |
rohangala | 3:0ee289161a2a | 87 | while(val==0x00) |
rohangala | 3:0ee289161a2a | 88 | { |
rohangala | 0:98be6bf27557 | 89 | if(micro.readable()) |
rohangala | 0:98be6bf27557 | 90 | { |
rohangala | 1:630aef63181c | 91 | val=(micro.getc()); |
rohangala | 3:0ee289161a2a | 92 | if(val == 0x01) |
rohangala | 1:630aef63181c | 93 | { |
rohangala | 3:0ee289161a2a | 94 | pc.printf("%.2f ",luxm()); |
rohangala | 3:0ee289161a2a | 95 | |
rohangala | 3:0ee289161a2a | 96 | |
rohangala | 3:0ee289161a2a | 97 | sprintf(http_cmd,"GET /update?key=L055HRYFCBL1LTM2&field1= %.2f HTTP/1.0\n\n",luxm()); |
rohangala | 3:0ee289161a2a | 98 | printf("Running - %s\r\n",http_cmd); |
rohangala | 3:0ee289161a2a | 99 | sock.send_all(http_cmd, sizeof(http_cmd)-1); |
rohangala | 3:0ee289161a2a | 100 | |
rohangala | 3:0ee289161a2a | 101 | ret_t = sock.receive(buffer, sizeof(buffer)-1); |
rohangala | 3:0ee289161a2a | 102 | buffer[ret_t] = '\0'; |
rohangala | 3:0ee289161a2a | 103 | printf("Received %d chars from server:\n%s\r\n", ret_t, buffer); |
rohangala | 3:0ee289161a2a | 104 | |
rohangala | 1:630aef63181c | 105 | } |
rohangala | 0:98be6bf27557 | 106 | |
rohangala | 3:0ee289161a2a | 107 | else if(val == 0x02) |
rohangala | 1:630aef63181c | 108 | { |
rohangala | 3:0ee289161a2a | 109 | pc.printf("%.2f ",ax*3.3); |
rohangala | 1:630aef63181c | 110 | |
rohangala | 3:0ee289161a2a | 111 | |
rohangala | 3:0ee289161a2a | 112 | sprintf(http_cmd,"GET /update?key=L055HRYFCBL1LTM2&field2= %.2f HTTP/1.0\n\n",ax*3.3); |
rohangala | 3:0ee289161a2a | 113 | printf("Running - %s\r\n",http_cmd); |
rohangala | 3:0ee289161a2a | 114 | sock.send_all(http_cmd, sizeof(http_cmd)-1); |
rohangala | 3:0ee289161a2a | 115 | |
rohangala | 3:0ee289161a2a | 116 | ret_t = sock.receive(buffer, sizeof(buffer)-1); |
rohangala | 3:0ee289161a2a | 117 | buffer[ret_t] = '\0'; |
rohangala | 3:0ee289161a2a | 118 | printf("Received %d chars from server:\n%s\r\n", ret_t, buffer); |
rohangala | 3:0ee289161a2a | 119 | |
rohangala | 1:630aef63181c | 120 | } |
rohangala | 0:98be6bf27557 | 121 | |
rohangala | 3:0ee289161a2a | 122 | else |
rohangala | 1:630aef63181c | 123 | val=0x00; |
rohangala | 1:630aef63181c | 124 | |
rohangala | 1:630aef63181c | 125 | wait(2); |
rohangala | 3:0ee289161a2a | 126 | |
rohangala | 0:98be6bf27557 | 127 | } |
rohangala | 3:0ee289161a2a | 128 | |
rohangala | 3:0ee289161a2a | 129 | } |
rohangala | 3:0ee289161a2a | 130 | |
rohangala | 3:0ee289161a2a | 131 | sock.close(); |
rohangala | 3:0ee289161a2a | 132 | |
rohangala | 3:0ee289161a2a | 133 | ethernet.disconnect(); |
rohangala | 3:0ee289161a2a | 134 | printf("Socket Closed"); |
rohangala | 0:98be6bf27557 | 135 | } |
rohangala | 0:98be6bf27557 | 136 | } |