Water level sensing with simulation using potentiometer. The value uploads on the local phant server using HTTP GET method.

Dependencies:   WIZnet_Library mbed

Committer:
eduvanceIoT
Date:
Tue Aug 02 07:57:32 2016 +0000
Revision:
0:2c1f983dd2cc
Simple water level sensing with simulation using Potentiometer. The level is uploaded onto local phant server.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
eduvanceIoT 0:2c1f983dd2cc 1 #include "mbed.h"
eduvanceIoT 0:2c1f983dd2cc 2 #include "WIZnetInterface.h"
eduvanceIoT 0:2c1f983dd2cc 3
eduvanceIoT 0:2c1f983dd2cc 4 //MAC address of sheild
eduvanceIoT 0:2c1f983dd2cc 5 unsigned char MAC_Addr[6] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
eduvanceIoT 0:2c1f983dd2cc 6
eduvanceIoT 0:2c1f983dd2cc 7 //server ip were server is set
eduvanceIoT 0:2c1f983dd2cc 8 char* ServerIP = "192.168.0.101";
eduvanceIoT 0:2c1f983dd2cc 9
eduvanceIoT 0:2c1f983dd2cc 10 //public and private key of stream
eduvanceIoT 0:2c1f983dd2cc 11 char* public_key = "9Ojdd3Vk2aCqvx1Jg0yLsx2ParXq";
eduvanceIoT 0:2c1f983dd2cc 12 char* private_key = "KzprrvRqKeC5neDN7GRbuQbExAG4";
eduvanceIoT 0:2c1f983dd2cc 13
eduvanceIoT 0:2c1f983dd2cc 14 int Count = 15;
eduvanceIoT 0:2c1f983dd2cc 15 int x;
eduvanceIoT 0:2c1f983dd2cc 16
eduvanceIoT 0:2c1f983dd2cc 17 Serial pc(USBTX, USBRX);
eduvanceIoT 0:2c1f983dd2cc 18 SPI spi(PTD2,PTD3,PTD1);
eduvanceIoT 0:2c1f983dd2cc 19
eduvanceIoT 0:2c1f983dd2cc 20 //wiznet object
eduvanceIoT 0:2c1f983dd2cc 21 WIZnetInterface ethernet(&spi,PTD0,PTA20);
eduvanceIoT 0:2c1f983dd2cc 22
eduvanceIoT 0:2c1f983dd2cc 23 //analog input
eduvanceIoT 0:2c1f983dd2cc 24 AnalogIn waterLevel(PTC1);
eduvanceIoT 0:2c1f983dd2cc 25 int writtenLen,eth;
eduvanceIoT 0:2c1f983dd2cc 26
eduvanceIoT 0:2c1f983dd2cc 27 int main()
eduvanceIoT 0:2c1f983dd2cc 28 {
eduvanceIoT 0:2c1f983dd2cc 29 //Set serial port baudrate speed: 9600
eduvanceIoT 0:2c1f983dd2cc 30 pc.baud(9600);
eduvanceIoT 0:2c1f983dd2cc 31 pc.printf("Start\r\n");
eduvanceIoT 0:2c1f983dd2cc 32
eduvanceIoT 0:2c1f983dd2cc 33 while(1)
eduvanceIoT 0:2c1f983dd2cc 34 {
eduvanceIoT 0:2c1f983dd2cc 35 x=10*waterLevel.read();
eduvanceIoT 0:2c1f983dd2cc 36 int ret = ethernet.init(MAC_Addr);
eduvanceIoT 0:2c1f983dd2cc 37
eduvanceIoT 0:2c1f983dd2cc 38 if (!ret)
eduvanceIoT 0:2c1f983dd2cc 39 {
eduvanceIoT 0:2c1f983dd2cc 40 //print MAC address of device
eduvanceIoT 0:2c1f983dd2cc 41 pc.printf("Initialized, MAC: %s\r\n", ethernet.getMACAddress());
eduvanceIoT 0:2c1f983dd2cc 42 ret = ethernet.connect();
eduvanceIoT 0:2c1f983dd2cc 43 if (!ret)
eduvanceIoT 0:2c1f983dd2cc 44 {
eduvanceIoT 0:2c1f983dd2cc 45 //print IP alloted and details obtianed from network
eduvanceIoT 0:2c1f983dd2cc 46 pc.printf("IP: %s, MASK: %s, GW: %s\r\n",
eduvanceIoT 0:2c1f983dd2cc 47 ethernet.getIPAddress(), ethernet.getNetworkMask(), ethernet.getGateway());
eduvanceIoT 0:2c1f983dd2cc 48 }
eduvanceIoT 0:2c1f983dd2cc 49 else
eduvanceIoT 0:2c1f983dd2cc 50 {
eduvanceIoT 0:2c1f983dd2cc 51 pc.printf("Error ethernet.connect() - ret = %d\r\n", ret);
eduvanceIoT 0:2c1f983dd2cc 52 exit(0);
eduvanceIoT 0:2c1f983dd2cc 53 }
eduvanceIoT 0:2c1f983dd2cc 54 }
eduvanceIoT 0:2c1f983dd2cc 55 else
eduvanceIoT 0:2c1f983dd2cc 56 {
eduvanceIoT 0:2c1f983dd2cc 57 pc.printf("Error ethernet.init() - ret = %d\r\n", ret);
eduvanceIoT 0:2c1f983dd2cc 58 exit(0);
eduvanceIoT 0:2c1f983dd2cc 59 }
eduvanceIoT 0:2c1f983dd2cc 60
eduvanceIoT 0:2c1f983dd2cc 61 //create TCP socket
eduvanceIoT 0:2c1f983dd2cc 62 TCPSocketConnection sock;
eduvanceIoT 0:2c1f983dd2cc 63
eduvanceIoT 0:2c1f983dd2cc 64 while(1){
eduvanceIoT 0:2c1f983dd2cc 65
eduvanceIoT 0:2c1f983dd2cc 66 //connect the server to port 8080
eduvanceIoT 0:2c1f983dd2cc 67 sock.connect(ServerIP, 8080);
eduvanceIoT 0:2c1f983dd2cc 68 if(sock.is_connected())
eduvanceIoT 0:2c1f983dd2cc 69 pc.printf("Socket Connected\n\r");
eduvanceIoT 0:2c1f983dd2cc 70 else
eduvanceIoT 0:2c1f983dd2cc 71 pc.printf("Socket NoT Connected\n\r");
eduvanceIoT 0:2c1f983dd2cc 72
eduvanceIoT 0:2c1f983dd2cc 73 //create character buffer for URL
eduvanceIoT 0:2c1f983dd2cc 74 char buffer[300];
eduvanceIoT 0:2c1f983dd2cc 75 int ret_t;
eduvanceIoT 0:2c1f983dd2cc 76
eduvanceIoT 0:2c1f983dd2cc 77 char http_cmd[100];
eduvanceIoT 0:2c1f983dd2cc 78
eduvanceIoT 0:2c1f983dd2cc 79 //make URL
eduvanceIoT 0:2c1f983dd2cc 80 sprintf(http_cmd,"GET /input/%s?private_key=%s&pot=%d HTTP/1.0\n\n",public_key,private_key,x);
eduvanceIoT 0:2c1f983dd2cc 81 printf("sending %d characters",strlen(http_cmd));
eduvanceIoT 0:2c1f983dd2cc 82 printf("Running - %s\r\n",http_cmd);
eduvanceIoT 0:2c1f983dd2cc 83 writtenLen = sock.send_all(http_cmd, strlen(http_cmd));
eduvanceIoT 0:2c1f983dd2cc 84
eduvanceIoT 0:2c1f983dd2cc 85 //print the result of URL GET method
eduvanceIoT 0:2c1f983dd2cc 86 if(writtenLen == -1)
eduvanceIoT 0:2c1f983dd2cc 87 printf("sending failed\r\n");
eduvanceIoT 0:2c1f983dd2cc 88 else
eduvanceIoT 0:2c1f983dd2cc 89 printf("sending success\r\n");
eduvanceIoT 0:2c1f983dd2cc 90
eduvanceIoT 0:2c1f983dd2cc 91 eth=ret_t = sock.receive(buffer, strlen(buffer));
eduvanceIoT 0:2c1f983dd2cc 92 buffer[ret_t] = '\0';
eduvanceIoT 0:2c1f983dd2cc 93 printf("Received %d chars from server:\r\n%s\r\n", ret_t, buffer);
eduvanceIoT 0:2c1f983dd2cc 94
eduvanceIoT 0:2c1f983dd2cc 95 sock.close();
eduvanceIoT 0:2c1f983dd2cc 96
eduvanceIoT 0:2c1f983dd2cc 97 ethernet.disconnect();
eduvanceIoT 0:2c1f983dd2cc 98 pc.printf("Socket Closed\r\n");
eduvanceIoT 0:2c1f983dd2cc 99 wait(1);
eduvanceIoT 0:2c1f983dd2cc 100
eduvanceIoT 0:2c1f983dd2cc 101 }
eduvanceIoT 0:2c1f983dd2cc 102 }
eduvanceIoT 0:2c1f983dd2cc 103 }