final

Dependencies:   KS0108 WIZnet_Library mbed

Fork of bigthingRec by rohan gala

Committer:
rohangala
Date:
Thu May 12 06:22:14 2016 +0000
Revision:
4:a4ec8ea99d70
Parent:
3:0ee289161a2a
Child:
5:c0f61c21e78c
big thing rec final withoout led display;

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 4:a4ec8ea99d70 6 PwmOut led(PTA12);
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 2:015a5a76bb82 22 float luxm(void)
rohangala 2:015a5a76bb82 23 {
rohangala 4:a4ec8ea99d70 24
rohangala 2:015a5a76bb82 25
rohangala 3:0ee289161a2a 26 float vr=0;
rohangala 4:a4ec8ea99d70 27 float lr=0;
rohangala 4:a4ec8ea99d70 28 float vol[13]={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};
rohangala 4:a4ec8ea99d70 29 float lux[13]={27000,20000,16000,11000,7000,4000,1500,833,578,201,104,40,23};
rohangala 2:015a5a76bb82 30
rohangala 2:015a5a76bb82 31 int i;
rohangala 2:015a5a76bb82 32 float m=0;
rohangala 4:a4ec8ea99d70 33
rohangala 2:015a5a76bb82 34 vr=ain*3.3;
rohangala 4:a4ec8ea99d70 35
rohangala 2:015a5a76bb82 36 for(i=0; vr> vol[i];i++);
rohangala 2:015a5a76bb82 37 m = ((lux[i]-lux[i+1])/(vol[i]-vol[i+1]));
rohangala 2:015a5a76bb82 38 lr=lux[i+1]+(m*(vr-(vol[i+1])));
rohangala 4:a4ec8ea99d70 39
rohangala 4:a4ec8ea99d70 40 return lr;
rohangala 2:015a5a76bb82 41 }
rohangala 2:015a5a76bb82 42
rohangala 1:630aef63181c 43 uint8_t val;
rohangala 0:98be6bf27557 44
rohangala 0:98be6bf27557 45 int main()
rohangala 2:015a5a76bb82 46 {
rohangala 0:98be6bf27557 47 while(1)
rohangala 0:98be6bf27557 48 {
rohangala 3:0ee289161a2a 49 pc.printf("Start\r\n");
rohangala 3:0ee289161a2a 50 val=0x00;
rohangala 3:0ee289161a2a 51 int ret = ethernet.init(MAC_Addr);
rohangala 3:0ee289161a2a 52
rohangala 3:0ee289161a2a 53 if (!ret)
rohangala 3:0ee289161a2a 54 {
rohangala 3:0ee289161a2a 55 pc.printf("Initialized, MAC: %s\r\n", ethernet.getMACAddress());
rohangala 3:0ee289161a2a 56 ret = ethernet.connect();
rohangala 3:0ee289161a2a 57 if (!ret)
rohangala 3:0ee289161a2a 58 {
rohangala 3:0ee289161a2a 59 pc.printf("IP: %s, MASK: %s, GW: %s\r\n",
rohangala 3:0ee289161a2a 60 ethernet.getIPAddress(), ethernet.getNetworkMask(), ethernet.getGateway());
rohangala 3:0ee289161a2a 61 }
rohangala 3:0ee289161a2a 62 else
rohangala 3:0ee289161a2a 63 {
rohangala 3:0ee289161a2a 64 pc.printf("Error ethernet.connect() - ret = %d\r\n", ret);
rohangala 3:0ee289161a2a 65 val=0xff;
rohangala 3:0ee289161a2a 66 }
rohangala 3:0ee289161a2a 67
rohangala 3:0ee289161a2a 68 }
rohangala 3:0ee289161a2a 69 else
rohangala 3:0ee289161a2a 70 {
rohangala 3:0ee289161a2a 71 pc.printf("Error ethernet.init() - 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 TCPSocketConnection sock;
rohangala 3:0ee289161a2a 77 sock.connect("api.thingspeak.com", 80);
rohangala 3:0ee289161a2a 78 if(sock.is_connected())
rohangala 3:0ee289161a2a 79 pc.printf("Socket Connected\n\r");
rohangala 3:0ee289161a2a 80 else
rohangala 3:0ee289161a2a 81 pc.printf("Socket NoT Connected\n\r");
rohangala 3:0ee289161a2a 82
rohangala 3:0ee289161a2a 83
rohangala 3:0ee289161a2a 84
rohangala 3:0ee289161a2a 85 char buffer[300];
rohangala 3:0ee289161a2a 86 int ret_t;
rohangala 3:0ee289161a2a 87 char http_cmd[256];
rohangala 4:a4ec8ea99d70 88
rohangala 4:a4ec8ea99d70 89 int l=luxm();
rohangala 4:a4ec8ea99d70 90
rohangala 4:a4ec8ea99d70 91
rohangala 4:a4ec8ea99d70 92
rohangala 4:a4ec8ea99d70 93
rohangala 3:0ee289161a2a 94 while(val==0x00)
rohangala 3:0ee289161a2a 95 {
rohangala 4:a4ec8ea99d70 96 float x=ain;
rohangala 4:a4ec8ea99d70 97 led=x;
rohangala 4:a4ec8ea99d70 98
rohangala 0:98be6bf27557 99 if(micro.readable())
rohangala 0:98be6bf27557 100 {
rohangala 1:630aef63181c 101 val=(micro.getc());
rohangala 3:0ee289161a2a 102 if(val == 0x01)
rohangala 4:a4ec8ea99d70 103 {
rohangala 4:a4ec8ea99d70 104
rohangala 4:a4ec8ea99d70 105 pc.printf("%.2f ",l);
rohangala 4:a4ec8ea99d70 106
rohangala 3:0ee289161a2a 107
rohangala 3:0ee289161a2a 108
rohangala 3:0ee289161a2a 109 sprintf(http_cmd,"GET /update?key=L055HRYFCBL1LTM2&field1= %.2f HTTP/1.0\n\n",luxm());
rohangala 3:0ee289161a2a 110 printf("Running - %s\r\n",http_cmd);
rohangala 3:0ee289161a2a 111 sock.send_all(http_cmd, sizeof(http_cmd)-1);
rohangala 3:0ee289161a2a 112
rohangala 3:0ee289161a2a 113 ret_t = sock.receive(buffer, sizeof(buffer)-1);
rohangala 3:0ee289161a2a 114 buffer[ret_t] = '\0';
rohangala 3:0ee289161a2a 115 printf("Received %d chars from server:\n%s\r\n", ret_t, buffer);
rohangala 3:0ee289161a2a 116
rohangala 1:630aef63181c 117 }
rohangala 0:98be6bf27557 118
rohangala 3:0ee289161a2a 119 else if(val == 0x02)
rohangala 1:630aef63181c 120 {
rohangala 3:0ee289161a2a 121 pc.printf("%.2f ",ax*3.3);
rohangala 1:630aef63181c 122
rohangala 3:0ee289161a2a 123
rohangala 4:a4ec8ea99d70 124 sprintf(http_cmd,"GET /update?key=L055HRYFCBL1LTM2&field2= %.2f HTTP/1.0\n\n",ax*3.3*17);
rohangala 3:0ee289161a2a 125 printf("Running - %s\r\n",http_cmd);
rohangala 3:0ee289161a2a 126 sock.send_all(http_cmd, sizeof(http_cmd)-1);
rohangala 3:0ee289161a2a 127
rohangala 3:0ee289161a2a 128 ret_t = sock.receive(buffer, sizeof(buffer)-1);
rohangala 3:0ee289161a2a 129 buffer[ret_t] = '\0';
rohangala 3:0ee289161a2a 130 printf("Received %d chars from server:\n%s\r\n", ret_t, buffer);
rohangala 3:0ee289161a2a 131
rohangala 1:630aef63181c 132 }
rohangala 0:98be6bf27557 133
rohangala 3:0ee289161a2a 134 else
rohangala 1:630aef63181c 135 val=0x00;
rohangala 1:630aef63181c 136
rohangala 1:630aef63181c 137 wait(2);
rohangala 3:0ee289161a2a 138
rohangala 0:98be6bf27557 139 }
rohangala 3:0ee289161a2a 140
rohangala 3:0ee289161a2a 141 }
rohangala 3:0ee289161a2a 142
rohangala 3:0ee289161a2a 143 sock.close();
rohangala 3:0ee289161a2a 144
rohangala 3:0ee289161a2a 145 ethernet.disconnect();
rohangala 3:0ee289161a2a 146 printf("Socket Closed");
rohangala 0:98be6bf27557 147 }
rohangala 0:98be6bf27557 148 }