Wifi sd card esp

SD-карта с WiFi на ESP8266 для 3D-принтера (plug-and-play)

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Статья относится к принтерам:

Данная разработка предназначена для тех, кому надоело после создания файла с g-кодом на PC, вынимать SD-карту из 3D-принтера, вставлять её в PC, записывать g-код, а после снова совать её в 3D-принтер. И, кроме того, для тех, кому не хочется разбираться с ардуино и всякими библиотеками. Фактически, это аналог FlashAir, но более громоздкий. Всё, что нужно, это сделать печатную плату, спаять, загрузить двоичный код в ESP8266 при помощи любой программы-программатора, на SD-карту записать настройки вашей WiFi-сети, вставить плату в SD-разъём 3D-принтера, и работать по WiFi с файлами на SD-карте принтера на своём PC, как с сетевыми.За основу взяты разработкиhttps://github.com/ardyesp/ESPWebDAVhttps://3dtoday.ru/blogs/jeka-tm/sd-card-with-wifi-with-your-own-hands/и доведены до логического конца.Итак:Схема принципиальная:SD-карта с WiFi на ESP8266 для 3D-принтера (plug-and-play)Плата в Layout6SD-карта с WiFi на ESP8266 для 3D-принтера (plug-and-play)Залуженная плата:SD-карта с WiFi на ESP8266 для 3D-принтера (plug-and-play)Запаянная плата 1 сторона:SD-карта с WiFi на ESP8266 для 3D-принтера (plug-and-play)Запаянная плата 2 сторона:SD-карта с WiFi на ESP8266 для 3D-принтера (plug-and-play)Какие элементы использовались:

Конденсатор-1206-1,0 — 1штКонденсатор-1,0 — 1штРезистор-1206-470 — 1штРезистор-1206-1к — 3штРезистор-1206-10к — 5штСтабилизатор-LM1117-3.3 (ТО-220) — 1штWifi-модуль-ESP-12E — 1штДержатель SD — 1шт*Модуль TTL-USB-CH340G, 5v — 1шт*Преобразователь уровней 5v-3.3v — 1шт

* — только для программирования (если у вас модуль TTL-USB выдает 3.3v уровни TTL, то преобразователь не нужен)Для заливки использовалась бесплатная программа ESP8266Flasher.exe, но можно заливать и любой другой, заливка осуществляется по адресу 0x00000Настройка.- На собранной плате установить перемычку S1- На SD-карту записать в корневой каталог файл setup.ini с тремя строчками:Wifi=Имя wifi-сети, к которой подключаемсяPassword=Пароль сетиТретья строка — пустая- SD-карту вставить в разъём SD2- Подключить к преобразователю уровней RX,TX,Gnd,+3.3v с jmp1 (если у вас модуль TTL-USB на 3.3v, то преобразователь уровней не нужен, и +3.3v никуда подсоединять не надо)(Примечание: я так и не понял: RX-TX,TX-RX или RX-RX,TX-TX, если одно не идёт, попробуйте другое.)- Вставить модуль TTL-USB в компьютер, установить драйвера- Подключить внешнее питание к плате- Для программирования переключатель S2 ставим в положение «замкнуто», затем кратковременно нажимаем кнопку S3SD-карта с WiFi на ESP8266 для 3D-принтера (plug-and-play)— На PC запустить программу-программатор, настроить порт, скорость, указать бинарный файл загрузки, адрес загрузки и запустить программирование. Синий светодиод будет мигать. После окончания программирования переключатель S2 ставим в положение «разомкнуто» и нажимаем кнопку S3. Теперь устройство примерно через 1 минуту должно появиться в беспроводной домашней сети. Чтобы пользоваться им постоянно, можно назначить SD-диск сетевым диском PC. SD-карта с WiFi на ESP8266 для 3D-принтера (plug-and-play)После того, как убедились, что всё работает, берем устройство, удаляем перемычку S1, вставляем его в SD-разъём на плате дисплея и подсоединяем питание с платы +5v:SD-карта с WiFi на ESP8266 для 3D-принтера (plug-and-play)В приложенном архиве находится печатная плата в формате lay6, бинарный файл прошивки, и, кроме того, для тех, кто хочет повозиться с Arduino и что-нибудь подправить, исходник скетча.https://cloud.mail.ru/public/3zqi/3ecDR82hgСкорость передачи файлов — около 280 кб/с, т.о. файл 42Мб записывается ~ 2м 30с.Первая деталь, напечатанная после установки данного устройства, время печати — около 8 часов.

Читайте также:  Wi fi решения для

SD-карта с WiFi на ESP8266 для 3D-принтера (plug-and-play)

Надеюсь, что ничего не упустил, всем удачи!

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Источник

ESP8266 + SD-карта или WI-FI флешка для 3D-принтера

ESP8266 + SD-карта или WI-FI флешка для 3D-принтера

Лень — двигатель прогресса, в который раз в этом убеждаюсь. Надоело бегать с SD-картой от компа к принтеру и обратно. Причем настолько, что решил реализовать так называемую wi-fi-флешку.

Вдоволь наигравшись, без какого-либо адекватного результата, с модулем WI-FI, что шел вместе с принтером, решил пойти другим путем, сделать девайс с отдельным WI-FI модулем. Да и в целом изобретать ничего не пришлось. Все лучшее придумано до нас.

Беглое гугление направило меня вот на этот замечательный материал, которым я и воспользовался. Только монтажную плату сам хреново развел. Но в целом и внешне она осталась похожа на оригинал.

Фоточки того что получилось

Бинарник заливал с помощью flash download tools v3.6.5. Была заминка с подключением.

В setup.ini должны быть три строки.

Ssid=Имя вашей сети
Password=Пароль от сети
любой текст

Вставляете SD-карту с файлом setup.ini в устройство. Смотрите в настройках роутера какой ip адрес получил девайс. Далее на компьютере, с которого планируете передавать файлы на печать, добавляете сетевой диск. \\ip-адрес\DavWWWRoot Передаваемые файлы не должны содержать кириллицу. Если с FAT32 не заработало или выдает ошибку при копировании файлов, попробуйте отформатировать флешку в FAT.

Источник

Arduino.ru

Скачал и установил все необходимые библиотеки (ESPWebDAV и SdFat). Открыл пример из ESPWebDAV и получил массу ошибок:

In file included from C:\Users\�����\Documents\Arduino\libraries\SdFat-master\src/FatLib/FatLib.h:27:0, from C:\Users\�����\Documents\Arduino\libraries\SdFat-master\src/SdFat.h:33, from C:\Users\�����\Documents\Arduino\libraries\ESPWebDAV-master/ESPWebDAV.h:2, from D:\TEMP\arduino_modified_sketch_639563\Printer_3D.ino:5: C:\Users\�����\Documents\Arduino\libraries\SdFat-master\src/FatLib/ArduinoFiles.h:122:7: error: redefinition of 'class fs::File' class File : public FatFile, public Stream < ^ In file included from C:\Users\�����\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\libraries\ESP8266WiFi\src/CertStoreBearSSL.h:26:0, from C:\Users\�����\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\libraries\ESP8266WiFi\src/WiFiClientSecureBearSSL.h:30, from C:\Users\�����\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\libraries\ESP8266WiFi\src/WiFiClientSecure.h:41, from C:\Users\�����\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\libraries\ESP8266WiFi\src/WiFiServerSecure.h:20, from C:\Users\�����\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\libraries\ESP8266WiFi\src/ESP8266WiFi.h:41, from D:\TEMP\arduino_modified_sketch_639563\Printer_3D.ino:4: C:\Users\�����\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266/FS.h:52:7: error: previous definition of 'class fs::File' class File : public Stream ^ In file included from C:\Users\�����\Documents\Arduino\libraries\SdFat-master\src/FatLib/FatLib.h:28:0, from C:\Users\�����\Documents\Arduino\libraries\SdFat-master\src/SdFat.h:33, from C:\Users\�����\Documents\Arduino\libraries\ESPWebDAV-master/ESPWebDAV.h:2, from D:\TEMP\arduino_modified_sketch_639563\Printer_3D.ino:5: C:\Users\�����\Documents\Arduino\libraries\SdFat-master\src/FatLib/FatFileSystem.h: In member function 'fs::File FatFileSystem::open(const char*, oflag_t)': C:\Users\�����\Documents\Arduino\libraries\SdFat-master\src/FatLib/FatFileSystem.h:95:13: error: 'class fs::File' has no member named 'open' tmpFile.open(vwd(), path, oflag); ^ exit status 1 Ошибка компиляции для платы Generic ESP8266 Module.

библиотека SDFat конфликтует с внутренней файловой системой ЕСП

Читайте также:  Ноутбук раздатчик вай фай

Поищите в инетах, по-моему внутреннюю FS на ЕСП можно отключить. Кстати. посмотрите в вописании к библиотеке СД - вполне возможно, там это описано

ЕвгенийП аватар

Купить Wi-fi роутер с SD-слотом и радоваться жизни.

Купить Wi-fi роутер с SD-слотом и радоваться жизни.

разве такой потянешь финансово, разве что в кредит )))

Проблема решилась путем установки "правильной" версии ядра для ESP8266. Установил версию 2.4. Компиляция проходит без проблем.

Пример Simple работает отлично. А вот при попытке прошить скетч Printer_3D ESP8266 уходит в вечный ребут:

ets Jan 8 2013,rst cause:2, boot mode:(3,6) load 0x4010f000, len 1384, room 16 tail 8 chksum 0x2d csum 0x2d v8b899c12 ~ld

Я проверил питание. Все Ок. На всякий случай запитал от компьютерного БП (3.3 вольт) все то же самое.

Это просто какое то горе. У всех работает, у меня нет.

Установлено 1.8.1 IDE и 2.4.0 плата и все равно ошибка на строке

if(!dav.init(SD_CS, SPI_FULL_SPEED, SERVER_PORT))

no matching function for call to 'ESPWebDAV::init(int, long unsigned int, int)'

Пример не трогал,как скачал,так и есть

Очень прошу поделитесь знаниями. Голова пухнет.

код поменяли, а пример забыли - обычная история

вторым параметром метода ESPWebDAV::init() теперь передается не скрость SPI , а вся структура SPISettings()

И что делать? Что на что менять?

Может быть у Вас есть рабочий пример? Поделитесь пожалуйста!

попробуйте свою строчку переписать вот так:

if(!dav.init(SD_CS, SPISettings(SPI_FULL_SPEED, MSBFIRST, SPI_MODE0), SERVER_PORT))

Ошибка исчезла, появилась новая

if (!nFile.createContiguous(sd.vwd(), uri.c_str(), contBlocks * WRITE_BLOCK_CONST))

D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp:408:38: error: within this context

Ошибка исчезла, появилась новая

if (!nFile.createContiguous(sd.vwd(), uri.c_str(), contBlocks * WRITE_BLOCK_CONST))

D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp:408:38: error: within this context

это не все сообщение об ошибке. давайте полностью

D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp: In member function 'bool ESPWebDAV::init(int, SPISettings, int)': D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp:24:44: error: no matching function for call to 'SdFat32::begin(int&, SPISettings&)' return sd.begin(chipSelectPin, spiSettings); ^ D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp:24:44: note: candidates are: In file included from D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp:6:0: D:\arduino-1.8.1\libraries\SdFat\src/SdFat.h:58:8: note: bool SdBase::begin(SdCsPin_t) [with Vol = FatVolume; SdCsPin_t = unsigned char] bool begin(SdCsPin_t csPin = SS) < ^ D:\arduino-1.8.1\libraries\SdFat\src/SdFat.h:58:8: note: candidate expects 1 argument, 2 provided D:\arduino-1.8.1\libraries\SdFat\src/SdFat.h:73:8: note: bool SdBase::begin(SdCsPin_t, uint32_t) [with Vol = FatVolume; SdCsPin_t = unsigned char; uint32_t = unsigned int] bool begin(SdCsPin_t csPin, uint32_t maxSck) < ^ D:\arduino-1.8.1\libraries\SdFat\src/SdFat.h:73:8: note: no known conversion for argument 2 from 'SPISettings' to 'uint32_t ' D:\arduino-1.8.1\libraries\SdFat\src/SdFat.h:82:8: note: bool SdBase::begin(SdSpiConfig) [with Vol = FatVolume] bool begin(SdSpiConfig spiConfig) < ^ D:\arduino-1.8.1\libraries\SdFat\src/SdFat.h:82:8: note: candidate expects 1 argument, 2 provided D:\arduino-1.8.1\libraries\SdFat\src/SdFat.h:91:8: note: bool SdBase::begin(SdioConfig) [with Vol = FatVolume] bool begin(SdioConfig sdioConfig) < ^ D:\arduino-1.8.1\libraries\SdFat\src/SdFat.h:91:8: note: candidate expects 1 argument, 2 provided In file included from D:\arduino-1.8.1\libraries\SdFat\src/FatLib/FatLib.h:27:0, from D:\arduino-1.8.1\libraries\SdFat\src/SdFat.h:34, from D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp:6: D:\arduino-1.8.1\libraries\SdFat\src/FatLib/FatVolume.h: In member function 'void ESPWebDAV::handleRequest(String)': D:\arduino-1.8.1\libraries\SdFat\src/FatLib/FatVolume.h:336:12: error: 'FatFile* FatVolume::vwd()' is private FatFile* vwd() ^ D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp:90:23: error: within this context if(tFile.open(sd.vwd(), uri.c_str(), O_READ)) < ^ D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp: In member function 'void ESPWebDAV::sendPropResponse(boolean, FatFile*)': D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp:278:2: error: 'dir_t' was not declared in this scope dir_t dir; ^ D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp:278:8: error: expected ';' before 'dir' dir_t dir; ^ D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp:279:21: error: 'dir' was not declared in this scope curFile->dirEntry(&dir); ^ D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp:283:44: error: 'FAT_HOUR' was not declared in this scope tmStr.tm_hour = FAT_HOUR(dir.lastWriteTime); ^ D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp:284:45: error: 'FAT_MINUTE' was not declared in this scope tmStr.tm_min = FAT_MINUTE(dir.lastWriteTime); ^ D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp:285:45: error: 'FAT_SECOND' was not declared in this scope tmStr.tm_sec = FAT_SECOND(dir.lastWriteTime); ^ D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp:286:44: error: 'FAT_YEAR' was not declared in this scope tmStr.tm_year = FAT_YEAR(dir.lastWriteDate) - 1900; ^ D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp:287:44: error: 'FAT_MONTH' was not declared in this scope tmStr.tm_mon = FAT_MONTH(dir.lastWriteDate) - 1; ^ D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp:288:43: error: 'FAT_DAY' was not declared in this scope tmStr.tm_mday = FAT_DAY(dir.lastWriteDate); ^ In file included from D:\arduino-1.8.1\libraries\SdFat\src/FatLib/FatLib.h:27:0, from D:\arduino-1.8.1\libraries\SdFat\src/SdFat.h:34, from D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp:6: D:\arduino-1.8.1\libraries\SdFat\src/FatLib/FatVolume.h: In member function 'void ESPWebDAV::handlePut(ResourceType)': D:\arduino-1.8.1\libraries\SdFat\src/FatLib/FatVolume.h:336:12: error: 'FatFile* FatVolume::vwd()' is private FatFile* vwd() ^ D:\arduino-1.8.1\libraries\ESPWebDAV\ESPWebDAV.cpp:408:38: error: within this context if (!nFile.createContiguous(sd.vwd(), uri.c_str(), contBlocks * WRITE_BLOCK_CONST)) ^ exit status 1 Ошибка компиляции для платы NodeMCU 1.0 (ESP-12E Module).

Источник

Оцените статью
Adblock
detector