Water level sensing with simulation using potentiometer. The value uploads on the local phant server using HTTP GET method.
Dependencies: WIZnet_Library mbed
main.cpp@0:2c1f983dd2cc, 2016-08-02 (annotated)
- 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?
User | Revision | Line number | New 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 | } |