Чтение SD-карты на ATMEGA328 с ESP826

У меня есть ATMEGA328 с ESP826 (например, http://arduinolearning.com/hardware/atmega328- esp8266-arduino-board.php) и может успешно отправлять информацию с ATMEGA328 на ESP826 через последовательный порт. Я также могу записывать информацию с ATMEGA328 на SD-карту. Что я хотел бы сделать, так это прочитать данные с SD-карты с помощью ESP826, чтобы я мог загрузить их на сервер..

Когда я пытаюсь подключиться напрямую:

#include <ESP8266WiFi.h>
#include <SPI.h>
#include <SD.h>

File myFile;

void setup() {
  Serial.begin(115200);
  delay(10);

  Serial.print("Initializing SD card...");

  if (!SD.begin(10)) {
    Serial.println("initialization failed!");
    return;
  }

  myFile = SD.open("/");

  printDirectory(myFile, 0);

  Serial.println("done!");
  
}

void loop(){
}


void printDirectory(File dir, int numTabs) {
  while (true) {

    File entry =  dir.openNextFile();
    if (! entry) {
      // больше нет файлов
      break;
    }
    for (uint8_t i = 0; i < numTabs; i++) {
      Serial.print('\t');
    }
    Serial.print(entry.name());
    if (entry.isDirectory()) {
      Serial.println("/");
      printDirectory(entry, numTabs + 1);
    } else {
      // у файлов есть размеры, у каталогов нет
      Serial.print("\t\t");
      Serial.println(entry.size(), DEC);
    }
    entry.close();
  }
}

Он не находит карту. Это не зависит от того, включены ли контакты 1 и 2 или нет.

Есть ли способ записать на SD-карту с помощью ATMEGA328 и прочитать ее с ESP826 (чтобы отправить файлы в облако)?

, 👍-1

Обсуждение

ты не можешь. Выводы SPI esp8266 недоступны в Uno+WiFi. Вы не можете подключить SD-карту к esp8266., @Juraj


2 ответа


Лучший ответ:

1

Вы не можете. Нет связи между ESP8266 и SD-картой.

Однако вы можете запрограммировать ATMega328 на чтение SD-карты, а затем отправить эти данные на ESP8266 для пересылки в Интернет.

,

Спасибо! Как лучше всего отправлять данные с ATMega на ESP8266? Файл на SD-карте будет звуковым файлом., @user1505631


0

Вы рассматривали что-то вроде nodeMCU? Есть ли причина, по которой вы используете такую сложную плату? Это позволит вам подключить устройство чтения SD-карт напрямую к nodeMCU, который может считывать данные с тех же входов, что и atmega328 (следите за разницей напряжения), включая датчики, которые могут загружать данные в облако без необходимости в дополнительном MCU. при этом значительно упрощая отладку.

Я знаю, что здесь я получу неприязнь, но мне кажется, что это один из тех случаев, когда вы соединяете две вещи, которые будут работать лучше, чем по отдельности, делая что-то, что не делает работу ни одной из них очень хорошо. Возможно, вам удастся вернуть деньги... Если нет, обратитесь к эмитенту карты по поводу "Владелец карты отсутствует" утверждают, что у ботов VISA и Mastercard есть.

Есть ли причина, по которой стандартного nodeMCU недостаточно для вашего проекта? (вероятно, лучше)

Если этого недостаточно:

Если вы соедините node-mcu (5-15 евро/фунтов/долларов) и nano (примерно половину цены) на макетной плате и соедините их вместе через (программный) последовательный контакт (используя соединительные кабели и резистивный делитель ), вы можете запрограммировать их, не возясь с бессмысленными DIP-переключателями, и узнать что-то полезное для будущих проектов. последний можно заменить nano на 3V3 pro mini, чтобы убрать даже делитель. Существует эта абсурдная идея от разработчиков основной команды Arduino использовать превосходный микроконтроллер Esp32 в качестве вторичного инструмента для низшего ATMEGA328, в то время как по логике вы должны делать наоборот. Это усиливается тем фактом, что я лично считаю, что основные библиотеки Arduino Esp8266 превосходят те, что созданы для Atmel... Возможно, вы даже обнаружите, что 2-3 МБ файловой системы, которую вы можете создать на ModeMCU, может быть достаточно без необходимости использования SD-карты.

Я бегло просмотрел сайт и увидел сочетание по умолчанию http и нестандартного оборудования в сочетании с низким уровнем объяснений. Но то, что я нахожу действительно аморальным, это сбор чрезмерного количества доменных имен по одному и тому же вопросу который можно было бы использовать для других проектов, наводит меня на мысль, что эти учебные пособия предназначены для увеличения продаж плохо спроектированных плат... Я бы порекомендовал вам изменить источник учебного пособия...

,

замечание принято, комментарий удален, @Tomas

Не подскажете, какое отношение это утверждение имеет к вопросу: "НО ЕЩЕ ХУЖЕ ВОРУЖЕНИЕ ЧРЕЗМЕРНОГО КОЛИЧЕСТВА ДОМЕННЫХ ИМЕН"? Использование всех заглавных букв, полужирного и курсивного шрифта НЕ пошлет сообщение сообществу, как вы думаете., @VE7JRO

Я думаю, что указание на аморальные действия дизайнеров веб-сайта уместно указать в качестве дополнительных причин, чтобы указать спрашивающему на лучший учебник или источник для платы. Я перефразировал предложение (не знаю, как получилось заглавные буквы), @Tomas

Итак, теперь вы меняете нерелевантный текст на этот «Но что я считаю действительно аморальным, так это сбор чрезмерного количества доменных имен для доменных имен с аналогичной тематикой» жирным шрифтом. Можете ли вы сказать мне, как это утверждение применимо к вопросу ОП?, @VE7JRO

Я не могу объяснить вам свои рассуждения лучше, чем в моем предыдущем комментарии. может когда-нибудь подумаю, как перефразировать объяснение своих рассуждений. В противном случае нам, возможно, придется разойтись во мнениях, и я получу свой ожидаемый отрицательный голос. Я согласен, что вы лучше программируете, чем я, просто не согласен с вами в этом вопросе. Спокойной ночи, @Tomas