16 885
правок
(не показана 41 промежуточная версия 3 участников) | |||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE:Отладочный порт в контроллерах Wiren Board}} | |||
{{DISPLAYTITLE:Отладочный порт}} | |||
== Описание == | == Описание == | ||
У контроллеров Wiren Board есть отладочный порт | У контроллеров Wiren Board есть отладочный порт. Он обозначен как «Debug console». | ||
<gallery mode="packed" caption="" heights="150px" perrow=1> | |||
<gallery mode="packed" caption=" | |||
Image: WirenBoard7DebugConsole.png | Wiren Board 7.x | Image: WirenBoard7DebugConsole.png | Wiren Board 7.x | ||
Image: WirenBoard6DebugConsole.png | Wiren Board 6.x | Image: WirenBoard6DebugConsole.png | Wiren Board 6.x | ||
Строка 19: | Строка 8: | ||
</gallery> | </gallery> | ||
[[ | Подключившись к нему, как и в случае [[SSH | SSH]] подключения, вы превращаете свой компьютер в монитор и клавиатуру контроллера. И получаете доступ к его консоли (командной строке). А в отличие от SSH, вы сможете увидеть информацию, выводимую контроллером на экран при его начальной загрузке. | ||
Нужен этот порт для аварийных ситуаций, когда подключения по сети недоступны. Например, если вы неверно сконфигурировали сеть, и контроллер не может к ней подключиться. Или, если возникла какая-то проблема, мешающая контроллеру нормально загрузиться. Для обычной работы использовать это подключение мы не рекомендуем, используйте [[Веб-интерфейс Wiren Board | веб-интерфейс]] или SSH. | |||
== Подключение == | |||
{{YouTube | |||
|link=https://youtu.be/VA_XHrY1RVA?t=135 | |||
|text= Про командную строку, SSH и Debug Console}} | |||
Если у вас контроллер Wiren Board 5.6 и старее, обратитесь к [[WB5.6_Debug_Console| статье ]]. | |||
Подключение выполняется стандартными кабелями, их легко купить. В комплекте с вашим смартфоном может быть такой. | |||
{{note|warn| Бывают кабели с такими же разъёмами, но предназначенные только для зарядки — они не подойдут. }} | |||
Для подключения '''Wiren Board 7''' к компьютеру нужен кабель '''USB Тип A – USB Тип C'''. | |||
Для подключения более ранних контроллеров - '''USB тип A – Micro-USB Тип B'''. | |||
Самый простой способ проверить, подходит ли кабель для подключения к контроллеру — подключить к компьютеру через этот кабель мобильный телефон. Если компьютер обнаружил новое устройство — кабель можно использовать и для контролера. | |||
== Настройка порта, программное обеспечение == | |||
Необходимо определить, к какому порту компьютера подключен Wiren Board, и настроить этот порт в соответствии с настройками Debug console. | |||
{| border="1" class="wikitable" | {| border="1" class="wikitable" | ||
|+ Параметры | |+ Параметры порта Debug console | ||
! Параметр|| Значение || Описание | ! Параметр|| Значение || Описание | ||
|- | |- | ||
|- | |- | ||
| Baud rate || 115200 || Скорость, бит/с | | Baud rate || 115200 || Скорость, бит/с | ||
Строка 112: | Строка 50: | ||
|} | |} | ||
< | === Windows === | ||
Если у вас на компьютере '''Windows 10''', а контроллер '''Wiren Board 6.4 или новее''', то система сама, после физического подключения, назначит виртуальный COM порт и установит необходимый драйвер. Увидеть номер этого порта можно в Диспетчере устройств Windows: | |||
[[Файл:Dispatcher.png|left]] | |||
<br clear="both" /> | |||
</ | |||
При использовании '''Windows XP, 7, 8''' скачайте и установите драйвер. Для установки драйвера вам потребуются навыки администрирования ОС Windows, ссылки на файлы: | |||
* для [https://wirenboard.com/wiki/images/3/38/HT42B534_inf.zip Wiren Board 6.4 или новее]; | |||
* для [http://www.wch.cn/downloads/CH341SER_ZIP.html более ранних версий]. | |||
Далее подключайте контроллер, и в Диспетчере устройств Windows вы должны увидеть виртуальный COM порт, как на иллюстрации выше. | |||
В качестве программы для общения с контроллером мы рекомендуем использовать [https://mobaxterm.mobatek.net/ MobaXterm] от компании Mobatek. ЕЕ возможности очень обширны. В платной версии их больше, но для наших целей достаточно и бесплатной версии. | |||
Нам нужно создать новую сессию '''Sessions''' → '''New session''' → '''Serial''': | |||
[[Файл:Sessions.png|left]] | |||
<br clear="both" /> | |||
и настроить ее: | |||
[[Файл:Basic.png|left]] | |||
<br clear="both" /> | |||
Во вкладке '''Terminal settings''' вы можете настроить шрифт, цвета и, при необходимости, указать файл для записи всего, что будет выводится на экран во время сеанса: | |||
[[Файл:SessionLog.png|left]] | |||
<br clear="both" /> | |||
А во вкладке '''Bookmark settings''' укажите внятное название сессии: | |||
[[Файл:SessionName.png|left]] | |||
<br clear="both" /> | |||
=== Linux === | |||
Порт должен назначиться автоматически. В выводе команды dmesg контроллеров '''Wiren Board 6.4 или новее''' должна появиться строка: | |||
<syntaxhighlight lang="console"> | |||
cdc_acm:3-6:1.0: ttyACM0: USB ACM device | |||
</syntaxhighlight> | |||
В '''более ранних''' версиях: | |||
<syntaxhighlight lang="console"> | |||
usb 1-1: ch341-uart converter now attached to ttyUSB0 | |||
</syntaxhighlight> | |||
Номер порта ttyUSBx или ttyACMx может меняться, в зависимости от того, что у вас подключено к контроллеру. | |||
Для работы с Debug console мы рекомендуем использовать Minicom. Команда для подключения будет выглядеть так: | |||
<syntaxhighlight lang="console"> | |||
minicom -D /dev/ttyACM0 -b 115200 -8 -a off | |||
</syntaxhighlight> | |||
Скорее всего, для доступа к порту вам понадобятся права суперпользователя - используйте sudo. | |||
Более подробно про Minicom смотрите в нашем [[Minicom | руководстве]]. | |||
==== Linux — возможные проблемы ==== | |||
Сервис '''ModemManager''' может мешать работе с портом. Если у вас WirenBoard 6.4 или новее — правильно сконфигурируйте udev. | |||
* Создайте файл исключений udev: | |||
<syntaxhighlight lang="bash"> | |||
sudo nano /etc/udev/rules.d/99-wb-debug-usb.rules | |||
</syntaxhighlight> | |||
* Добавьте в него строчку: | |||
<syntaxhighlight lang="bash"> | |||
ATTRS{idVendor}=="04d9" ATTRS{idProduct}=="b534", ENV{ID_MM_DEVICE_IGNORE}="1" | |||
</syntaxhighlight> | |||
* После сохранения файла перезагрузите правило udev: | |||
<syntaxhighlight lang="bash"> | |||
sudo udevadm control --reload-rules | |||
</syntaxhighlight> | |||
В свежих операционных системах Linux может потребоваться отредактировать файл: | |||
<syntaxhighlight lang="bash"> | |||
/lib/systemd/system/ModemManager.service | |||
</syntaxhighlight> | |||
Подробности здесь: | |||
[https://bugs.launchpad.net/ubuntu/+source/modemmanager/+bug/1827328 ModemManager does not honor blacklisted ttys] | |||
[https://nick.zoic.org/art/failed-to-set-dtr-rts-systemd-modemmanager SystemD ModemManager: failed to set dtr/rts] | |||
=== MacOS === | |||
{{note|warn| Если у вас Wiren Board 7 и Mac с USB Тип C на процессоре Intel - нужно отключить питание контроллера, он будет питаться от USB. При наличии питания порт операционной системой не определяется. На более старые Mac и Mac на процессорах Apple эта особенность не распространяется. }} | |||
Начиная с версии MacOS '''10.14 Mojave''' все должно определиться автоматически. Предыдущие версии, возможно, потребуют установки драйвера [http://www.wch.cn/download/ch341ser_mac_zip.html CH341SER_MAC]. | |||
При подключении создается устройство: | |||
{| border="1" class="wikitable" | |||
! Wiren Board 7 || Wiren Board 6.4 и новее || Более ранние | |||
|- | |||
| /dev/tty.usbmodemWB71 || /dev/tty.usbmodem00001 || /dev/tty.usbserial-1410 | |||
|- | |||
|} | |||
Встроенная утилита cu позволит вам работать с Debug console: | |||
<syntaxhighlight lang="bash"> | |||
sudo cu -s 115200 -l /dev/tty.usbserial-1410 | |||
</syntaxhighlight> | |||
Для выхода из cu введите символы | |||
<syntaxhighlight lang="bash"> | |||
~! | |||
</syntaxhighlight> | |||
==== MacOS — возможные проблемы ==== | |||
Порт может не определиться. Потребуется установка драйвера. Для этого (начиная с MacOS '''High Sierra 10.13''') нужно дать на это разрешение в <code>Settings → Security&Privacy → Allow apps downloaded from:</code> | |||
[[Файл:Allow.png|left]] | |||
<br clear="both" /> | |||
И вот хорошая [https://kig.re/2014/12/31/how-to-use-arduino-nano-mini-pro-with-CH340G-on-mac-osx-yosemite.html статья] - человек подключает Arduino к MacOS. Хоть устройство и другое, но там используется точно такой же чип. Возможно, там есть ответы на ваши вопросы. | |||
=== Android === | |||
[[Файл:OTG.png|150px|thumb|right| OTG-кабель]] | |||
Начиная с Android версии 9 все работает без установки дополнительных драйверов. Подключение через OTG. Тестировалось с приложением [https://play.google.com/store/apps/details?id=jp.sugnakys.usbserialconsole&hl=en_US USB Serial Console], если ссылка не работает - ищите в Google Play. | |||
<br clear="both" /> | |||
== Работа с отладочным портом == | |||
[[Файл:DebugConsoleWindowLogin.png|500px|thumb|right| Отладочная консоль]] | |||
Итак: | |||
* Контроллер к компьютеру подключен; | |||
* Программа запущена; | |||
* Настройки порта программы соответствуют настройкам порта Debug console. | |||
Теперь можно начинать работу. | |||
''' Если контроллер исправен ''' | |||
Если контроллер работает нормально — вы будете видеть сообщения, выводимые операционной системой контроллера на консоль. Нажав клавишу ENTER, вы увидите приглашение операционной системы, типа такого: | |||
<syntaxhighlight lang="console"> | |||
Debian GNU/Linux 11 wirenboard-AQ4RCD2E ttyS0 | |||
wirenboard-AQ4RCD2E login: | |||
</syntaxhighlight> | |||
Вводите логин, пароль ({{Wbincludes:Controller SSH Default Login Password|short=true}}) — командная строка в вашем распоряжении. Можете настроить сеть, исправить конфигурационные файлы, посмотреть логи и т. д. | |||
ВАЖНО! При работе с Debug console на экран время от времени будут «выпадать» сообщения от работающих сервисов Linux. Особенно, если сервис работает с ошибкой. Вы можете продолжать ввод команды с клавиатуры — все будет отработано корректно. Для отключения вывода «лишних» сообщений на экран используйте команду <code>dmesg -n1</code>. Теперь будут выводится только те сообщения, которые требуют немедленного вмешательства. | |||
Логи можно смотреть через [[Journalctl]]. | |||
''' Если контроллер неисправен ''' | |||
Если контроллер нормально не функционирует - отключите питание контроллера выключателем. | |||
{{note|info| Для Wiren Board 7 также отключите кабель USB (контроллер получает питание от USB, в обход выключателя). }} | |||
Включите питание контроллера. Начнется загрузка контроллера. | |||
{{note|info| Для Wiren Board 7 сначала присоедините кабель (сразу начнется загрузка контроллера), затем включите выключатель (для питания модулей расширения).}} | |||
Наблюдайте сообщения, появляющиеся на экране при загрузке контроллера. Текст меняется быстро, отследить его невозможно. Но, если возникнет критическая ошибка — загрузка остановится, и сообщение об ошибке будет у вас перед глазами. | |||
Пролистывая экран назад вы можете просмотреть все сообщения, выведенные при загрузке. Обращайте внимание на слова error, warning, filed. Не можете сами разобраться — записывайте сеанс в лог файл и обращайтесь в нашу техподдержку. | |||
== Физическая реализация в контроллерах == | == Физическая реализация в контроллерах == | ||
{| class="wikitable" | {| border="1" class="wikitable" | ||
! Версия контроллера | ! Версия контроллера || Тип разъема || Название разъема || Интерфейс || Чип USB/UART | ||
|- | |||
| 7.x || USB-C || Debug Console || USB/UART || HT42B534 | |||
|- | |- | ||
| 6.4 | | 6.4-6.9 || Micro-USB || Debug Console || USB/UART || HT42B534 | ||
| | |||
| | |||
|- | |- | ||
| | | 5.8-6.3 || Micro-USB || Debug Console || USB/UART || CH340 | ||
|- | |- | ||
| 5.6.1 | | 5.6.1 || 3-pin UART (Gnd, Rx, TX) || UART || UART (3,3B) || - | ||
| | |||
| | |||
| | |||
|- | |- | ||
| 5.3, | | 4, 5.3 || 3-pin UART (Gnd, Rx, TX) || Debug UART || UART (3,3B) || - | ||
|- | |- | ||
| 3.5 | | 2.8, 3.5 || 3-pin UART (Gnd, Rx, TX) || UEXT1 (выводы 2,3,4) и 3-pin разъем без названия|| UART (3,3B) || - | ||
|- | |- | ||
|} | |} | ||
Программно во всех случаях это последовательный порт. | Программно во всех случаях это последовательный порт. | ||