final

Dependencies:   KS0108 WIZnet_Library mbed

Fork of bigthingRec by rohan gala

Committer:
rohangala
Date:
Wed Jul 27 08:31:49 2016 +0000
Revision:
6:6744a42b8824
Parent:
5:c0f61c21e78c
enjoy

Who changed what in which revision?

UserRevisionLine numberNew 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 5:c0f61c21e78c 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 4:a4ec8ea99d70 20 AnalogIn ain(PTC2);
rohangala 2:015a5a76bb82 21
rohangala 5:c0f61c21e78c 22
rohangala 5:c0f61c21e78c 23 BusOut SevSeg1(PTD4,PTA12,PTA4,PTA5);
rohangala 6:6744a42b8824 24 BusOut SevSeg2(PTC8,PTC9,PTA13,PTD5);
rohangala 5:c0f61c21e78c 25
rohangala 5:c0f61c21e78c 26 //DigitalOut toutb(PTA1);
rohangala 5:c0f61c21e78c 27 PwmOut ledout(LED1);
rohangala 5:c0f61c21e78c 28
rohangala 2:015a5a76bb82 29 float luxm(void)
rohangala 2:015a5a76bb82 30 {
rohangala 5:c0f61c21e78c 31 float vr=0;
rohangala 5:c0f61c21e78c 32 float lr=0;
rohangala 5:c0f61c21e78c 33 float vol[14]={0,1.1,1.23,1.3,1.45,1.6,1.81,2.06,2.31,2.62,2.81,3.02,3.1,3.3};
rohangala 5:c0f61c21e78c 34 float lux[14]={27000,20000,16000,11000,7000,4000,1500,833,578,201,104,40,23,0};
rohangala 2:015a5a76bb82 35
rohangala 5:c0f61c21e78c 36 int i;
rohangala 5:c0f61c21e78c 37 float m=0;
rohangala 2:015a5a76bb82 38
rohangala 5:c0f61c21e78c 39 vr=ain*3.3;
rohangala 4:a4ec8ea99d70 40
rohangala 6:6744a42b8824 41 for(i=0; vr> vol[i];i++);
rohangala 6:6744a42b8824 42 m = ((lux[i]-lux[i-1])/(vol[i]-vol[i-1]));
rohangala 6:6744a42b8824 43 lr=lux[i-1]+(m*(vr-(vol[i-1])));
rohangala 4:a4ec8ea99d70 44
rohangala 5:c0f61c21e78c 45 return lr;
rohangala 2:015a5a76bb82 46 }
rohangala 2:015a5a76bb82 47
rohangala 6:6744a42b8824 48
rohangala 6:6744a42b8824 49 uint8_t val,val1;
rohangala 5:c0f61c21e78c 50
rohangala 0:98be6bf27557 51 int main()
rohangala 2:015a5a76bb82 52 {
rohangala 3:0ee289161a2a 53 pc.printf("Start\r\n");
rohangala 5:c0f61c21e78c 54
rohangala 5:c0f61c21e78c 55 do
rohangala 5:c0f61c21e78c 56 {
rohangala 5:c0f61c21e78c 57 int ret = ethernet.init(MAC_Addr);
rohangala 3:0ee289161a2a 58
rohangala 3:0ee289161a2a 59 if (!ret)
rohangala 3:0ee289161a2a 60 {
rohangala 3:0ee289161a2a 61 pc.printf("Initialized, MAC: %s\r\n", ethernet.getMACAddress());
rohangala 3:0ee289161a2a 62 ret = ethernet.connect();
rohangala 3:0ee289161a2a 63 if (!ret)
rohangala 3:0ee289161a2a 64 {
rohangala 3:0ee289161a2a 65 pc.printf("IP: %s, MASK: %s, GW: %s\r\n",
rohangala 3:0ee289161a2a 66 ethernet.getIPAddress(), ethernet.getNetworkMask(), ethernet.getGateway());
rohangala 5:c0f61c21e78c 67 val=0x00;
rohangala 3:0ee289161a2a 68 }
rohangala 3:0ee289161a2a 69 else
rohangala 3:0ee289161a2a 70 {
rohangala 3:0ee289161a2a 71 pc.printf("Error ethernet.connect() - ret = %d\r\n", ret);
rohangala 3:0ee289161a2a 72 val=0xff;
rohangala 3:0ee289161a2a 73 }
rohangala 3:0ee289161a2a 74
rohangala 3:0ee289161a2a 75 }
rohangala 3:0ee289161a2a 76 else
rohangala 3:0ee289161a2a 77 {
rohangala 3:0ee289161a2a 78 pc.printf("Error ethernet.init() - ret = %d\r\n", ret);
rohangala 3:0ee289161a2a 79 val=0xff;;
rohangala 5:c0f61c21e78c 80 }
rohangala 5:c0f61c21e78c 81 }while(val==0xff);
rohangala 5:c0f61c21e78c 82
rohangala 5:c0f61c21e78c 83 TCPSocketConnection sock;
rohangala 5:c0f61c21e78c 84 do
rohangala 5:c0f61c21e78c 85 {
rohangala 3:0ee289161a2a 86 sock.connect("api.thingspeak.com", 80);
rohangala 3:0ee289161a2a 87 if(sock.is_connected())
rohangala 5:c0f61c21e78c 88 {
rohangala 5:c0f61c21e78c 89 pc.printf("Socket Connected\n\r");
rohangala 5:c0f61c21e78c 90 val=0x00;
rohangala 5:c0f61c21e78c 91 }
rohangala 3:0ee289161a2a 92 else
rohangala 5:c0f61c21e78c 93 {
rohangala 5:c0f61c21e78c 94 pc.printf("Socket NoT Connected\n\r");
rohangala 5:c0f61c21e78c 95 val=0xff;
rohangala 5:c0f61c21e78c 96 }
rohangala 3:0ee289161a2a 97
rohangala 5:c0f61c21e78c 98 }while(val==0xff);
rohangala 5:c0f61c21e78c 99
rohangala 5:c0f61c21e78c 100 char buffer[300];
rohangala 3:0ee289161a2a 101 int ret_t;
rohangala 3:0ee289161a2a 102 char http_cmd[256];
rohangala 4:a4ec8ea99d70 103
rohangala 5:c0f61c21e78c 104 int i;
rohangala 5:c0f61c21e78c 105 int j=0;
rohangala 5:c0f61c21e78c 106 while(1)
rohangala 5:c0f61c21e78c 107 {
rohangala 6:6744a42b8824 108
rohangala 4:a4ec8ea99d70 109
rohangala 6:6744a42b8824 110 do
rohangala 5:c0f61c21e78c 111 {
rohangala 6:6744a42b8824 112 for(i=j;i<60;i++)
rohangala 5:c0f61c21e78c 113 {
rohangala 5:c0f61c21e78c 114 float l=ain;
rohangala 5:c0f61c21e78c 115 float t=ax;
rohangala 5:c0f61c21e78c 116
rohangala 5:c0f61c21e78c 117 ledout=1.0-l;
rohangala 5:c0f61c21e78c 118
rohangala 5:c0f61c21e78c 119 if(l>=0 && l<0.25)
rohangala 6:6744a42b8824 120 SevSeg1 = 0x00;
rohangala 6:6744a42b8824 121 else if (l>=0.25 && l<0.50)
rohangala 6:6744a42b8824 122 SevSeg1 = 0x01 ;
rohangala 6:6744a42b8824 123 else if (l>=0.50 && l<0.75)
rohangala 6:6744a42b8824 124 SevSeg1 = 0x03;
rohangala 6:6744a42b8824 125 else if (l>=0.75 && l<=1.0)
rohangala 5:c0f61c21e78c 126 SevSeg1 = 0x07;
rohangala 6:6744a42b8824 127
rohangala 6:6744a42b8824 128 if(t<0.5050)
rohangala 6:6744a42b8824 129 SevSeg2 = 0x00;
rohangala 6:6744a42b8824 130 else if (t>=0.5050 && t<0.5070)
rohangala 6:6744a42b8824 131 SevSeg2 = 0x01 ;
rohangala 6:6744a42b8824 132 else if (t>=0.5070)
rohangala 6:6744a42b8824 133 SevSeg2 = 0x03;
rohangala 6:6744a42b8824 134
rohangala 5:c0f61c21e78c 135
rohangala 6:6744a42b8824 136
rohangala 5:c0f61c21e78c 137 if(micro.readable())
rohangala 5:c0f61c21e78c 138 {
rohangala 5:c0f61c21e78c 139 val=(micro.getc());
rohangala 5:c0f61c21e78c 140 j=i;
rohangala 5:c0f61c21e78c 141 i=25;
rohangala 5:c0f61c21e78c 142 }
rohangala 5:c0f61c21e78c 143
rohangala 5:c0f61c21e78c 144 else
rohangala 5:c0f61c21e78c 145 wait(1);
rohangala 5:c0f61c21e78c 146 }
rohangala 3:0ee289161a2a 147
rohangala 6:6744a42b8824 148 TCPSocketConnection sock;
rohangala 6:6744a42b8824 149 do
rohangala 6:6744a42b8824 150 {
rohangala 6:6744a42b8824 151 sock.connect("api.thingspeak.com", 80);
rohangala 6:6744a42b8824 152 if(sock.is_connected())
rohangala 6:6744a42b8824 153 {
rohangala 6:6744a42b8824 154 pc.printf("Socket Connected\n\r");
rohangala 6:6744a42b8824 155 val1=0x00;
rohangala 6:6744a42b8824 156 }
rohangala 6:6744a42b8824 157 else
rohangala 6:6744a42b8824 158 {
rohangala 6:6744a42b8824 159 pc.printf("Socket NoT Connected\n\r");
rohangala 6:6744a42b8824 160 val1=0xff;
rohangala 6:6744a42b8824 161 }
rohangala 6:6744a42b8824 162
rohangala 6:6744a42b8824 163 }while(val1==0xff);
rohangala 6:6744a42b8824 164
rohangala 5:c0f61c21e78c 165 if(val == 0x00)
rohangala 5:c0f61c21e78c 166 {
rohangala 5:c0f61c21e78c 167 pc.printf("%.2f ",luxm());
rohangala 5:c0f61c21e78c 168
rohangala 5:c0f61c21e78c 169 sprintf(http_cmd,"GET /update?key=L055HRYFCBL1LTM2&field1= %.2f HTTP/1.0\n\n",luxm());
rohangala 5:c0f61c21e78c 170 printf("Running - %s\r\n",http_cmd);
rohangala 5:c0f61c21e78c 171 sock.send_all(http_cmd, sizeof(http_cmd)-1);
rohangala 5:c0f61c21e78c 172
rohangala 5:c0f61c21e78c 173 ret_t = sock.receive(buffer, sizeof(buffer)-1);
rohangala 5:c0f61c21e78c 174 buffer[ret_t] = '\0';
rohangala 5:c0f61c21e78c 175 printf("Received %d chars from server:\n%s\r\n", ret_t, buffer);
rohangala 0:98be6bf27557 176
rohangala 5:c0f61c21e78c 177
rohangala 6:6744a42b8824 178 pc.printf("%.2f ",ax*3.3*17);
rohangala 3:0ee289161a2a 179
rohangala 6:6744a42b8824 180 sprintf(http_cmd,"GET /update?key=L055HRYFCBL1LTM2&field2= %.4f HTTP/1.0\n\n",ax*3.3*17/2);
rohangala 5:c0f61c21e78c 181 printf("Running - %s\r\n",http_cmd);
rohangala 5:c0f61c21e78c 182 sock.send_all(http_cmd, sizeof(http_cmd)-1);
rohangala 5:c0f61c21e78c 183
rohangala 5:c0f61c21e78c 184 ret_t = sock.receive(buffer, sizeof(buffer)-1);
rohangala 5:c0f61c21e78c 185 buffer[ret_t] = '\0';
rohangala 5:c0f61c21e78c 186 printf("Received %d chars from server:\n%s\r\n", ret_t, buffer);
rohangala 5:c0f61c21e78c 187 val=0x00;
rohangala 5:c0f61c21e78c 188 j=0;
rohangala 5:c0f61c21e78c 189 }
rohangala 5:c0f61c21e78c 190 else if(val == 0x01)
rohangala 5:c0f61c21e78c 191 {
rohangala 5:c0f61c21e78c 192 pc.printf("%.2f ",luxm());
rohangala 5:c0f61c21e78c 193
rohangala 5:c0f61c21e78c 194 sprintf(http_cmd,"GET /update?key=L055HRYFCBL1LTM2&field1= %.2f HTTP/1.0\n\n",luxm());
rohangala 5:c0f61c21e78c 195 printf("Running - %s\r\n",http_cmd);
rohangala 5:c0f61c21e78c 196 sock.send_all(http_cmd, sizeof(http_cmd)-1);
rohangala 3:0ee289161a2a 197
rohangala 5:c0f61c21e78c 198 ret_t = sock.receive(buffer, sizeof(buffer)-1);
rohangala 5:c0f61c21e78c 199 buffer[ret_t] = '\0';
rohangala 5:c0f61c21e78c 200 printf("Received %d chars from server:\n%s\r\n", ret_t, buffer);
rohangala 5:c0f61c21e78c 201 val=0x00;
rohangala 5:c0f61c21e78c 202 }
rohangala 5:c0f61c21e78c 203
rohangala 5:c0f61c21e78c 204 else if(val == 0x02)
rohangala 5:c0f61c21e78c 205 {
rohangala 6:6744a42b8824 206 pc.printf("%.2f ",ax*3.3*17);
rohangala 5:c0f61c21e78c 207
rohangala 6:6744a42b8824 208 sprintf(http_cmd,"GET /update?key=L055HRYFCBL1LTM2&field2= %.4f HTTP/1.0\n\n",ax*3.3*17/2);
rohangala 5:c0f61c21e78c 209 printf("Running - %s\r\n",http_cmd);
rohangala 5:c0f61c21e78c 210 sock.send_all(http_cmd, sizeof(http_cmd)-1);
rohangala 5:c0f61c21e78c 211
rohangala 5:c0f61c21e78c 212 ret_t = sock.receive(buffer, sizeof(buffer)-1);
rohangala 5:c0f61c21e78c 213 buffer[ret_t] = '\0';
rohangala 5:c0f61c21e78c 214 printf("Received %d chars from server:\n%s\r\n", ret_t, buffer);
rohangala 5:c0f61c21e78c 215 val=0x00;
rohangala 5:c0f61c21e78c 216 }
rohangala 6:6744a42b8824 217 }while(val==0x00);
rohangala 5:c0f61c21e78c 218
rohangala 5:c0f61c21e78c 219 }
rohangala 5:c0f61c21e78c 220
rohangala 5:c0f61c21e78c 221 //sock.close();
rohangala 5:c0f61c21e78c 222
rohangala 5:c0f61c21e78c 223 //ethernet.disconnect();
rohangala 5:c0f61c21e78c 224 //printf("Socket Closed");
rohangala 5:c0f61c21e78c 225 }
rohangala 0:98be6bf27557 226
rohangala 5:c0f61c21e78c 227 // float x=ain;
rohangala 5:c0f61c21e78c 228 //led=x;