Debug Console: различия между версиями
(опечатка) |
Dust (обсуждение | вклад) |
||
(не показаны 33 промежуточные версии 3 участников) | |||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE:Отладочный порт | {{DISPLAYTITLE:Отладочный порт}} | ||
У контроллеров Wiren Board есть отладочный порт. Он обозначен как «Debug console». | У контроллеров Wiren Board есть отладочный порт. Он обозначен как «Debug console». | ||
<gallery mode="packed" caption="" heights="150px" | |||
<gallery mode="packed" caption="" heights="150px"> | |||
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 | ||
Image: Debugusb58.png | Wiren Board 5.8 и 5.9 | Image: Debugusb58.png | Wiren Board 5.8 и 5.9 | ||
</gallery> | </gallery> | ||
Подключившись к нему, как и в случае [[SSH | SSH]] подключения, вы превращаете свой компьютер в монитор и клавиатуру контроллера. и получаете доступ к его консоли (командной строке). А в отличие от SSH, вы сможете увидеть информацию, выводимую контроллером на экран при его начальной загрузке. | |||
Нужен этот порт для аварийных ситуаций, когда подключения по сети недоступны. Например, если вы неверно сконфигурировали сеть, и контроллер не может к ней подключиться. Или, если возникла какая-то проблема, мешающая контроллеру нормально загрузиться. Для обычной работы использовать это подключение мы не рекомендуем, используйте [[Веб-интерфейс Wiren Board | веб-интерфейс]] или SSH. | |||
Если у вас Wiren Board 5.6 или еще более ранний — обратитесь к [[WB5.6_Debug_Console| статье]]. | |||
== Подключение == | == Подключение == | ||
Для подключения '''Wiren Board 7''' к компьютеру нужен кабель USB (A) – USB-c. | |||
| | [[Файл:USBA-USBC.png|250px|thumb|left|Кабель USB (A) - USB-C]] | ||
| | <br clear="both" /> | ||
Для подключения более ранних контроллеров - USB (A) – Micro-USB (B). | |||
[[Файл:USBA-MICROUSBB.png|250px|thumb|left|Кабель USB (A) - Micro-USB (B)]] | |||
<br clear="both" /> | |||
Это стандартные кабели, их легко купить. В комплекте с вашим смартфоном может быть такой. Бывают кабели с такими же разъёмами, но предназначенные только для зарядки - с ними могут быть проблемы. | |||
Далее надо настроить операционную систему и программу. | |||
== Настройка == | |||
=== Windows === | |||
Если у вас на компьютере '''Windows 10''', а контроллер '''Wiren Board 6.4 или новее''', то система сама, после физического подключения, назначит виртуальный COM порт и установит необходимый драйвер. Увидеть это можно в Диспетчере устройств Windows: | |||
??? | |||
При использовании '''Windows XP, 7, 8''' скачайте и установите драйвер: | |||
* для [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): | |||
??? | |||
и настроить ее: | |||
??? | |||
Во вкладке “Terminal settings” вы можете настроить шрифт, цвета и, при необходимости, указать файл для записи всего, что будет выводится на экран во время сеанса: | |||
??? | |||
А во вкладке “Bookmark settings” укажите внятное название сессии: | |||
??? | |||
=== Linux === | === Linux === | ||
Строка 85: | Строка 62: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
В '''более | В '''более старших''' версиях: | ||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
usb 1-1: ch341-uart converter now attached to ttyUSB0 | usb 1-1: ch341-uart converter now attached to ttyUSB0 | ||
Строка 94: | Строка 71: | ||
Для работы с Debug console мы рекомендуем использовать Minicom. Команда для подключения будет выглядеть так: | Для работы с Debug console мы рекомендуем использовать Minicom. Команда для подключения будет выглядеть так: | ||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
minicom -D /dev/ | minicom -D /dev/ttyUSB0 -b 115200 -8 -a off | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Скорее всего, для доступа к порту вам понадобятся права суперпользователя - используйте sudo. | Скорее всего, для доступа к порту вам понадобятся права суперпользователя - используйте sudo. | ||
Строка 100: | Строка 77: | ||
Более подробно про Minicom смотрите в нашем [[Minicom | руководстве]]. | Более подробно про Minicom смотрите в нашем [[Minicom | руководстве]]. | ||
=== Linux - возможные проблемы === | |||
Сервис '''ModemManager''' может мешать работе с портом. Если у вас WirenBoard 6.4 или новее — правильно сконфигурируйте udev. | Сервис '''ModemManager''' может мешать работе с портом. Если у вас WirenBoard 6.4 или новее — правильно сконфигурируйте udev. | ||
* Создайте файл исключений udev: | * Создайте файл исключений udev: | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="console"> | ||
sudo nano /etc/udev/rules.d/99-wb-debug-usb.rules | sudo nano /etc/udev/rules.d/99-wb-debug-usb.rules | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* Добавьте в него строчку: | * Добавьте в него строчку: | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="console"> | ||
ATTRS{idVendor}=="04d9" ATTRS{idProduct}=="b534", ENV{ID_MM_DEVICE_IGNORE}="1" | ATTRS{idVendor}=="04d9" ATTRS{idProduct}=="b534", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* После сохранения файла перезагрузите правило udev: | * После сохранения файла перезагрузите правило udev: | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="console"> | ||
sudo udevadm control --reload-rules | sudo udevadm control --reload-rules | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Для '''более старших''' контроллеров необходимо отредактировать файл: | |||
<syntaxhighlight lang=" | <syntaxhighlight lang="console"> | ||
/lib/systemd/system/ModemManager.service | /lib/systemd/system/ModemManager.service | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 127: | Строка 104: | ||
=== MacOS === | === MacOS === | ||
''ВАЖНО! Если у вас Wiren Board 7 и Mac с USB Type-C на процессоре Intel - нужно отключить питание контроллера, он будет питаться от USB. При наличии питания порт операционной системой не определяется. На более старые Mac и Mac на процессорах Apple эта особенность не распространяется.'' | |||
Начиная с версии MacOS '''10.14 Mojave''' все должно определиться автоматически. Предыдущие версии, возможно, потребуют установки драйвера [http://www.wch.cn/download/ch341ser_mac_zip.html CH341SER_MAC]. | Начиная с версии MacOS '''10.14 Mojave''' все должно определиться автоматически. Предыдущие версии, возможно, потребуют установки драйвера [http://www.wch.cn/download/ch341ser_mac_zip.html CH341SER_MAC]. | ||
Строка 140: | Строка 117: | ||
Встроенная утилита cu позволит вам работать с Debug console: | Встроенная утилита cu позволит вам работать с Debug console: | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="console"> | ||
sudo cu -s 115200 -l /dev/tty.usbserial-1410 | sudo cu -s 115200 -l /dev/tty.usbserial-1410 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Для выхода из cu введите символы | Для выхода из cu введите символы | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="console"> | ||
~! | ~! | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== MacOS - возможные проблемы === | |||
Порт может не определиться. Потребуется установка драйвера. Для этого (начиная с MacOS '''High Sierra 10.13''') нужно дать на это разрешение в < | Порт может не определиться. Потребуется установка драйвера. Для этого (начиная с MacOS '''High Sierra 10.13''') нужно дать на это разрешение в | ||
<syntaxhighlight lang="console"> | |||
Settings → Security&Privacy → Allow apps downloaded from: | |||
</syntaxhighlight> | |||
??? | |||
И вот хорошая [https://kig.re/2014/12/31/how-to-use-arduino-nano-mini-pro-with-CH340G-on-mac-osx-yosemite.html статья] - человек подключает Arduino к MacOS. Хоть устройство и другое, но там используется точно такой же чип. Возможно, там есть ответы на ваши вопросы. | И вот хорошая [https://kig.re/2014/12/31/how-to-use-arduino-nano-mini-pro-with-CH340G-on-mac-osx-yosemite.html статья] - человек подключает Arduino к MacOS. Хоть устройство и другое, но там используется точно такой же чип. Возможно, там есть ответы на ваши вопросы. | ||
=== Android === | === Android === | ||
Начиная с Android версии 9 все работает без установки дополнительных драйверов. Подключение через OTG: | |||
Начиная с Android версии 9 все работает без установки дополнительных драйверов. Подключение через OTG | |||
??? | |||
Тестировалось с приложением [https://play.google.com/store/apps/details?id=jp.sugnakys.usbserialconsole&hl=en_US USB Serial Console], если ссылка не работает - ищите в Google Play. | |||
== Работа с отладочным портом === | |||
Контроллер к компьютеру вы подключили, программу настроили, движемся дальше. | |||
# Включаете питание контроллера. Наблюдаете сообщения, появляющиеся на экране при загрузке контроллера. Текст меняется быстро, отследить его невозможно. Но, если возникнет критическая ошибка при загрузке — загрузка остановится, и сообщение об ошибке будет у вас перед глазами. | |||
# Если загрузка прошла нормально — вы увидите приглашение контроллера. Вводите логин, пароль — командная строка в вашем распоряжении: | |||
??? | |||
Можете настроить сеть, исправить конфигурационные файлы, посмотреть логи и т. д. | |||
ВАЖНО! При работе с Debug console на экран время от времени будут «выпадать» сообщения от работающих сервисов Linux. Особенно, если сервис работает с ошибкой. Вы можете продолжать ввод команды с клавиатуры — все будет отработано корректно. Для отключения вывода | ВАЖНО! При работе с Debug console на экран время от времени будут «выпадать» сообщения от работающих сервисов Linux. Особенно, если сервис работает с ошибкой. Вы можете продолжать ввод команды с клавиатуры — все будет отработано корректно. Для отключения вывода “лишних” сообщений на экран используйте команду: | ||
<syntaxhighlight lang="console"> | |||
dmesg -n1 | |||
</syntaxhighlight> | |||
Теперь будут выводится только те сообщения, которые требуют немедленного вмешательства. | |||
Пролистывая экран назад вы можете просмотреть все сообщения, | 3. Пролистывая экран назад вы можете просмотреть все сообщения, «выпавшие» при загрузке. Обращайте внимание на error, warning, filed. Не можете сами разобраться — записывайте сеанс в лог файл и обращайтесь в нашу техподдержку. | ||
== Физическая реализация в контроллерах | == Технические спецификации == | ||
Физическая реализация в контроллерах | |||
{| border="1" class="wikitable" | {| border="1" class="wikitable" | ||
! Версия контроллера || Тип разъема || Название разъема || Интерфейс || Чип USB/UART | ! Версия контроллера || Тип разъема || Название разъема || Интерфейс || Чип USB/UART | ||
Строка 212: | Строка 180: | ||
|} | |} | ||
Программно во всех случаях это последовательный порт. | Программно во всех случаях это последовательный порт. | ||
=== Параметры подключения === | |||
{| border="1" class="wikitable" | |||
|+ Параметры подключения к Debug-консоли контроллера Wiren Board | |||
! Параметр|| Значение || Описание | |||
|- | |||
| Serial Port|| | |||
* Windows — COMx | |||
* Linux — /dev/ttyACM0 или до версии WB6.4 — /dev/ttyUSB0 | |||
|| Подробнее смотрите выше в этой статье | |||
|- | |||
| Baud rate || 115200 || Скорость, бит/с | |||
|- | |||
| Data bits || 8 || Количество битов данных | |||
|- | |||
| Parity || None || Бит чётности | |||
|- | |||
| Stop bits || 1 || Количество стоповых битов | |||
|- | |||
| Hardware flow control || None || Аппаратный контроль потока | |||
|- | |||
| Software flow control || None || Программный контроль потока | |||
|- | |||
|} |
Версия 13:43, 19 декабря 2022
У контроллеров Wiren Board есть отладочный порт. Он обозначен как «Debug console».
Подключившись к нему, как и в случае SSH подключения, вы превращаете свой компьютер в монитор и клавиатуру контроллера. и получаете доступ к его консоли (командной строке). А в отличие от SSH, вы сможете увидеть информацию, выводимую контроллером на экран при его начальной загрузке.
Нужен этот порт для аварийных ситуаций, когда подключения по сети недоступны. Например, если вы неверно сконфигурировали сеть, и контроллер не может к ней подключиться. Или, если возникла какая-то проблема, мешающая контроллеру нормально загрузиться. Для обычной работы использовать это подключение мы не рекомендуем, используйте веб-интерфейс или SSH.
Если у вас Wiren Board 5.6 или еще более ранний — обратитесь к статье.
Подключение
Для подключения Wiren Board 7 к компьютеру нужен кабель USB (A) – USB-c.
Для подключения более ранних контроллеров - USB (A) – Micro-USB (B).
Это стандартные кабели, их легко купить. В комплекте с вашим смартфоном может быть такой. Бывают кабели с такими же разъёмами, но предназначенные только для зарядки - с ними могут быть проблемы.
Далее надо настроить операционную систему и программу.
Настройка
Windows
Если у вас на компьютере Windows 10, а контроллер Wiren Board 6.4 или новее, то система сама, после физического подключения, назначит виртуальный COM порт и установит необходимый драйвер. Увидеть это можно в Диспетчере устройств Windows:
???
При использовании Windows XP, 7, 8 скачайте и установите драйвер:
Далее подключайте контроллер, и в Диспетчере устройств Windows вы должны увидеть виртуальный COM порт, как на иллюстрации выше.
В качестве программы для общения с контроллером мы рекомендуем использовать MobaXterm от компании Mobatek. Возможности программы очень обширны. Она бесплатна для домашнего использования, для коммерческого — есть платная версия.
Нам нужно создать новую сессию (Sessions → New session → Serial):
???
и настроить ее:
???
Во вкладке “Terminal settings” вы можете настроить шрифт, цвета и, при необходимости, указать файл для записи всего, что будет выводится на экран во время сеанса:
???
А во вкладке “Bookmark settings” укажите внятное название сессии:
???
Linux
Порт должен назначиться автоматически. В выводе команды dmesg контроллеров Wiren Board 6.4 или новее должна появиться строка:
cdc_acm:3-6:1.0: ttyACM0: USB ACM device
В более старших версиях:
usb 1-1: ch341-uart converter now attached to ttyUSB0
Номер порта ttyUSBx или ttyACMx может меняться, в зависимости от того, что у вас подключено к контроллеру.
Для работы с Debug console мы рекомендуем использовать Minicom. Команда для подключения будет выглядеть так:
minicom -D /dev/ttyUSB0 -b 115200 -8 -a off
Скорее всего, для доступа к порту вам понадобятся права суперпользователя - используйте sudo.
Более подробно про Minicom смотрите в нашем руководстве.
Linux - возможные проблемы
Сервис ModemManager может мешать работе с портом. Если у вас WirenBoard 6.4 или новее — правильно сконфигурируйте udev.
- Создайте файл исключений udev:
sudo nano /etc/udev/rules.d/99-wb-debug-usb.rules
- Добавьте в него строчку:
ATTRS{idVendor}=="04d9" ATTRS{idProduct}=="b534", ENV{ID_MM_DEVICE_IGNORE}="1"
- После сохранения файла перезагрузите правило udev:
sudo udevadm control --reload-rules
Для более старших контроллеров необходимо отредактировать файл:
/lib/systemd/system/ModemManager.service
Подробности здесь:
ModemManager does not honor blacklisted ttys
SystemD ModemManager: failed to set dtr/rts
MacOS
ВАЖНО! Если у вас Wiren Board 7 и Mac с USB Type-C на процессоре Intel - нужно отключить питание контроллера, он будет питаться от USB. При наличии питания порт операционной системой не определяется. На более старые Mac и Mac на процессорах Apple эта особенность не распространяется.
Начиная с версии MacOS 10.14 Mojave все должно определиться автоматически. Предыдущие версии, возможно, потребуют установки драйвера CH341SER_MAC.
При подключении создается устройство:
Wiren Board 7 | Wiren Board 6.4 и новее | Более ранние |
---|---|---|
/dev/tty.usbmodemWB71 | /dev/tty.usbmodem00001 | /dev/tty.usbserial-1410 |
Встроенная утилита cu позволит вам работать с Debug console:
sudo cu -s 115200 -l /dev/tty.usbserial-1410
Для выхода из cu введите символы
~!
MacOS - возможные проблемы
Порт может не определиться. Потребуется установка драйвера. Для этого (начиная с MacOS High Sierra 10.13) нужно дать на это разрешение в
Settings → Security&Privacy → Allow apps downloaded from:
???
И вот хорошая статья - человек подключает Arduino к MacOS. Хоть устройство и другое, но там используется точно такой же чип. Возможно, там есть ответы на ваши вопросы.
Android
Начиная с Android версии 9 все работает без установки дополнительных драйверов. Подключение через OTG:
???
Тестировалось с приложением USB Serial Console, если ссылка не работает - ищите в Google Play.
Работа с отладочным портом =
Контроллер к компьютеру вы подключили, программу настроили, движемся дальше.
- Включаете питание контроллера. Наблюдаете сообщения, появляющиеся на экране при загрузке контроллера. Текст меняется быстро, отследить его невозможно. Но, если возникнет критическая ошибка при загрузке — загрузка остановится, и сообщение об ошибке будет у вас перед глазами.
- Если загрузка прошла нормально — вы увидите приглашение контроллера. Вводите логин, пароль — командная строка в вашем распоряжении:
???
Можете настроить сеть, исправить конфигурационные файлы, посмотреть логи и т. д.
ВАЖНО! При работе с Debug console на экран время от времени будут «выпадать» сообщения от работающих сервисов Linux. Особенно, если сервис работает с ошибкой. Вы можете продолжать ввод команды с клавиатуры — все будет отработано корректно. Для отключения вывода “лишних” сообщений на экран используйте команду:
dmesg -n1
Теперь будут выводится только те сообщения, которые требуют немедленного вмешательства.
3. Пролистывая экран назад вы можете просмотреть все сообщения, «выпавшие» при загрузке. Обращайте внимание на error, warning, filed. Не можете сами разобраться — записывайте сеанс в лог файл и обращайтесь в нашу техподдержку.
Технические спецификации
Физическая реализация в контроллерах
Версия контроллера | Тип разъема | Название разъема | Интерфейс | Чип USB/UART |
---|---|---|---|---|
7.x | USB-C | Debug Console | USB/UART | HT42B534 |
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 | 3-pin UART (Gnd, Rx, TX) | UART | UART (3,3B) | - |
4, 5.3 | 3-pin UART (Gnd, Rx, TX) | Debug UART | UART (3,3B) | - |
2.8, 3.5 | 3-pin UART (Gnd, Rx, TX) | UEXT1 (выводы 2,3,4) и 3-pin разъем без названия | UART (3,3B) | - |
Программно во всех случаях это последовательный порт.
Параметры подключения
Параметр | Значение | Описание |
---|---|---|
Serial Port |
|
Подробнее смотрите выше в этой статье |
Baud rate | 115200 | Скорость, бит/с |
Data bits | 8 | Количество битов данных |
Parity | None | Бит чётности |
Stop bits | 1 | Количество стоповых битов |
Hardware flow control | None | Аппаратный контроль потока |
Software flow control | None | Программный контроль потока |