Подключаем 3D принтер к домашней WiFi сети.

Подписаться на 3Dtoday
AZOT
Идет загрузка
Загрузка
26.02.16
29671
59
Техничка
47
Так как принтер у меня стоит на кухне, а основной, рабочий компьютер, находится в комнате, закралась мне в голову шальная мысль, а не подключить ли мне его по воздуху?
Вариант с подключением через «Голубой зуб», отпадал. Расстояние большое, да и стабильность такого соединения оставляет желать лучшего. И вот, бродя по просторам интернетов, наткнулся я на модуль ESP8266. Стоит копейки, программируется легко, огромное сообщество, в том числе и на русском языке. Стал копать дальше, логично же, если есть такое чудо, то сообщество уже давно начало его использовать в качестве стандартного коннектора WiFi для 3D принтеров. А всё оказалось совсем не так. Как я не «гуглил», более-менее подробной инструкции, а желательно еще и на русском найти мне не удалось. Ну раз нет, то пытливый ум требует восполнить этот пробел. О чем я вам сейчас и поведаю. Далее под катом пошаговая инструкция по подключению ESP8266 к абсолютно любому 3D принтеру, электроника которого основана на связке Arduino Mega 2560 + Ramps 1.4 + ПО Marlin.

Итак, приступим.
Что нам понадобиться из железа:
- Рабочий 3D принтер, электроника которого основана на Arduino Mega 2560 + Ramps 1.4 + ПО Marlin;
- Модуль ESP8266;
Отступление один. Модулей великое множество и помимо его самой первой модификации ESP8266 ESP-01 продаются модули с подключением внешней антенны, с керамической антенной, с PCB антенной, без антенны. На разных модулях выведено разное количество GPIO. Подробную информацию можно найти по ссылке.

- USB-TTL конвертер (желательно с переключателем на 5 и 3,3 вольт, либо версия на 3,3 вольта) на базе FTDI, PL2303 или аналогичном чипе. Ищите USB-TTL адаптер, на котором есть выводы DTR и RTS.)
Отступление два. Для ESP8266, в качестве программатора, можно использовать ардуинку и Arduino IDE, про использование такой связки можно почитать на соответствующих форумах поссылке.
- Источник питания на 3,3 вольта.
Отступление три. Модуль ESP8266 питается напряжением от 3 до 3,6 вольт.
Подача на модуль напряжения выше обозначено превратит Ваш модуль в бесполезную железяку. Идеальным вариантом, для себя, считаю питание электроники от компьютерного БП. USB-TTL конвертер может не «потянуть» питание модуля (мой не потянул), поэтому пришлось питать отдельно.
- Резисторы на 10КОм, 470Ом, конденсатор на 0,1 мкФ, кнопки (либо джампера), провода, разъемы, макетная плата.
- Паяльник, олово, канифоль.
- Чуть, чуть прямые руки и умение их применять.

Что нам понадобиться из софта:
- Программа прошивки самого модуля nodemcu-flasher;
- Программа для заливки в модуль lua кодов LuaLoader;
- Сами lua коды.

Далее по шагам.

Шаг №1

Собираем плату по следующей схеме:
scheme-full.jpg
В зависимости от модификации модуля, на вашей плате может не хватать GPIO, как например у меня, это не страшно. Подключение неразведенных пинов не требуется, на моем ESP-01 разведены только: VCC, GND, GPIO0, GPIO2, CH_PD и RESET — подключаем только их. Для того, чтоб не щелкать лишний раз по питанию ставим дополнительный джампер на CH_PD.

Шаг №2

Подключаем наш USB-TTL конвертер к компьютеру (пока только его) и устанавливаем все необходимые драйвера. Если все хорошо, то в системе должен появиться новый виртуальный последовательный порт.
Проверяем выходное напряжение, оно не должно превышать 3,6 В!

Шаг №3

Отключаем USB-TTL конвертер и подключаем к нему модуль ESP8266, в соответствии со схемой. Подаем питание. Джампер GPIO0 должен быть разомкнут!

Шаг №4

Размыкаем дополнительный джампер, который мы установили на CH_PD. Замыкаем джампер GPIO0. Замыкаем джампер CH_PD.
Этими действиями мы переводим модуль ESP8266 в режим прошивки.

Шаг №5

Запускаем nodemcu-flasher.
Выставляем COM порт (обычно это действие не нужно, но вдруг). Программа сама скачает новую версию прошивки, если это необходимо.
Нажимаем flash.
Ждем, пока заполнится зеленая полоса прошивки и появится надпись flash Ок.
Если что то пошло не так, идем по ссылке и ищем свою проблему. Если схема и подключение выполнены правильно, а так же напряжение соответствует, то проблем быть не должно.

Основную проблему можно увидеть и диагностировать на этапе подключения. Если, после подключения USB-TTL конвертера, а затем подачи от него питания на модуль ESP8266 из системы пропал COM порт, то это значит, что конвертер не тянет модуль и нужен внешний источник питания на 3,3 В.

Выходим из программы.
Размыкаем дополнительный джампер, который мы установили на CH_PD. Размыкаем джампер GPIO0. Замыкаем джампер CH_PD.

Шаг №6

Запускаем LuaLoader.

Идем в Settings, Comm Port Setting. Выбираем порт, на который у нас подключен USB-TTL конвертер с модулем ESP8266.

В Baud Rate выставляем 9600, нажимаем Connect.
Если все сделано правильно то Baud Rate должен поменять цвет с красного на зеленый.
Далее, в поле SSID вводим SSID вашей сети, в поле password вводим password вашей сети.
Жмем Set IP. Жмем Зеленый символ WiFi.
После всех этих действий модуль ESP8266 должен появиться в вашей домашней сети. Проверить это можно любым из доступных способов, например зайти на роутер и посмотреть список подключенных устройств.
Следующим шагом нам нужно загрузить на модуль lua коды.
Жмем Disconnect (хотя это наверное можно и не делать).
Тыкаем в Upload File, находим скачанный раньше по ссылке файл init.lua и он сам загрузится на устройство, нужно только немного подождать.
Снова тыкаем в Upload File, находим скачанный раньше по ссылке файл WIFI_Reset.lua и снова ждем.
LuaLoader.jpg
Все, на этом наш модуль готов к подключению к нашему принтеру.

Шаг №7

Подключаем наш модуль к AUX1 Ramps 1.4. Не забудьте, что питание должно быть не выше 3,3 В!
Connect to printer-1.jpg
Включаем принтер, ждем пока он загрузится. Подаем питание на модуль.
Если у Вас принтер с экраном то в нижней строке экрана высветиться его IP адрес. Если же нет, то лезем на роутер и смотрим в подключенных по WiFi устройствах IP адрес нашего 3D принтера.
IP.jpg
Шаг №8

Так как я пользуюсь Repetier-Host, подключение к принтеру буду описывать на примере этой программы.

Запускаем Repetier-Host.
Идем в Конфигурация, Настройки принтера.
В закладке Соединение ставим Соединение TCP/IP.
В закладке IP адрес, ставим IP адрес, который на экране принтера либо который нашли в настройках роутера.
В закладке Порт пишем 9999.
Остальное можно не менять.
Нажимаем Применить. Закрываем вкладку.
Нажимаем Подсоединить.
PREVIEW
Пользуемся!

Полезные ссылки:
http://creatorbot.com/projects/electronics/add-esp8266-wifi-to-your-3d-printer
http://esp8266.ru/category/esp8266/esp8266-hardware/
http://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/
https://habrahabr.ru/company/coolrf/blog/238443/
Подписаться на 3Dtoday
47
Комментарии к статье

Комментарии

26.02.16 в 15:20
0
Не хватает фото. Загрузите в комменты - я добавлю в пост
26.02.16 в 20:59
0
scheme-full.jpg

что касательно схемы.
26.02.16 в 15:26
1
Браво! Ждем картинки. И с удовольствием повторю ваши шаги, достали кабели.
Вопрос еще - что вышло по деньгам?
26.02.16 в 21:26
1
По стоимости.
Модуль стоит порядка 150 рублей, детали вышли порядка 50 рублей.
В итоге получилось 200...
26.02.16 в 16:03
0
А из pronterface можно по wifi коннектиться?
26.02.16 в 18:30
0
pronterface для подключения к принтеру ищет com-порт. Нужен драйвер, который создаст в системе виртуальный ком-порт и будет транслировать его запросы по tcp/ip.
26.02.16 в 16:14
3
Вай фай не стабилен, принтер будет терять пакеты данных, что для 8 битной ардуинки очень чревато. Нет ничего надежнее старого доброго USB.
26.02.16 в 16:23
0
Разве протокол без коррекции?
26.02.16 в 22:24
0
Терять пакеты он не будет, если грамотно написана программная часть. А вот задержки будут 100%, что чревато наплывами и прочими изъянами.
27.02.16 в 13:12
0
там же буфер стоит, правда скорее всего маленький
p.s. остался совсем маленький шаг - по воздуху писать на подключенную флешку и разработать механическую систему очистки стола от детали и рафта.
29.02.16 в 00:19
0
а где вы видели грамотно написанные скетчи:)?))
29.02.16 в 23:17
0
Скетчи под ардуину пишут все кому ни лень, грамотность конечно страдает. Но тут бОльшую роль играет прошивка ESP модуля, а это стандартная nodemcu, все-таки не школьниками написана;)
26.02.16 в 17:09
0
Очень интересное решение, к нему полезно ещё камеру добавить. Тогда можно будет держать принтер в отдельном хорошо вентилируемом помещении и следить за ним удаленно.
26.02.16 в 18:52
0
Ардуина камеру не потянет :)
01.03.16 в 15:05
0
А вот с этим то как раз проблем и нет...
http://arduino-diy.com/arduino-modul-videokamery
01.03.16 в 15:13
0
Камера с UART... ЖЕСТЬ! С таким извратом я еще не сталкивался.
Для передачи изображения понадобится около 30 секунд.
По факту, если принципиально не использовать малинку-апельсинку, то можно найти старую или китайскую айпишную камеру и смотреть через нее.
01.03.16 в 22:17
0
Русский витязь прямых путей не ищет. :D
01.03.16 в 15:52
1
А можно приобрести типа такого девайса.
26.02.16 в 17:32
0
А по WiFi можно заливать файлы на SD карту?
Что то, я устал бегать от ПК к принтеру, но печатать хочу с карты.
26.02.16 в 17:38
0
Вряд ли.вы же присоединяя принтер к репетиру/пронтерфейсу не видите карту. Продаются карты с вай фаем, поищите.
26.02.16 в 17:57
1
26.02.16 в 18:46
0
Arduino больше 2gb не видит карты
26.02.16 в 19:01
0
Да ну?У меня меньше 8 дома нету, и ничего, работает.
26.02.16 в 19:12
0
Использую на 1gb
В инструкции к мейкерботу написано максимум 2gb
Решил что и тут так же
26.02.16 в 21:15
0
8 Гб, полет нормльный.
26.02.16 в 21:55
0
32 гига)
27.02.16 в 11:29
0
А по WiFi можно заливать файлы на SD карту?
Вот решение, но дорого. Если стоит рампс 1,4.
27.02.16 в 11:32
0
Красивая штука, но за такие деньги проще купить апельсинку и развернуть на ней Octoprint или Repetier-Server (в последнем случае можно прозрачно управлять через привычный Repetier-Host). Конечно, есть подводные камни, вроде муторной настройки некоторых вайфайных свистков, но в целом куда более гибкий вариант.
27.02.16 в 12:56
0
Не спорю ;) это вариант ответа на конкретный вопрос + бонус экран. :) Можно и апельсинку, малинку и что то там у интела вроде есть ;) Кому что понравилось. Вообще я думаю, не убьет ли новая вида ( типа 11 или 12 вариант ) связь с принтером? Уже столько устройств без поддержки......... :evil:
27.02.16 в 13:26
0
Прошивочки может кто русский вставит.
26.02.16 в 18:43
2
Octoprint - наше все. При трансляции жи-кода в реальном времени, пусть даже с некоторой буферизацией, может случиться "ой". С учетом полной и тотальной загаженности радиодиапазона, я бы не стал полагаться на надежность Wi-Fi.
26.02.16 в 18:44
0
А зачем подключать принтер к компу через wifi по средствам виртуального com-порта, если гораздо удобнее и надежнее печатать с sd карты.
Вот мне приходится ресетить ардуину после вставляния карты. Если бы можно было на sd карту скидывать файлы по wifi или usb
29.04.18 в 16:40
0
почему так ? какой ридер стоит ?
29.04.18 в 17:40
0
Не понял вопрос?
29.04.18 в 17:47
0
Вот мне приходится ресетить ардуину после вставляния карты. Если бы можно было на sd карту скидывать файлы по wifi или usb
29.04.18 в 20:05
0
у меня Ramps 2004 LCD Smart Controller (RepRap), так вот при вставлении карты ее принтер не видит. Иногда при включении тоже не видит. Каждый раз жму ресет на рампсе. Была статья на этом ресурсе, что в прошивке надо таймаут инициализации карты увеличить. Думаю поможет, но мне лень...
Что бы скидывать по вайфай можно купить карту с вайфай модулем - недавно было описание на этом портале.
29.04.18 в 21:43
0
куплено и установлено, и даже карта без дисплея :-) всё пашет на ура!
26.02.16 в 20:11
1
Супер! Отличная инструкция!

Статья хороша как опыт для понимания взаимодействия оборудования, возможно кому то будет полезна в использовании Arduino, но сомневаюсь, что в 3D-принтеростроении.
Я как то не удержался, попытался залить Gcode на SD карту, вставленную в принтер подключенный по USB. Не дождался, переткнул карту в комп. А по вафле она думаю быстрее писать на карту не станет.
26.02.16 в 21:25
0
Обидно будет когда отвалиться на 80 % . :D
26.02.16 в 21:36
4
Коллеги, всем спасибо за комментарии и вполне обоснованную критику.
Первоначальной целью было подключить сей волшебный девайс к принтеру, так как в интернетах нет внятной инструкции как это сделать.
Все плюсы и минусы, на которые вы обратили внимание, имеют место быть, но поскольку первоначальная цель уже достигнута, я буду рыть в сторону расширения возможностей данного решения.
27.02.16 в 10:06
0
Отлично подобранный материал, не у всех принтеры стоят рядом с компом, конечно печатаю с sd, иногда octoprint, а это решение в качестве резерва самое то!
27.02.16 в 10:12
0
Я вот думаю дальше двигаться в сторону создания виртуального порта и соединения его с принтером, тогда в полной мере можно будет использовать возможности девайса, в том числе запись на SD карту принтера для автономной печати. Если мне удастся этого добиться, обязательно поделюсь. Для справки. Нельзя одновременно использовать кабель и ESD, это однозначно приведет к конфликту.
27.02.16 в 10:15
0
Печатать что то серьезное по wifi не получится. А вот загрузить на SD и управлять принтером можно. Есть такой проект https://github.com/luc-github/ESP8266 . Правда сыроват. Пытался взять его за основу и допилить. Даже платочки есть под такой сервер, которые в разъем вставляются в рампсе. Много переписал. Но пока проект повесил на HOLD, времени не хватает :( В общем реализуемо вполне.
27.02.16 в 11:09
0
Так все ж упирается в скорость работы ардуйни с картой. А она никакущая. Вот если SD подцепить к ESP (не знаю, насколько реализуемо, я только светодиодами моргал), то можно попытаться сделать копеечный аналог малинки с октопринтом.
27.02.16 в 10:43
0
Спасибо за ссылку.
27.02.16 в 12:13
0
В дополнение. Репитер видит карту, которая стоит в принтере и файлы на ней, но при попытке сохранения Г-кода на эту карту выдается ошибка.
27.02.16 в 13:15
0
Репетир очень капризен к таймаутам которые неизбежно возникают в такой конфигурации. Правильнее это веб морда, с возможностью сохранения файла на SD карту принтера. Это работает, тут узкое место уже последовательный интерфейс самого принтера.
21.03.16 в 22:34
0
В итоге. Танцы с бубном, призыв Ктулху и прочие магические и не только действия к ощутимым результатам не привели. Грешу на свою криворукость. Пока данную тему положил в отдельный ящик с кучей вопросов, будет время буду копать дальше.
14.04.16 в 16:48
1
Прочитав статью задумался над ТТЛ,несколько посмотрел на работе- на выходе Тх от 4,6 до 10 вольт,добравшись до дома понял что на ардуине все есть и питание и рсс.,так что буду ей програмить
12.08.17 в 18:46
0
А какие изменения надо сделать в Marlin ?
13.08.17 в 21:30
0
Никаких
19.08.17 в 11:13
0
http://roboforum.ru/forum107/topic15976.html
кому этот способ интересен тут более подробно
можно собрать прошивку тут https://nodemcu-build.com/
27.08.17 в 01:24
0
CZ
Dobrý den. Prosím Vás nelze stáhnout soubor LUA Code and Eagle PCB files.zip . Můžete jej prosím někde umístit. Děkuji.

Google translate:
Добрый день. Загрузите файл LUA Code and Eagle PCB files.zip . Пожалуйста, поместите его где-нибудь. Благодарю вас.
27.11.17 в 10:44
0
По просьбам трудящихся загрузил LUA Code and Eagle PCB files.
13.03.18 в 14:58
0
Добрый день.....ссылка на коды недоступна, можно еще раз?
13.03.18 в 18:40
0
13.03.18 в 19:51
0
Спасибо Вам огромное.
16.03.18 в 00:22
0
Появилась мега уже со встроенным вай-фай модулем.
30.04.18 в 21:56
1
Я писал эту инструкцию два года назад и очень рад, что тогда она имела актуальность.

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

3D Systems предлагает настольные фотополимерные 3D-принтеры FabPro 1000

Новая версия 3D принтера SkyOne

Lockheed Martin оснащает спутники 3D-печатными титановыми баками

3D-принтер итальянца в России: Raise3D N1 Dual — моделирование и прототипирование

Макет авиационного двигателя

"Третья рука" или держалка для плиты D7(Plus)