完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我正在尝试使用 nodeMCU 将数据记录到 SPIFFS,每分钟一次从传感器备份 SD 卡,并使用 FTP 服务器将文件传输到我的电脑。我发现设置服务器的示例工作正常,我可以将文件传输到服务器或从服务器传输文件。当我将节点仅用作微控制器单元时,它可以正常记录到 SD 卡。添加写入 SPIFFS 和 FTP 服务器代码后,它没有记录到 SPIFFS(据我所知)并且我从 Filezilla 收到错误
状态:连接到 192.168.0.100:21 ... 状态:已建立连接,等待欢迎消息... 错误:20 秒不活动后连接超时 错误:无法连接到服务器 代码编译没有问题 我对编码还很陌生,所以也许这是我错过的。 代码:全选#define FS_NO_GLOBALS #include #include #include "Adafruit_HTU21DF.h" #include "FS.h" #ifdef ESP8266 #include #elif defined ESP32 #include #include "SPIFFS.h" #endif #include const char* ssid = "******"; const char* password = "******"; FtpServer ftpSrv; //set #define FTP_DEBUG in ESP8266FtpServer.h to see ftp verbose on serial // Connect Vin to 3-5VDC // Connect GND to ground // Connect SCL to I2C clock pin (A5 on UNO) // Connect SDA to I2C data pin (A4 on UNO) File myFile; Adafruit_HTU21DF htu = Adafruit_HTU21DF(); void setup() { Serial.begin(115200); WiFi.begin(ssid, password); Serial.println(""); // Wait for connection while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.print("Connected to "); Serial.println(ssid); Serial.print("IP address: "); Serial.println(WiFi.localIP()); Serial.println("HTU21D-F"); if (!htu.begin()) { Serial.println("Couldn't find sensor!"); while (1); } Serial.print("Initializing SD card..."); // On the Ethernet Shield, CS is pin 4. It's set as an output by default. // Note that even if it's not used as the CS pin, the hardware SS pin // (10 on most Arduino boards, 53 on the Mega) must be left as an output // or the SD library functions will not work. pinMode(10, OUTPUT); if (!SD.begin(2)) { Serial.println("initialization failed!"); return; } Serial.println("initialization done."); /////FTP Setup, ensure SPIFFS is started before ftp; ///////// /////FTP Setup, ensure SPIFFS is started before ftp; ///////// #ifdef ESP32 //esp32 we send true to format spiffs if cannot mount if (SPIFFS.begin(true)) { #elif defined ESP8266 if (SPIFFS.begin()) { #endif Serial.println("SPIFFS opened!"); ftpSrv.begin("esp8266","esp8266"); //username, password for ftp. set ports in ESP8266FtpServer.h (default 21, 50009 for PASV) } } void loop() { myFile = SD.open("Temp_Hum.txt", FILE_WRITE); Serial.print("Temp: "); Serial.print(htu.readTemperature()); Serial.print("ttHum: "); Serial.println(htu.readHumidity()); myFile.print("Temp: "); myFile.print(htu.readTemperature()); myFile.print("ttHum: "); myFile.println(htu.readHumidity()); myFile.close(); fs::File f = SPIFFS.open("Temp_Hum.txt", "w"); f.print("Temp: "); f.print(htu.readTemperature()); f.print("ttHum: "); f.println(htu.readHumidity()); f.close(); delay(60000); ftpSrv.handleFTP(); //make sure in loop you call handleFTP()!! } Arduino IDE 1.8.5 NodeMCU 1.0 ESP-12E Adafruit HTU21D-F 温度和湿度传感器 Adafruit MicroSD 分线板 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
944 浏览 0 评论
1671 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1330 浏览 1 评论
1233 浏览 1 评论
5015 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1250浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2330浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2526浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1051浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 22:46 , Processed in 0.566641 second(s), Total 70, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
447
