owo/

Dependencies:   BSP_DISCO_F469NI LCD_DISCO_F469NI mbed

Files at this revision

API Documentation at this revision

Comitter:
Toby_Chen
Date:
Tue Oct 10 16:19:30 2017 +0000
Commit message:
owo/

Changed in this revision

BSP_DISCO_F469NI.lib Show annotated file Show diff for this revision Revisions of this file
LCD_DISCO_F469NI.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 67c4bcd9b4c9 BSP_DISCO_F469NI.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/BSP_DISCO_F469NI.lib	Tue Oct 10 16:19:30 2017 +0000
@@ -0,0 +1,1 @@
+https://mbed.org/teams/ST/code/BSP_DISCO_F469NI/#123b894b49dd
diff -r 000000000000 -r 67c4bcd9b4c9 LCD_DISCO_F469NI.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LCD_DISCO_F469NI.lib	Tue Oct 10 16:19:30 2017 +0000
@@ -0,0 +1,1 @@
+https://mbed.org/teams/ST/code/LCD_DISCO_F469NI/#d38374480318
diff -r 000000000000 -r 67c4bcd9b4c9 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Oct 10 16:19:30 2017 +0000
@@ -0,0 +1,181 @@
+#include "mbed.h"
+#include "LCD_DISCO_F469NI.h"
+#include "string.h"
+#include "stdio.h"
+
+Serial pc(USBTX, USBRX);
+Serial esp(D1, D0); // tx, rx
+DigitalOut reset(D10);
+Timer t;
+
+int  count,ended,timeout;
+char buf[102400];
+char snd[255];
+
+uint8_t text[100];
+char textc[100];
+
+
+char ssid[32] = "TobyTechnology";     // enter WiFi router ssid inside the quotes
+char pwd [32] = "19980106"; // enter WiFi router password inside the quotes
+
+void SendCMD(),getreply(),ESPconfig(),ESPsetbaudrate();
+LCD_DISCO_F469NI lcd;
+
+int main()
+{
+    reset=0; //hardware reset for 8266
+
+    reset=1;
+    timeout=2;
+    getreply();
+
+    esp.baud(115200);   // change this to the new ESP8266 baudrate if it is changed at any time.
+
+    //ESPsetbaudrate();   //******************  include this routine to set a different ESP8266 baudrate  ******************
+
+    ESPconfig();        //******************  include Config to set the ESP8266 configuration  ***********************
+
+    lcd.Clear(LCD_COLOR_WHITE);
+
+    // continuosly get AP list and IP
+    while(1) {
+    
+        
+        lcd.DisplayStringAt(10, LINE(0),  (uint8_t *)"---------- Connecting ----------", LEFT_MODE );
+        strcpy(snd, "AT+CIPSTART=\"TCP\",\"192.168.137.12\",80\r\n");
+        SendCMD();
+        timeout=5;
+        getreply();
+        lcd.DisplayStringAt(11, LINE(1),  (uint8_t *)buf, LEFT_MODE );
+        wait(0.1);
+        
+        lcd.DisplayStringAt(10, LINE(5),  (uint8_t *)"---------- Sending Data ----------", LEFT_MODE );
+        
+        char data[500] = "GET /index.php?id=5 HTTP/1.1\r\nHost: 192.168.137.12\r\n\r\n";
+        sprintf(textc,"AT+CIPSEND=%d\r\n", strlen(data));
+        strcpy(snd, textc);
+        SendCMD();
+        timeout=3;
+        getreply();
+        lcd.DisplayStringAt(11, LINE(6),  (uint8_t *)buf, LEFT_MODE );
+        wait(0.1);
+        
+        strcpy(snd, data);
+        SendCMD();
+        timeout=3;
+        getreply();
+        lcd.DisplayStringAt(11, LINE(10),  (uint8_t *)buf, LEFT_MODE );
+        
+//
+        wait(5);
+        lcd.Clear(LCD_COLOR_WHITE);
+        
+    }
+
+}
+
+// Sets new ESP8266 baurate, change the esp.baud(xxxxx) to match your new setting once this has been executed
+void ESPsetbaudrate()
+{
+    strcpy(snd, "AT+CIOBAUD=115200\r\n");   // change the numeric value to the required baudrate
+    SendCMD();
+}
+
+//  +++++++++++++++++++++++++++++++++ This is for ESP8266 config only, run this once to set up the ESP8266 +++++++++++++++
+void ESPconfig()
+{    
+    //RESETTING
+    lcd.DisplayStringAt(0, LINE(0),  (uint8_t *)"---------- Reset... ----------", LEFT_MODE );
+    strcpy(snd,"AT+RST\r\n");
+    SendCMD();
+    timeout=1;
+    getreply();
+    lcd.DisplayStringAt(0, LINE(1),  (uint8_t *)"<Reset Done>", LEFT_MODE );
+    
+    
+    // set CWMODE to 1=Station,2=AP,3=BOTH, default mode 1 (Station)
+    lcd.DisplayStringAt(0, LINE(3),  (uint8_t *)"---------- Mode Setting... ----------", LEFT_MODE );
+    strcpy(snd, "AT+CWMODE=1\r\n");
+    SendCMD();
+    timeout=1;
+    getreply();
+    /*
+    for( int i=0 ; buf[i]!='\0' ; i++ ){
+        char str[10];
+        sprintf(str,"%d ",(int)buf[i]);
+        lcd.DisplayStringAt(i*30, LINE(5), (uint8_t *)str, LEFT_MODE );
+    }
+    */
+    //lcd.DisplayStringAt(0, LINE(10),  (uint8_t *)buf, LEFT_MODE );
+    
+    if( !strcmp( buf , "AT+CWMODE=1\r\r\n\r\nOK\r\n" ) ) 
+        lcd.DisplayStringAt(0, LINE(4),  (uint8_t *)"<Mode Setting done>", LEFT_MODE );    
+    else { lcd.DisplayStringAt(0, LINE(4),  (uint8_t *)"<Mode Setting failed>...FUCK...", LEFT_MODE ); wait(5); }
+    
+    // set CIPMUX to 0=Single,1=Multi
+    lcd.DisplayStringAt(0, LINE(6),  (uint8_t *)"---------- Connection Mode Setting... ----------", LEFT_MODE );
+    strcpy(snd, "AT+CIPMUX=0\r\n");
+    SendCMD();
+    timeout=1;
+    getreply();
+    
+    if( !strcmp( buf , "AT+CIPMUX=0\r\r\n\r\nOK\r\n" ) ) 
+        lcd.DisplayStringAt(0, LINE(7),  (uint8_t *)"<CIPMUX=0 done>", LEFT_MODE );    
+    else{ lcd.DisplayStringAt(0, LINE(7),  (uint8_t *)"<Mux Setting failed>...FUCK...-", LEFT_MODE ); wait(5);}
+    
+    lcd.DisplayStringAt(0, LINE(9),  (uint8_t *)"---------- Connecting to AP... ----------", LEFT_MODE );
+    sprintf((char*)text,"ssid = %s   pwd = %s",ssid,pwd);
+    strcpy(snd, "AT+CWJAP=\"");
+    strcat(snd, ssid);
+    strcat(snd, "\",\"");
+    strcat(snd, pwd);
+    strcat(snd, "\"\r\n");
+    SendCMD();
+    timeout=3;
+    getreply();
+/*
+    if( !strcmp( buf ,
+        "TobyTechnology\",\"19980106\"\r\nWIFI DISCONNECT\r\nWIFI CONNECTED\r\nWIFI GOT IP\r\r\n\r\nOK"  )
+        lcd.DisplayStringAt(0, LINE(10),  (uint8_t *)"<WIFI Connected>", LEFT_MODE );    
+    else{ lcd.DisplayStringAt(0, LINE(10),  (uint8_t *)"<WIFI Connectting failed>...FUCK...-", LEFT_MODE ); wait(5);}
+*/
+    
+    lcd.DisplayStringAt(0, LINE(10),  (uint8_t *)"---------- Get IP... ----------", LEFT_MODE );
+    strcpy(snd, "AT+CIFSR\r\n");
+    SendCMD();
+    timeout=1;
+    getreply();
+    lcd.DisplayStringAt(0, LINE(11),  (uint8_t *)buf, LEFT_MODE );
+
+    strcpy(snd, "AT+CIPSTATUS\r\n");
+    SendCMD();
+    timeout=1;
+    getreply();
+    lcd.DisplayStringAt(0, LINE(12),  (uint8_t *)"Status:", LEFT_MODE );
+    lcd.DisplayStringAt(50, LINE(12),  (uint8_t *)buf, LEFT_MODE ); wait(1);
+}
+
+void SendCMD()
+{
+    esp.printf("%s", snd);
+}
+
+void getreply()
+{
+    memset(buf, '\0', sizeof(buf));
+    t.start();
+    ended=0;
+    count=0;
+    while(!ended) {
+        if(esp.readable()) {
+            buf[count] = esp.getc();
+            count++;
+        }
+        if(t.read() > timeout) {
+            ended = 1;
+            t.stop();
+            t.reset();
+        }
+    }
+}
diff -r 000000000000 -r 67c4bcd9b4c9 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Tue Oct 10 16:19:30 2017 +0000
@@ -0,0 +1,1 @@
+https://mbed.org/users/mbed_official/code/mbed/builds/235179ab3f27
\ No newline at end of file