Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: main.cpp
- Revision:
- 6:7c9cc335b762
- Parent:
- 5:dfea6fd1abba
- Child:
- 7:a8cfd049c385
--- a/main.cpp Tue Jul 21 06:42:34 2020 +0000
+++ b/main.cpp Thu Jul 30 06:38:50 2020 +0000
@@ -5,6 +5,7 @@
Serial pc(USBTX, USBRX);
Serial esp(p28, p27); // tx, rx
+//Serial esp(p9, p10); // tx, rx
//DS18B20 thermom(A0, DS18B20::RES_12_BIT);
@@ -52,14 +53,14 @@
char cmdbuff[32];
char replybuff[1024];
-//char webdata[1024]; // This may need to be bigger depending on WEB browser used
-//char webbuff[4096]; // Currently using 1986 characters, Increase this if more web page data added
+char webdata[1024]; // This may need to be bigger depending on WEB browser used
+char webbuff[4096]; // Currently using 1986 characters, Increase this if more web page data added
-char webdata[4096]; // This may need to be bigger depending on WEB browser used
-char webbuff[4096*4]; // Currently using 1986 characters, Increase this if more web page data added
+//char webdata[4096]; // This may need to be bigger depending on WEB browser used
+//char webbuff[4096*4]; // Currently using 1986 characters, Increase this if more web page data added
-void SendCMD(),getreply(),ReadWebData(),startserver(),sendpage(),SendWEB(),sendcheck();
+void SendCMD(),getreply(),ReadWebData(),startserver(),sendpage(),SendWEB(),sendcheck(),touchuan();
void gettime(),gettemp(),getbattery(),setRTC(),beep();
// manual set RTC values
@@ -155,12 +156,13 @@
strcat(webbuff, "</button></td></tr><td></td><td>");
strcat(webbuff, "<button id='backbtn' type='button' style='width:100px;height:60px' value=\"BACK\" onClick='send_mes(this.id,this.value)' >BACK");
strcat(webbuff, "</button></td><td style='vertical-align:top; text-align:right;'></td></tr></table>");
+
/*
+
+//begin
strcat(webbuff, "<strong>Addition functions:</strong><table>");
strcat(webbuff, "<td>");//ok
-
strcat(webbuff, "<button id='avoidbtn' type='button' style='width:100px;height:60px' value=\"AVOIDANCE\" onClick='send_mes_fun(this.id,this.value)' >");
-
strcat(webbuff, "AVOIDANCE</button></td><td>");
strcat(webbuff, "<button id='tracebtn' type='button' style='width:100px;height:60px' value=\"LINE TRACE\" onClick='send_mes_fun(this.id,this.value)' >LINE TRACE");
strcat(webbuff, "</button></td><td>");
@@ -180,12 +182,13 @@
strcat(webbuff, "<table>");
strcat(webbuff, "<td>");
strcat(webbuff, "</td>");
-strcat(webbuff, "</table>"); */
+strcat(webbuff, "</table>"); //end
+
+*/
+
strcat(webbuff, "</center>");
-
strcat(webbuff, "</body>");
strcat(webbuff, "</html>");
-
strcat(webbuff, "<script language=\"javascript\" type=\"text/javascript\">");
strcat(webbuff, "function send_mes(btnmes,btnval){");
strcat(webbuff, "var url = \"http://\" + window.location.hostname + \"/cargo?a=\" + btnval;");
@@ -209,21 +212,103 @@
strcat(webbuff, "document.getElementById(\"funprint\").innerHTML=btnval;");
strcat(webbuff, "}");
strcat(webbuff, "}");
-strcat(webbuff, "</script>");
+strcat(webbuff, "</script>+++");
// end of WEB page data
bufl = strlen(webbuff); // get total page buffer length
- sprintf(cmdbuff,"AT+CIPSEND=%d,%d\r\n", linkID, bufl); // send IPD link channel and buffer character length.
- timeout=200;
- getcount=7;
+ //sprintf(cmdbuff,"AT+CIPSEND=%d,%d\r\n", linkID, bufl); // send IPD link channel and buffer character length.
+
+ sprintf(cmdbuff,"AT+CIPSENDBUF=%d,%d\r\n", linkID, 1500); // send IPD link channel and buffer character length.
+ timeout=500;
+ getcount=40;
SendCMD();
getreply();
+ pc.printf(replybuff);
+ pc.printf("\n++++++++++ AT+CIPSENDBUF=%d,%d+++++++++\r\n", linkID, 1500);
+
pc.printf("\n++++++++++ bufl is %d ++++++++++\r\n",bufl);
+
+ //pastthrough mode
SendWEB(); // send web page
+
memset(webbuff, '\0', sizeof(webbuff));
sendcheck();
}
+// Large WEB buffer data send
+void SendWEB()
+{
+ int i=0;
+ if(esp.writeable()) {
+ while(webbuff[i]!='\0') {
+ esp.putc(webbuff[i]);
+
+ //****
+ //output at command when 2000
+ if(i==1499){
+ wait_ms(10);
+ sprintf(cmdbuff,"AT+CIPSENDBUF=%d,%d\r\n", linkID, 1500); // send IPD link channel and buffer character length.
+ pc.printf("\r\n++++++++++ AT+CIPSENDBUF=%d,%d ++++++++++\r\n", linkID, 1500);
+ timeout=600;
+ getcount=50;
+ SendCMD();
+ getreply();
+ pc.printf(replybuff);
+ pc.printf("\r\n+++++++++++++++++++\r\n");
+
+ }
+
+ //****
+ i++;
+ pc.printf("%c",webbuff[i]);
+ }
+ }
+
+
+ //****
+ /*
+ sprintf(cmdbuff,"AT+CIPCLOSE\r\n"); // send IPD link channel and buffer character length.
+ SendCMD();
+ */
+ //*****
+
+ pc.printf("\n++++++++++ send web i= %dinfo ++++++++++\r\n",i);
+}
+
+
// wait for ESP "SEND OK" reply, then close IP to load web page
+
+//touchuan mode
+void touchuan(){
+ strcpy(cmdbuff, "AT+CIPMUX=0\r\n");
+ pc.printf("\n++++++++++ AT+CIPMUX=0\r\n+++++++++");
+ timeout=500;
+ getcount=40;
+ SendCMD();
+ getreply();
+ pc.printf(replybuff);
+ strcpy(cmdbuff, "AT+CIPSTART=\"TCP\",\"192.168.4.2\",8080\r\n"); // send IPD link channel and buffer character length.
+ pc.printf("\n++++++++++ AT+CIPSTART=0\r\n+++++++++");
+ timeout=500;
+ getcount=40;
+ SendCMD();
+ getreply();
+ pc.printf(replybuff);
+ strcpy(cmdbuff, "AT+CIPMODE=1\r\n"); // send IPD link channel and buffer character length.
+ pc.printf("\n++++++++++ AT+CIPMODE=1\r\n+++++++++");
+ timeout=500;
+ getcount=40;
+ SendCMD();
+ getreply();
+ pc.printf(replybuff);
+ strcpy(cmdbuff, "AT+CIPSEND\r\n"); // send IPD link channel and buffer character length.
+ pc.printf("\n++++++++++ AT+CIPSEND\r\n+++++++++");
+ timeout=500;
+ getcount=40;
+ SendCMD();
+ getreply();
+ pc.printf(replybuff);
+}
+
void sendcheck()
{
weberror=1;
@@ -273,20 +358,22 @@
strcpy(webdata, webbuff + x);
weberror=0;
int numMatched = sscanf(webdata,"+IPD,%d,%d:%s", &linkID, &ipdLen, type);
- int i=0;
+ //int i=0;
pc.printf("+++++++++++++++++succed+++++++++++++++++++++");
pc.printf("%s",webdata);
if( strstr(webdata, "LEFT") != NULL ) {
- ledR=!ledR;
-
+ //ledR=!ledR;
+ led1=!led1;
+ pc.printf("+++++++++++++++++ledR+++++++++++++++++++++\r\n");
+
}
if( strstr(webdata, "RIGHT") != NULL ) {
ledG=!ledG;
-
+ pc.printf("+++++++++++++++++ledG+++++++++++++++++++++\r\n");
}
pc.printf("+++++++++++++++++succed+++++++++++++++++++++");
@@ -405,19 +492,6 @@
{
esp.printf("%s", cmdbuff);
}
-// Large WEB buffer data send
-void SendWEB()
-{
- int i=0;
- if(esp.writeable()) {
- while(webbuff[i]!='\0') {
- esp.putc(webbuff[i]);
- i++;
- pc.printf("%s",webbuff[i]);
- }
- }
- pc.printf("\n++++++++++ send web info ++++++++++\r\n");
-}
// Get Command and ESP status replies
void getreply()
{