Публикации сообщества

Михаил Семионенков • 15 января 2020

Контроллер micro:bit: прямая загрузка программы из системы makecode

Заметка для пользователей контроллера micro:bit о возможности прямой загрузки программы из системы программирования makecode.

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

И вот, как оказалось, в браузере Chrome относительно недавно (хронологически после разработки контроллера micro:bit) разработана функциональность WebUSB, которая позволяет браузеру "общаться" с устройствами USB (к коим принадлежит и контроллер micro:bit).

Разработчики makecode ещё не полностью завершили интеграцию новой функциональности в свою систему, но самая востребованная возможность уже есть: можно загружать программу из браузера прямо на micro:bit.

Внимание: чтобы воспользоваться этой функциональностью, нужно 

  • использовать браузер Chrome для работы с системой makecode
  • иметь достаточно свежую прошивку на контроллере micro:bit

Обновление прошивки на контроллере micro:bit

Прежде всего, нужно проверить версию прошивки на устройстве:

  • при подключённом к компьютеру контроллере micro:bit, откройте файл DETAILS.TXT на устройстве MICROBIT
  • найдите строку Interface Version:

если версия (число в строке Interface Version) равна 0249 или новее (число больше), обновление не обязательно

Если обновление требуется,

  • отключите micro:bit от компьютера 
  • нажмите на контроллере кнопку Reset (с "тыльной" стороны контроллера рядом с разъёмом USB)
  • не отпуская кнопку, подключите micro:bit к компьютеру
  • когда мигание лампочки на контроллере прекратится, отпустите кнопку - в файловой системе появится устройство MAINTENANCE (это говорит о том, что устройство готово к обновлению прошивки)
  • запустите браузер, откройте страницу https://microbit.org/guide/firmware/
  • найдите на странице кнопку Download the latest micro:bit firmware
  • нажмите кнопку - на компьютер загрузится файл с расширением hex с новой прошивкой
  • скопируйте загруженный файл на устройство MAINTENANCE - устройству вернётся имя MICROBIT

- контроллер micro:bit готов к подключению к системе makecode для прямой загрузки программы.

Подключение контроллера micro:bit к системе makecode

  • находясь в проекте системы makecode, выберите в верхнем меню справа "Шестерёнку"
  • в появившемся меню выберите Pair device 
  • в появившемся окне нажмите кнопку Pair device 
  • в новом окне нужно выбрать устройство (скорее всего, оно будет одно) и нажать кнопку Connect - контроллер подключён к системе программирования makecode

- теперь система makecode готова к прямой загрузке программы на micro:bit. для этого достаточно нажать кнопку Скачать

Замечание: практика показывает, что после отсоединения контроллера от компьютера, связь между системой программирования и контроллером может "развалиться", и процедуру подключения нужно повторить. Индикации наличия связи мне обнаружить не удалось. До выяснения всех обстоятельств я решил выполнять подключение каждый раз, когда скачивается программа, если после предыдущего скачивания кабель USB отключался.

 

Кол-во комментариев: (4)

Ольга Тузова
Михаил, спасибо за пост. Эта опция, действительно, очень удобная, но есть и два "но" :( Во-первых, не всегда, несмотря на обновлённую прошивку, последнюю версию Chrome и прочую подготовку, удаётся "спарить" устройства. Пока ещё не до конца разобралась в проблеме, поэтому только обозначу её. Во-вторых, дети часто при такой загрузке не сохраняют файлы программы. Надо обратить на это их внимание.
  • Войдите или зарегистрируйтесь, чтобы оставлять комментарии
  • Михаил Семионенков
    Да, Ольга, функциональность не стабильна. Я на связи с поддержкой makecode. Ощущение, что они не вполне ещё разобрались с работой браузера. Из хороших новостей - индикация наличия связи с контроллером - в плане. В процессе реализации разобраться с браузером придётся. Если у Вас будут новости - напишите мне или, ещё лучше, напрямую в техподдержку makecode. Я меня спаривание всегда проходит, а скачивание иногда зависает.
  • Войдите или зарегистрируйтесь, чтобы оставлять комментарии
  • Ольга Тузова
    Моя проблема не разрешилась :( Проблема в драйвере WebUSB: CMSIS-DAP на школьном компьютере, причём на учительском. На ученических - на всех не проверяла, но там, где проверила, работает. Просила сисадмина посмотреть, в чём дело, но и он не разобрался. Почитала в Интернете - нашла только формулировки проблемы, но не их решение.
  • Войдите или зарегистрируйтесь, чтобы оставлять комментарии