Этот материал предназначен для тех, кто освоил программирование элементарных задач на микро:бит в среде программирования MakeCode и планирует переходить к более сложным проектам.
Одна из проблем, возникающих по мере мере усложнения решаемых задач - ограниченные возможности вывода информации на микро:бит. Это сказывается двояко:
- трудно получить содержательную отладочную информацию непосредственно на микро:бит
- в проектах, использующих сбор относительно больших объёмов данных (типичная ситуация для работы с датчиками), нет возможности полноценной визуализации этих данных
Для Ардуино, например, аналогичная проблема решается поддержкой вывода информации на консоль на компьютере по протоколу последовательного порта.
Последовательный порт
Посредовательный порт - старое решение для подключения устройств к компьютеру. Физическая реализация последовательных портов на компьютерах устарела, компьютеры теперь обычно оснащаются более современными портами USB. Тем не менее, протокол последовательного порта остаётся востребованным в ряде случаев, включая подключение микроконтроллеров типа Ардуино или микро:бит.
Протокол последовательно порта на компьютере эмулируется (программно реализуется) "поверх" порта USB: благодаря специальной программной поддержке порт USB может "выглядеть" как
традиционный последовательный порт.
Поддержка последовательного порта в среде MakeCode
Честно говоря, я надеялся, что поддержка интерфейса между средой программирования MakeCode и платой микро:бит будет органично включена в среду программирования, по протоколу последовательного порта или иначе, особенно в этом смысле обнадёжила работа над реализацией в среде makecode протокола WebUSB и, как следствие, прямая загрузка программы из среды программирования на контроллер (подробнее о прямой загрузке программы можно посмотреть здесь ).
Более того, в документации makecode прямо сказано (относительно реализации WebUSB): "MakeCode will be able to “listen” to your micro:bit and display the console output." То есть, "MakeCode будет способен "слушать" микро:бит и отображать вывод на консоль". Примеры, тем не менее, не приведены.
Означает ли эта фраза документации в будущем времени, что это - план на неопределённое будущее? Возможно. Более того, в документации к папке Последовательный порт, где содержатся блоки работы с последовательным портом, говорится о том, что для вывода на компьютер нужна довольно существенная подготовительная работа.
Поскольку моё терпение кончилось , я решил попробовать описанную текущую возможность.
Я излагаю документацию в сокращении, только для Windows (описаны ещё Linux и Mac OS) и только для консоли Tera Term, со своими комментариями (оригинал документации на английском здесь https://makecode.microbit.org/device/serial).
Для Windows описана ещё консоль Putty: я выбрал первую, поскольку она описана первой и я её встретил впервые (Putty - старая известная консоль), я подумал, что, возможно, в Tera Term есть что-то новое и интересное (честно говоря, ничего особенного не заметил, но на кое-какие грабли наступил, так что удовольствия от знакомства не получил).
Прежде чем перейти к инструкциям, рекомендовал бы взвесить актуальность для вас этой задачи: не исключено, что в обозримом будущем консоль всё-таки будет интегрирована в среду makecode, и всё это станет лишним
(в худшем случае может даже создать проблемы для перехода на "родное" решение): в процессе работы я заметил, что консоль в MakeCode уже реализована для эмулятора микро:бит и, вероятно, находится в стадии отладки.
Для версий Windows, предшествующих 10-ой, нужно установить драйвер последовательного порта (https://os.mbed.com/docs/mbed-os/v5.15/tutorials/windows-serial-driver…).
Не рекомендую ставить дврайвер на 10-ую версию: у меня перестала работать прямая загрузка программы на микро:бит. Вообще не факт, что у меня на компьютере WebAPI будет в будущем поддерживаться без специальных усилий.
Установка, конфигурирование и проверка работы консоли Tera Term
Консоль Tera Term загружается со страницы https://ttssh2.osdn.jp/index.html.en, раздел Download
После установки, подсоединим микро:бит к компьютеру и запустим программу Tera Term
- В меню File выбрать New Connection
- Отметить Serial
- Из меню Port выбрать “mbed Serial Port”, нажать OK
- В меню Setup... выбрать Serial Port и установить Speed 115200, зафиксировать выбор
(Здесь появилось какое-о меню, которого я не вижу при настройке консоли заново. Правильность операций можно проверить выйдя из меню Setup и вернувшись туда, чтобы убедиться, что Speed имеет правильное значение).
Можно сохранить выбранные установки: Setup > Save Setup: при следующем запуски консоли не нужно будет заново выполнять установки.
Проверить работу вывода по последовательному на компьютер можно, например, со следующей программой
Естественно, проверка должна выполняться при микро:бит, подключённом к компьютеру по USB и консоли, "слушающей" порт.