В этой заметке расскажу как заставить работать контроллер Duet 3 в связке с одноплатным микро-ПК Raspberry Pi. В принципе, контроллер может работать и в одиночном режиме, но тогда он сможет подключаться к сети только по Ethernet-кабелю, т.к. на нём не установлен модуль WiFi и будут отсутствовать некоторые программные возможности. Но, мне нужен именно WiFi, поэтому так.

Для настройки необходимы карт-ридер, плоский шлейф с IDC-разъёмами (в комплекте с «Дуэтом» уже есть) длиной не более 150 мм, блок питания на 24В, клавиатура с мышью и HDMI-кабель для подключения к «Малине». Из софта: SD Card Formatter для форматирования карты памяти, Win32 Disk Imager для развёртывания образа операционной системы (ОС) на карту памяти, редактор Notepad++ для редактирования файлов конфигурации, PuTTY для подключения к «Малине» по протоколу SSH.

К сожалению, в ОС доступ по протоколу SSH по умолчанию отключён, поэтому понадобится подключить «Малину» к монитору и, соответственно, клавиатуру и мышь к ней, чтобы внести нужные корректировки в системе. Я разработал своё крепление для сборки «Дуэта» и «Малины» на DIN-рейку и его же использовал в качестве тестового стенда. Удобнее всего сделать первоначальную настройку именно на стенде, чтобы потом не корячиться, подключая монитор и периферию к уже собранному принтеру.

Также нам нужен сам образ ОС для «Малины». Duet3d предлагают два варианта ОС (прямые ссылки): DuetPi и DuetPi Light . Отличие образов в том, что DuetPi имеет графическую оболочку и автоматом загружает браузер, открывающий страницу панели управления «Дуэтом». Это очень удобно, если есть желание оснастить принтер тач-дисплеем и иметь возможность управлять принтером, не отходя от него. DuetPi Lite графической оболочки не имеет и если подключить дисплей к «Малине», то увидите только консоль. Так что скачивайте то, что больше подходит для ваших нужд. Лично у меня есть 7-дюймовый тач-дисплей и как-нибудь потом я прикручу его к принтеру.

К слову, в комплекте с «Дуэтом» поставляется карта памяти, на которой уже есть ОС для «Малины» (также есть раздел и для самого «Дуэта» для варианта, когда управляющей «Малины» нет), можно использовать её. Лично мне не нравится тип карты – она не предназначена для SBC вроде «Малины», так что я купил карточку SanDisk UHS-I (U3) с маркировкой А1 – как раз то, что надо.

И вот тут есть один важный момент – если «Дуэт» управляется «Малиной», в нём не должно быть никаких карт. Я так угробил 2 часа на поиск ответа почему панель управления видит контроллер, получает от него данные, а отправить не может.

Первым делом подготовим карту памяти. Процесс очень простой:

  1. Подключаем карт-ридер и вставляем в него карту памяти.
  2. Запускаем SD Card Formatter
  3. Если кроме нашей карты вставлены ещё какие-то карты, то в выпадающем списке “Select card” надо выбрать нужную. Если карта только одна, то программа автоматически её выберет.
  4. В разделе “Formatting options” проверяем, чтобы была выбрана опция “Quick format”.
  5. Нажимаем кнопку “Format” и ждём завершение форматирования.
  6. Теперь надо развернуть образ ОС на карту памяти. Скачиваем нужный образ и распаковываем его в какую-нибудь папку.
  7. Запускаем Win32 Disk Imager.
  8. В разделе “Image File” нажимаем на кнопку с иконкой папки и выбираем файл образа, который мы распаковали.
  9. Проверяем букву диска в разделе “Device” – нам нужна наша карта памяти.
  10. Нажимаем кнопку “Write” и ждём окончания развёртывания образа операционной системы.

После окончания не торопимся вынимать карту памяти из карт-ридера. Теперь предстоит настроить подключение «Малины» к WiFi сети.

Запускаем редактор Notepad++

Заходим в меню “Edit” -> “EOL Conversion” и выбираем “Unix (LF)”

Копируем вот этот код:

country=RU
update_config=1
ctrl_interface=/var/run/wpa_supplicant
network={
 ssid="SSID_OF_NETWORK"
 psk="PASSWORD_OF_NETWORK"
}

И вставляем его в Notepad++.

Теперь надо заменить значения в кавычках в двух строчках:

SSID_OF_NETWORK меняем на название точки доступа WiFi.

PASSWORD_OF_NETWORK меняем на пароль для доступа к этой точке.

Теперь надо сохранить этот файл под именем “wpa_supplicant.conf” – нажимаем на иконку сохранения файла, выбираем диск, которые соответствует карте памяти, выбираем тип файлов “All files (*.*)” – находится на самом верху выпадающего списка типов файлов, вводим в поле имени “wpa_supplicant.conf” (без кавычек) и сохраняем файл. В проводнике проверяем появился ли файл и правильное ли у него имя.

Вот теперь можно вытащить карту памяти из карт-ридера, вставить её в «Малину» и переходить к сборке «тестового стенда».

Слева иллюстрация того, каким образом надо разместить платы на креплении. Не забудьте до установки плат прикрутить детали крепления на DIN-рейку (“lrs_psu_bracket_clip”) – я разрабатывал крепление под них. Справа иллюстрация как должен быть проложен шлейф. У меня были 40-пиновые IDC-разъёмы, так что я укоротил шлейф до нужной мне длины и поставил новый разъём.

Обратите внимание на положение первого проводника – он отмечен красным цветом. Важно не напутать ничего, иначе в лучшем случае ничего не заработает, а в худшем что-нибудь сгорит! То же самое касается подключения блока питания – его надо подключить к терминалам “VIN” «Дуэта» строго соблюдая полярность!

Итак, собрали, СНОВА ПРОВЕРИЛИ правильность подключения проводов питания и шлейфа и только после этого включаем.

«Малина» в зависимости от самой модели, карты памяти и выбранной операционной системы загружается 30 – 60 секунд. Поэтому ждём и спустя это время открываем браузер на компьютере (планшете или что там у вас) и вводим адрес “duet3.local”. Если всё было сделано правильно, должна появиться вот такая страница.

Если была установлена ОС с графическим интерфейсом, то на мониторе увидим такую же картинку. Если без интерфейса, то увидим только консоль и приглашение ввести имя пользователя. Если в браузере не видим начальную страницу, а в консоли ошибки, то повторяем процедуру первоначальной настройки заново, с форматирования карты. Если повторная установка не увенчается успехом, тогда придётся изучать форумы и пытаться найти причину неисправности.

Следующий шаг — настройка доступа по SSH, которая тоже не должна вызвать трудностей. Все действия мышкой и на клавиатуре выполняются на «Малине». Первые два шага для ОС с графическим интерфейсом, а третий шаг будет первым для ОС без интерфейса и, соответственно, 4-й и последующий одинаковы для обеих систем.

  1. Нажимаем «F11» чтобы выйти из полноэкранного режима браузера и вверху экрана увидим панель задач и иконки на ней слева.
  2. Кликаем мышкой на иконке запуска консоли – квадрат с голубой полоской вверху и символами “>_” на тёмном фоне.
  3. Вводим логин “pi”, нажимаем “Enter” и вводим пароль “raspberry”. Вводимые символы пароля не отображаются. Ввод логина с паролем нужен только для ОС без графического интерфейса, в системе с графическим интерфейсом пользователь уже активен.
  4. Набираем команду sudo raspi-config и нажимаем «Enter»
  5. Стрелочками выбираем третий пункт “Interface Options”
  6. Далее выбираем второй пункт “SHH”
  7. В появившемся окне выбираем кнопку “YES” и через секунду-две окно должно обновиться и появится надпись “The SSH server is enabled”
  8. Далее клавишей “Tab” выбираем кнопку “Finish” и выходим из настроек.
  9. Если не появилось предложение перезагрузить «Малину», то в консоли выполняем команду “sudo reboot”.

Теперь надо проверить соединение по SSH. Запускаем на компьютере PuTTY и в поле “Host Name (or IP address)” вводим “duet3.local”. Если всё было сделано правильно, то должно появиться окно консоли:

Console

На этом первоначальная настройка закончена. Отключаем питание и можно устанавливать контроллер в принтер.