123
Dependencies: DS3231 ESP8266 GPS TextLCD mbed
Revision 0:442fc0fe1f23, committed 2015-05-23
- Comitter:
- fookies
- Date:
- Sat May 23 04:09:25 2015 +0000
- Commit message:
- 123
Changed in this revision
diff -r 000000000000 -r 442fc0fe1f23 DS3231.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DS3231.lib Sat May 23 04:09:25 2015 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/users/cromda/code/DS3231/#6718c4fabf95
diff -r 000000000000 -r 442fc0fe1f23 ESP8266.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ESP8266.lib Sat May 23 04:09:25 2015 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/users/fookies/code/ESP8266/#ba8baa31f906
diff -r 000000000000 -r 442fc0fe1f23 GPS.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/GPS.lib Sat May 23 04:09:25 2015 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/users/fookies/code/GPS/#8f2e256775d7
diff -r 000000000000 -r 442fc0fe1f23 TextLCD.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TextLCD.lib Sat May 23 04:09:25 2015 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/users/oscarvzfz/code/TextLCD/#d824a83e56e3
diff -r 000000000000 -r 442fc0fe1f23 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sat May 23 04:09:25 2015 +0000 @@ -0,0 +1,118 @@ +#include "mbed.h" +#include "GPS.h" +#include "ESP8266.h" +#include "TextLCD.h" +#include "DS3231.h" + +#define BUFFER_SIZE 100 + +I2C i2c(D14,D15); +TextLCD_I2C lcd(&i2c,0x4E,TextLCD::LCD16x2); +DS3231 rtc(D14,D15); +Serial esp(D8, D2); +Serial pc(USBTX, USBRX); +GPS gps(PA_11, PA_12); +uint8_t buffer[0x100]; +uint16_t buffer_head; +uint16_t buffer_tail; + +void rxcallback(void) { + uint8_t chr; + while (esp.readable()) { + chr = esp.getc(); + pc.putc(chr); + buffer[buffer_head++] = chr; + if (buffer_head == BUFFER_SIZE) + { + buffer_head = 0; + } + } +} +void flush_fifo(void) +{ + while (esp.readable()) + { + (void)esp.getc(); + } + buffer_head = 0; + buffer_tail = 0; +} +int find_response(const char *resp) { + /* Give some delay for buffer to fill up */ + wait_ms(10); + int timeout = 0xFFFFFF; + int len = strlen(resp); + do + { + if (buffer_head > (buffer_tail + len)) + { + if (!memcmp(&buffer[buffer_tail], resp, len)) + { + flush_fifo(); + return 0; + } + buffer_tail++; + } + }while(timeout--); + flush_fifo(); + return 1; +} + +int main() +{ + int h,m,s; + char message[100]; + char ip[]="158.108.112.123"; + int port=80; + char ap_name[]="FSE-Wireless"; + char password[]="1234567890"; + + lcd.setMode(TextLCD::DispOn); + lcd.setBacklight(TextLCD::LightOff); + lcd.setCursor(TextLCD::CurOff_BlkOff); + //esp.attach(&rxcallback, Serial::RxIrq); + + lcd.printf("Initial GPS...\n"); + + //rtc.setTime(19,27,30); + //initial wifi + //esp.printf("AT+RST\r\n"); + //lcd.printf("AT+RST\n"); + //MBED_ASSERT(find_response("OK") == 0); + //esp.printf("AT+CWMODE=1\r\n"); + //lcd.printf("AT+CWMODE=1\n"); + //wait(2); + //flush_fifo(); + //esp.printf("AT+CWJAP=\"%s\",\"%s\"\r\n",ap_name,password); + //lcd.printf("AT+CWJAP=\"%s\",\"%s\"\n",ap_name,password); + //wait(10); + //MBED_ASSERT(find_response("OK") == 0); + //esp.printf("AT+CIPMUX=0\r\n"); + //lcd.printf("AT+CIPMUX=0\n"); + //MBED_ASSERT(find_response("OK") == 0); + + lcd.cls(); + while(1){ + rtc.readTime(&h,&m,&s); + lcd.setAddress(0,0); + lcd.printf("%02d:%02d:%02d",h,m,s); + if(gps.sample()) + { + lcd.setAddress(0,1); + lcd.printf("%6.3f,%7.3f",gps.latitude,gps.longitude); + //sprintf(message,"GET /gps.php?Lat=%f&Lon=%f",gps.latitude,gps.longitude); + //esp.printf("AT+CIPSTART=\"TCP\",\"%s\",%s\r\n",ip,port); + //esp.printf("AT+CIPSEND=0,%d\r\n",strlen(message)); + //if(find_response(">") == 0) + //{ + // esp.printf(message); + //} + //wait(2); + //flush_fifo(); + //esp.printf("AT+CIPCLOSE\r\n"); + wait(0.5); + //flush_fifo(); + + } + } +}
diff -r 000000000000 -r 442fc0fe1f23 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Sat May 23 04:09:25 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/8ab26030e058 \ No newline at end of file