final

Dependencies:   KS0108 WIZnet_Library mbed

Fork of bigthingRec by rohan gala

Committer:
rohangala
Date:
Fri May 20 18:30:52 2016 +0000
Revision:
5:c0f61c21e78c
Parent:
4:a4ec8ea99d70
Child:
6:6744a42b8824
final with hourly update

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 5:c0f61c21e78c 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 5:c0f61c21e78c 41 for(i=0; vr>= vol[i];i++);
rohangala 5:c0f61c21e78c 42 m = ((lux[i]-lux[i+1])/(vol[i]-vol[i+1]));
rohangala 5:c0f61c21e78c 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 1:630aef63181c 48 uint8_t val;
rohangala 5:c0f61c21e78c 49
rohangala 0:98be6bf27557 50 int main()
rohangala 2:015a5a76bb82 51 {
rohangala 3:0ee289161a2a 52 pc.printf("Start\r\n");
rohangala 5:c0f61c21e78c 53
rohangala 5:c0f61c21e78c 54 do
rohangala 5:c0f61c21e78c 55 {
rohangala 5:c0f61c21e78c 56 int ret = ethernet.init(MAC_Addr);
rohangala 3:0ee289161a2a 57
rohangala 3:0ee289161a2a 58 if (!ret)
rohangala 3:0ee289161a2a 59 {
rohangala 3:0ee289161a2a 60 pc.printf("Initialized, MAC: %s\r\n", ethernet.getMACAddress());
rohangala 3:0ee289161a2a 61 ret = ethernet.connect();
rohangala 3:0ee289161a2a 62 if (!ret)
rohangala 3:0ee289161a2a 63 {
rohangala 3:0ee289161a2a 64 pc.printf("IP: %s, MASK: %s, GW: %s\r\n",
rohangala 3:0ee289161a2a 65 ethernet.getIPAddress(), ethernet.getNetworkMask(), ethernet.getGateway());
rohangala 5:c0f61c21e78c 66 val=0x00;
rohangala 3:0ee289161a2a 67 }
rohangala 3:0ee289161a2a 68 else
rohangala 3:0ee289161a2a 69 {
rohangala 3:0ee289161a2a 70 pc.printf("Error ethernet.connect() - 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 else
rohangala 3:0ee289161a2a 76 {
rohangala 3:0ee289161a2a 77 pc.printf("Error ethernet.init() - ret = %d\r\n", ret);
rohangala 3:0ee289161a2a 78 val=0xff;;
rohangala 5:c0f61c21e78c 79 }
rohangala 5:c0f61c21e78c 80 }while(val==0xff);
rohangala 5:c0f61c21e78c 81
rohangala 5:c0f61c21e78c 82 TCPSocketConnection sock;
rohangala 5:c0f61c21e78c 83 do
rohangala 5:c0f61c21e78c 84 {
rohangala 3:0ee289161a2a 85 sock.connect("api.thingspeak.com", 80);
rohangala 3:0ee289161a2a 86 if(sock.is_connected())
rohangala 5:c0f61c21e78c 87 {
rohangala 5:c0f61c21e78c 88 pc.printf("Socket Connected\n\r");
rohangala 5:c0f61c21e78c 89 val=0x00;
rohangala 5:c0f61c21e78c 90 }
rohangala 3:0ee289161a2a 91 else
rohangala 5:c0f61c21e78c 92 {
rohangala 5:c0f61c21e78c 93 pc.printf("Socket NoT Connected\n\r");
rohangala 5:c0f61c21e78c 94 val=0xff;
rohangala 5:c0f61c21e78c 95 }
rohangala 3:0ee289161a2a 96
rohangala 5:c0f61c21e78c 97 }while(val==0xff);
rohangala 5:c0f61c21e78c 98
rohangala 5:c0f61c21e78c 99 char buffer[300];
rohangala 3:0ee289161a2a 100 int ret_t;
rohangala 3:0ee289161a2a 101 char http_cmd[256];
rohangala 4:a4ec8ea99d70 102
rohangala 5:c0f61c21e78c 103 int i;
rohangala 5:c0f61c21e78c 104 int j=0;
rohangala 5:c0f61c21e78c 105 while(1)
rohangala 5:c0f61c21e78c 106 {
rohangala 4:a4ec8ea99d70 107
rohangala 4:a4ec8ea99d70 108
rohangala 5:c0f61c21e78c 109 while(val==0x00)
rohangala 5:c0f61c21e78c 110 {
rohangala 5:c0f61c21e78c 111 for(i=j;i<20;i++)
rohangala 5:c0f61c21e78c 112 {
rohangala 5:c0f61c21e78c 113 float l=ain;
rohangala 5:c0f61c21e78c 114 float t=ax;
rohangala 5:c0f61c21e78c 115
rohangala 5:c0f61c21e78c 116 ledout=1.0-l;
rohangala 5:c0f61c21e78c 117
rohangala 5:c0f61c21e78c 118 if(l>=0 && l<0.25)
rohangala 5:c0f61c21e78c 119 SevSeg1 = 0x01;
rohangala 5:c0f61c21e78c 120 else if (l>=0.25 && l<0.5)
rohangala 5:c0f61c21e78c 121 SevSeg1 = 0x03 ;
rohangala 5:c0f61c21e78c 122 else if (l>=0.5 && l<0.75)
rohangala 5:c0f61c21e78c 123 SevSeg1 = 0x07;
rohangala 5:c0f61c21e78c 124 else if (l>=0.75 && l<=1.0)
rohangala 5:c0f61c21e78c 125 SevSeg1 = 0x00;
rohangala 5:c0f61c21e78c 126
rohangala 5:c0f61c21e78c 127 if(micro.readable())
rohangala 5:c0f61c21e78c 128 {
rohangala 5:c0f61c21e78c 129 val=(micro.getc());
rohangala 5:c0f61c21e78c 130 j=i;
rohangala 5:c0f61c21e78c 131 i=25;
rohangala 5:c0f61c21e78c 132 }
rohangala 5:c0f61c21e78c 133
rohangala 5:c0f61c21e78c 134 else
rohangala 5:c0f61c21e78c 135 wait(1);
rohangala 5:c0f61c21e78c 136 }
rohangala 3:0ee289161a2a 137
rohangala 3:0ee289161a2a 138
rohangala 5:c0f61c21e78c 139 if(val == 0x00)
rohangala 5:c0f61c21e78c 140 {
rohangala 5:c0f61c21e78c 141 pc.printf("%.2f ",luxm());
rohangala 5:c0f61c21e78c 142
rohangala 5:c0f61c21e78c 143 sprintf(http_cmd,"GET /update?key=L055HRYFCBL1LTM2&field1= %.2f HTTP/1.0\n\n",luxm());
rohangala 5:c0f61c21e78c 144 printf("Running - %s\r\n",http_cmd);
rohangala 5:c0f61c21e78c 145 sock.send_all(http_cmd, sizeof(http_cmd)-1);
rohangala 5:c0f61c21e78c 146
rohangala 5:c0f61c21e78c 147 ret_t = sock.receive(buffer, sizeof(buffer)-1);
rohangala 5:c0f61c21e78c 148 buffer[ret_t] = '\0';
rohangala 5:c0f61c21e78c 149 printf("Received %d chars from server:\n%s\r\n", ret_t, buffer);
rohangala 0:98be6bf27557 150
rohangala 5:c0f61c21e78c 151
rohangala 5:c0f61c21e78c 152 pc.printf("%.2f ",ax*3.3);
rohangala 3:0ee289161a2a 153
rohangala 5:c0f61c21e78c 154 sprintf(http_cmd,"GET /update?key=L055HRYFCBL1LTM2&field2= %.2f HTTP/1.0\n\n",ax*3.3*17);
rohangala 5:c0f61c21e78c 155 printf("Running - %s\r\n",http_cmd);
rohangala 5:c0f61c21e78c 156 sock.send_all(http_cmd, sizeof(http_cmd)-1);
rohangala 5:c0f61c21e78c 157
rohangala 5:c0f61c21e78c 158 ret_t = sock.receive(buffer, sizeof(buffer)-1);
rohangala 5:c0f61c21e78c 159 buffer[ret_t] = '\0';
rohangala 5:c0f61c21e78c 160 printf("Received %d chars from server:\n%s\r\n", ret_t, buffer);
rohangala 5:c0f61c21e78c 161 val=0x00;
rohangala 5:c0f61c21e78c 162 j=0;
rohangala 5:c0f61c21e78c 163 }
rohangala 5:c0f61c21e78c 164 else if(val == 0x01)
rohangala 5:c0f61c21e78c 165 {
rohangala 5:c0f61c21e78c 166 pc.printf("%.2f ",luxm());
rohangala 5:c0f61c21e78c 167
rohangala 5:c0f61c21e78c 168 sprintf(http_cmd,"GET /update?key=L055HRYFCBL1LTM2&field1= %.2f HTTP/1.0\n\n",luxm());
rohangala 5:c0f61c21e78c 169 printf("Running - %s\r\n",http_cmd);
rohangala 5:c0f61c21e78c 170 sock.send_all(http_cmd, sizeof(http_cmd)-1);
rohangala 3:0ee289161a2a 171
rohangala 5:c0f61c21e78c 172 ret_t = sock.receive(buffer, sizeof(buffer)-1);
rohangala 5:c0f61c21e78c 173 buffer[ret_t] = '\0';
rohangala 5:c0f61c21e78c 174 printf("Received %d chars from server:\n%s\r\n", ret_t, buffer);
rohangala 5:c0f61c21e78c 175 val=0x00;
rohangala 5:c0f61c21e78c 176 }
rohangala 5:c0f61c21e78c 177
rohangala 5:c0f61c21e78c 178 else if(val == 0x02)
rohangala 5:c0f61c21e78c 179 {
rohangala 5:c0f61c21e78c 180 pc.printf("%.2f ",ax*3.3);
rohangala 5:c0f61c21e78c 181
rohangala 5:c0f61c21e78c 182 sprintf(http_cmd,"GET /update?key=L055HRYFCBL1LTM2&field2= %.2f HTTP/1.0\n\n",ax*3.3*17);
rohangala 5:c0f61c21e78c 183 printf("Running - %s\r\n",http_cmd);
rohangala 5:c0f61c21e78c 184 sock.send_all(http_cmd, sizeof(http_cmd)-1);
rohangala 5:c0f61c21e78c 185
rohangala 5:c0f61c21e78c 186 ret_t = sock.receive(buffer, sizeof(buffer)-1);
rohangala 5:c0f61c21e78c 187 buffer[ret_t] = '\0';
rohangala 5:c0f61c21e78c 188 printf("Received %d chars from server:\n%s\r\n", ret_t, buffer);
rohangala 5:c0f61c21e78c 189 val=0x00;
rohangala 5:c0f61c21e78c 190 }
rohangala 1:630aef63181c 191 }
rohangala 5:c0f61c21e78c 192
rohangala 5:c0f61c21e78c 193 }
rohangala 5:c0f61c21e78c 194
rohangala 5:c0f61c21e78c 195 //sock.close();
rohangala 5:c0f61c21e78c 196
rohangala 5:c0f61c21e78c 197 //ethernet.disconnect();
rohangala 5:c0f61c21e78c 198 //printf("Socket Closed");
rohangala 5:c0f61c21e78c 199 }
rohangala 0:98be6bf27557 200
rohangala 5:c0f61c21e78c 201 // float x=ain;
rohangala 5:c0f61c21e78c 202 //led=x;