Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 6921|回復: 22
打印 上一主題 下一主題

如何增加內存或改寫程式

[複製鏈接]
1#
發表於 2019-2-27 20:18:23 | 顯示全部樓層
看不懂?
"上傳時由於內存不夠而導致失敗?"
這個錯誤訊息是誰顯示的?
2#
發表於 2019-3-5 09:25:54 | 顯示全部樓層
本帖最後由 超新手 於 2019-3-5 10:55 編輯

它只是警告而己, 實際上有發生問題嗎?
如果擔心出問題, 可以先把所有有用雙引號的 Serial.println 或 Serial.print
但是沒有加上F("") 的, 加上F("")即可
例如
Serial.println("Wifi ready");
改成
Serial.println(F("Wifi ready"));

注意 !!!!!!!!!!用雙引號的才能加, 像
Serial.println("WIFI Connected!");
Serial.println("Cannot connect to wifi");
Serial.println("Wifi ready");
Serial.println("Wifi Setup");
.....
但是
Serial.print(sendData);這類沒引號的就不能改

如果不夠, 也可以把 esp.println/esp.print 也一起改
3#
發表於 2019-3-6 08:46:50 | 顯示全部樓層

你確定你貼的程式和執行的程式是同一個嗎?
印出來的資料不一樣. 不像是同一個程式執行的結果
4#
發表於 2019-3-6 17:48:10 | 顯示全部樓層
仔細看了一下, 這個程式問題很多
不過先把
esp.print(sendData);
改成
esp.println(sendData);
照理說, 應該就可以顯示 SENDING  data 了才對
雖然.....結果還是錯的
5#
發表於 2019-3-7 19:08:03 來自手機 | 顯示全部樓層
可以把程式再貼一次嗎?
6#
發表於 2019-3-7 20:59:48 | 顯示全部樓層
對, 你看你貼的這個程式, 多了一個 */
esp.println(sendData);*/
根本沒辦法成功 COMPILER
7#
發表於 2019-3-8 09:23:07 | 顯示全部樓層
本帖最後由 超新手 於 2019-3-8 09:24 編輯

應該是 RAM 用量太多, 影響到程式執行
把 test 改成這樣試試看
也就是把 post 的值也移到 ROM

  1. void test() {
  2.   File webFile;
  3.   char fileName[13] = "555.JPG";
  4.   String cmd = "AT+CIPSTART=\"TCP\",\"" + server + "\",80";
  5.   esp.println(cmd);
  6.   delay(3000);

  7.   if (esp.find("OK"))
  8.   {
  9.     Serial.println(F("server found"));
  10.     webFile = SD.open(fileName, FILE_READ);
  11.     Serial.print(webFile);
  12.     String post = F("POST /skin/upok.php HTTP/1.1\r\n");
  13.     post += F("Host: 120.114.132.69\r\nContent-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW\r\n");
  14.     post += F("Content-Length:");
  15.     post += webFile.size() + 196;
  16.     post += F("\r\n");
  17.     post += F("----WebKitFormBoundary7MA4YWxkTrZu0gW");
  18.     post += F("Content-Disposition: form-data; name=\"my_file\"; filename=\"555.JPG\"\r\n");
  19.     post += F("Content-Type: image/jpeg\r\n");
  20.     post += F("----WebKitFormBoundary7MA4YWxkTrZu0gW--\r\n");
  21.     delay(1000);
  22.     Serial.print(post);
  23.     String sendData = "AT+CIPSEND=" + String(post.length());
  24.     Serial.println(sendData);
  25.     esp.println(sendData);
  26.     delay(6000);
  27.     if (esp.find(">"))
  28.     {
  29.       Serial.println(F("SENDING  data"));
  30.     }
  31.     else
  32.     {
  33.       Serial.println(F("NOT SENDING"));
  34.       esp.println(F("AT+CIPCLOSE"));
  35.     }
  36.   }
  37.   else
  38.   {
  39.     Serial.println(F("server not found"));
  40.   }
  41.   delay(10000);
  42. }
複製代碼
8#
發表於 2019-3-11 16:05:19 | 顯示全部樓層
可以把結果貼出來嗎?
9#
發表於 2019-3-11 19:50:20 來自手機 | 顯示全部樓層
你的程式根本沒改。還是舊版的
10#
發表於 2019-3-11 19:52:54 來自手機 | 顯示全部樓層
要把 post 部份也加上 f("  ")
11#
發表於 2019-3-11 20:52:45 來自手機 | 顯示全部樓層
前面的程式並沒有修改,為什麼果變成 server not found?程式多執行幾次看看
12#
發表於 2019-3-13 08:49:31 | 顯示全部樓層
卻沒看到圖片傳上去

因為你沒有送 webfile 的資料上去
if (esp.find(">")) {
      Serial.println(F("SENDING  data"));
這邊沒東西
}
這也就是為什麼我覺得你的程式問題很多
之前都是在解決 NOT SENDING 的問題
現在解決了, 接下來是你根本沒有送資料的程式
缺少的是把資料從 SD 卡讀出, 然後送到 esp 去的程式
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-5-10 14:18 , Processed in 0.339223 second(s), 8 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表