Stream messages which you type into an internet app straight to the dispBoB!
Dependencies: EthernetNetIf dispBoB mbed
InternetDispBoB.cpp@1:ec03de8ed408, 2011-07-07 (annotated)
- Committer:
- d_worrall
- Date:
- Thu Jul 07 12:16:01 2011 +0000
- Revision:
- 1:ec03de8ed408
- Child:
- 2:2707a70078ac
version2
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
d_worrall | 1:ec03de8ed408 | 1 | #include "mbed.h" |
d_worrall | 1:ec03de8ed408 | 2 | #include "EthernetNetIf.h" |
d_worrall | 1:ec03de8ed408 | 3 | #include "HTTPClient.h" |
d_worrall | 1:ec03de8ed408 | 4 | #include "dispBoB.h" |
d_worrall | 1:ec03de8ed408 | 5 | |
d_worrall | 1:ec03de8ed408 | 6 | EthernetNetIf eth; |
d_worrall | 1:ec03de8ed408 | 7 | HTTPClient http; |
d_worrall | 1:ec03de8ed408 | 8 | Serial pc(USBTX, USBRX); |
d_worrall | 1:ec03de8ed408 | 9 | dispBoB db(p28, p27, p26); |
d_worrall | 1:ec03de8ed408 | 10 | |
d_worrall | 1:ec03de8ed408 | 11 | int main() { |
d_worrall | 1:ec03de8ed408 | 12 | |
d_worrall | 1:ec03de8ed408 | 13 | printf("Start\n\r"); |
d_worrall | 1:ec03de8ed408 | 14 | printf("\r\nSetting up...\r\n"); |
d_worrall | 1:ec03de8ed408 | 15 | |
d_worrall | 1:ec03de8ed408 | 16 | EthernetErr ethErr = eth.setup(); //Setup ethernet connection |
d_worrall | 1:ec03de8ed408 | 17 | if(ethErr) { |
d_worrall | 1:ec03de8ed408 | 18 | printf("Error %d in setup.\n\r", ethErr); |
d_worrall | 1:ec03de8ed408 | 19 | return -1; |
d_worrall | 1:ec03de8ed408 | 20 | } |
d_worrall | 1:ec03de8ed408 | 21 | printf("\r\nSetup OK\r\n"); |
d_worrall | 1:ec03de8ed408 | 22 | |
d_worrall | 1:ec03de8ed408 | 23 | db.init(); //initialise screen |
d_worrall | 1:ec03de8ed408 | 24 | db.cls(); |
d_worrall | 1:ec03de8ed408 | 25 | |
d_worrall | 1:ec03de8ed408 | 26 | HTTPText txt; //instantiate HTTPStream object |
d_worrall | 1:ec03de8ed408 | 27 | while(1){ |
d_worrall | 1:ec03de8ed408 | 28 | HTTPResult r = http.get("http://www.mbed.webatu.com/messageEcho.php", &txt); //load page into buffer |
d_worrall | 1:ec03de8ed408 | 29 | if(r==HTTP_OK){ |
d_worrall | 1:ec03de8ed408 | 30 | string str = txt.gets(); //fetch string and store in str |
d_worrall | 1:ec03de8ed408 | 31 | |
d_worrall | 1:ec03de8ed408 | 32 | size_t length; //make some variables |
d_worrall | 1:ec03de8ed408 | 33 | char buffer[100]; |
d_worrall | 1:ec03de8ed408 | 34 | |
d_worrall | 1:ec03de8ed408 | 35 | size_t found=str.find("<"); //tell me where '<' first appears |
d_worrall | 1:ec03de8ed408 | 36 | if(found!=string::npos){ |
d_worrall | 1:ec03de8ed408 | 37 | length=str.copy(buffer,int(found),0); //copy everything from start of string up until '<' character and return length |
d_worrall | 1:ec03de8ed408 | 38 | buffer[length]='\0'; //null terminate my buffer |
d_worrall | 1:ec03de8ed408 | 39 | string dispString = buffer; //convert buffer from type char* to string |
d_worrall | 1:ec03de8ed408 | 40 | db.scroll(dispString, 0.2); //scroll "FTSE100" across the screen |
d_worrall | 1:ec03de8ed408 | 41 | } |
d_worrall | 1:ec03de8ed408 | 42 | } else { |
d_worrall | 1:ec03de8ed408 | 43 | pc.printf("Error\n\r"); //just in case |
d_worrall | 1:ec03de8ed408 | 44 | } |
d_worrall | 1:ec03de8ed408 | 45 | wait(2); //wait 2 seconds before looping, so we don't pester the servers too much |
d_worrall | 1:ec03de8ed408 | 46 | } |
d_worrall | 1:ec03de8ed408 | 47 | } |
d_worrall | 1:ec03de8ed408 | 48 | |
d_worrall | 1:ec03de8ed408 | 49 | |
d_worrall | 1:ec03de8ed408 | 50 | |
d_worrall | 1:ec03de8ed408 | 51 | |
d_worrall | 1:ec03de8ed408 | 52 | |
d_worrall | 1:ec03de8ed408 | 53 | |
d_worrall | 1:ec03de8ed408 | 54 | |
d_worrall | 1:ec03de8ed408 | 55 |