ESP8266 - SD-Kartenleser und FTP-Server ohne Funktion mit Arduino

Gast #5835545
Lesenswert?
• ▲
▼
Guten Tag,

ich habe ein kleines Problem mit meinem ESP8266 und den darauf
verbundenen SD-Kartenleser sowie einem FTP-Server.
Ich versuche auf einem ESP8266 mit der Arduino IDE einen FTP-Server zu
erstellen und die darauf liegenden Daten (.txt Datei) auszulesen. Der
FTP-Server funktioniert, sodass ich Daten auf dem Server Speichern kann 
(außer einigen timeouts einwandfrei), aber
leider kann er die Daten nicht abrufen die auf dem Server liegen.
Zu meinem Code:
1
#define FS_NO_GLOBALS
2
#include <ESP8266WiFi.h>
3
#include <ESP8266FtpServer.h>
4

5
const char* ssid = "xxx";
6
const char* password = "xxx";
7

8
FtpServer ftpSrv;
9

10
#include <SPI.h>
11
#include <SD.h>
12

13
File myFile;
14

15
void setup()
16
{
17
  Serial.begin(115200);
18
  WiFi.begin(ssid, password);
19
  Serial.println("");
20

21
  // Wait for connection
22
  while (WiFi.status() != WL_CONNECTED) 
23
  {
24
    delay(500);
25
    Serial.print(".");
26
  }
27
  Serial.println("");
28
  Serial.print("Connected to ");
29
  Serial.println(ssid);
30
  Serial.print("IP address: ");
31
  Serial.println(WiFi.localIP());
32

33
if (!SD.begin(4))
34
  {
35
    Serial.println("initialization failed!");
36
    return;
37
  }
38
  Serial.println("initialization done.");
39
  // open the file for reading:
40
  myFile = SD.open("/Meeting.txt");
41
  if (myFile)
42
  {
43
    // read from the file until there's nothing else in it:
44
    while (myFile.available())
45
    {
46
      Serial.write(myFile.read());
47
    }
48
    // close the file:
49
    myFile.close();
50
  }
51
  else
52
  {
53
    // if the file didn't open, print an error:
54
    Serial.println("error opening Meeting.txt");
55
  }
56

57
  /////FTP Setup, ensure SPIFFS is started before ftp;  /////////
58
  if (SPIFFS.begin())
59
  {
60
      Serial.println("SPIFFS opened!");
61
      ftpSrv.begin("xxx","xxx");    //username, password for ftp.  set ports in ESP8266FtpServer.h  (default 21, 50009 for PASV)
62
  }
63
}
64

65
void loop()
66
{
67
  byte inChar;
68
  inChar = Serial.read();
69
  if(inChar == 'e')
70
  {
71
    myFile = SD.open("/Meeting.txt");
72
  if (myFile)
73
  {
74
    // read from the file until there's nothing else in it:
75
    while (myFile.available())
76
    {
77
      Serial.write(myFile.read());
78
    }
79
    // close the file:
80
    myFile.close();
81
  }
82
  else
83
  {
84
    // if the file didn't open, print an error:
85
    Serial.println("error opening Meeting.txt");
86
  }
87
  }
88
  ftpSrv.handleFTP();
89
}

Bei den "xxx" Felder habe ich selbstverständlich meine eigenen Daten
eingefügt.
In der "loop" frage ich mit dem Buchstaben "e" die Daten ab, ob sie
verfügbar sind oder nicht.
Der SD-Kartenleser ist mit 6pins Verbunden(CS, SCK, MOSI, MISO, VCC und
GND) und der Spannungsregler auf der Platine wurde rausgelötet, sodass
er mit 3v3 Funktioniert. Dazu wird eine 4GB micro SDcard verwendet von
Verbatim.

Es wäre super, wenn einige User Hilfestellungen oder Lösungen parat
haben.

MfG
I-Azubi

Als ESP8266 verwende ich folgenden:
https://www.amazon.de/Waveshare-Universal-Driver-Board-ESP8266/dp/B07BJ4J1T9/ref=sr_1_fkmrnull_3?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=Universal+e-Paper+Driver+Board+with+WiFi+SoC+ESP8266&qid=1552556697&s=computers&sr=1-3-fkmrnull

und als SD-Kartenleser:
https://www.amazon.de/gp/product/B077MCQS9P/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.