Программы для лего спайк прайм

Обновлено: 22.04.2024

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Mindstorms / SPIKE Prime / SPIKE Essential

This repository is a collection of useful information about the Lego Mindstorms Robot Inventor (51515), Lego SPIKE Prime (45678) and Lego SPIKE Essential (45345).

Large Hub Hardware

This applies to both the SPIKE Prime and Mindstorms Robot Inventor large hubs.

Small Hub Hardware

This applies to the SPIKE Essential small hub.

Part Description
CPU ?
Internal storage ?
Wireless connectivity Bluetooth supporting 1 BT and 4 BLE connections (IC: ?).
Wired connectivity Micro USB cable.
Display 1 RGB LED (Driver IC: ?).
Motor Drivers 2 motor outputs (Driver ICs: 1 x ?).
Battery Management Lithium ion battery management (IC: ?).
Accerometer Three-axis accelerometer (IC: LSM6DS3TR).
Gyroscope Three-axis gyroscope (IC: LSM6DS3TR).
Ports 2 LPF2 ports = 2 normal speed (115kB).

Connecting to a hub

To connect to the hub you have two options, a micro USB cable or bluetooth. Both options create a serial connection between the hub and the computer. At the hub end of this serial connection is a micropython REPL (Read Evaluate Print Loop). You can use this REPL to run python commands just like you would in the python interpreter on your computer.

To connect on Linux you will normall use:

  • /dev/ttyACM0 for USB connections.
  • /dev/rfcomm0 for bluetooth connections.

Note: If you press and hold the left button then press the center button to power up the hub, it will startup bypassing the runtime on the hub.

I have found bluetooth on linux to be not that reliable and often have to follow this process:

Then I can use rfcomm to create the bluetooth serial port /dev/rfcomm0 :

An attempt to create an application that can communicate with a hub to allow for remote control / sending of scripts / sensor logging without needing any of the LEGO apps.

This is a disassembler/decompiler that uses the mpy-tool from the micropython repository to disassemble mpy files from the hub filesystem.

Dumps of the micropython filesystem on the Lego hub using rshell.

Long version numbers are from running the help(hub) command on the board. Short versions numbers are from the version.py files where available.

Dump Description
v0.5.01.0000-42a938e Initial filesystem (Purchased on: 28/05/2020) (Box Version: 29).
v1.0.00.0027-64837e9 Additional filesystem in 1.0.0 on Windows (Extracted from app.asar).
v1.0.00.0030-b228d30 Filesystem from 1.0.0 on Windows (Extracted from app.asar).
v1.0.00.0033-268c151 Filesystem from 1.1.4 on Windows (Extracted from app.asar).
v1.0.03.0034-c3879ab Updated filesystem using 1.2.0 on Windows(Updated on: 02/07/2020).
v1.0.06.0034-b0c335b Updated filesystem using 1.2.1 on Windows (Updated on: 17/07/2020).
v1.1.01.0000-6b4a939 Updated filesystem using 1.3.0 on Windows (Updated on: 01/09/2020).
v1.1.01.0000-6b4a939 Updated filesystem using 1.3.1 on Windows (Updated on: 20/10/2020).
v1.1.01.0002-3e5a121 Updated filesystem using 1.3.2 on Windows (Updated on: 03/11/2020).
v1.1.01.0002-3e5a121 Updated filesystem using 1.3.3 on Windows (Updated on: 18/12/2020).
v1.1.01.0002-3e5a121 Updated filesystem using 1.3.4 on Windows (Updated on: 17/03/2021).
v1.2.01.0101-edc1be7 Updated filesystem using 2.0.0 on Windows (Updated on: 25/08/2021).
v1.2.01.0101-edc1be7 Updated filesystem using 2.0.1 on Windows (Updated on: 25/08/2021) [UNCHANGED].
v1.3.00.0000-e8c274a Updated filesystem using 2.0.3 / 2.0.4 on Windows (Updated on: 03/11/2021).
v1.3.00.0000-e8c274a Updated filesystem using 2.0.5 on Windows (Updated on: 09/05/2022) [UNCHANGED].
v1.3.00.0000-e8c274a Updated filesystem using 2.0.6 on Windows (Updated on: 09/05/2022) [UNCHANGED].
Dump Description
v1.0.00.0070-51a2ff4 Initial filesystem (Purchased on: 27/09/2021) (Box Version: 143).

Mindstorms Robot Inventor

Dump Description
v0.5.01.0002-f75d82d Initial filesystem (Purchased on: 16/10/2020).
v1.0.06.0034-b0c335b Updated filesystem using 4.0.4-dev.99999 on Windows (Updated on: 20/10/2020).
v1.0.06.0034-b0c335b Updated filesystem using 10.0.3 on Android (Updated on: 29/11/2020).
v1.2.01.0103-d08b6fe Updated filesystem using 10.1.0 on Android (Updated on: 05/05/2021).
v1.3.00.0203-71f6a41 Updated filesystem using 10.2.0 on Android (Updated on: 19/08/2021).
v1.4.01.0000-594ce3d Updated filesystem using 10.3.0 on Android (Updated on: 13/12/2021).

Dumps of the firmware on the Lego hub using the micropython REPL.

The lines below will output a number of bytes of the firmware starting at the provided location, or false if past the end.

The first versions of the firmware on the device do not have the firmware library. To dump these you have to use the DFU tool after booting the device into DFU mode.

To boot the device into DFU mode:

  1. Turn the hub off and disconnect the USB wire from your computer.
  2. Hold down the bluetooth button and plug in the USB wire to your computer.
  3. Keep holding the bluetooth button until it starts flashing in a cycle (pink-green-blue-off).
  4. The hub is now in DFU mode.
  5. The dfu-util program can be used to extract the firmware, see the script below.

Long version numbers are from running the help(hub) command on the board. Short versions numbers are from the version.py files where available.

Dump Description
v0.5.01.0000-42a938e MISSING Initial firmware (Purchased on: 28/05/2020) (Box Version: 29).
v1.0.00.0027-64837e9 MISSING Additional firmware in 1.0.0 on Windows (Extracted from app.asar).
v1.0.00.0030-b228d30 Firmware from 1.0.0 on Windows (Extracted from app.asar).
v1.0.00.0033-268c151 Firmware from 1.1.4 on Windows (Extracted from app.asar).
v1.0.03.0034-c3879ab Updated firmware using 1.2.0 on Windows (Updated on: 02/07/2020).
v1.0.06.0034-b0c335b Updated firmware using 1.2.1 on Windows (Updated on: 17/07/2020).
v1.1.01.0000-6b4a939 Updated firmware using 1.3.0 on Windows (Updated on: 01/09/2020).
v1.1.01.0000-6b4a939 Updated firmware using 1.3.1 on windows (Updated on: 20/10/2020) [UNCHANGED].
v1.1.01.0002-3e5a121 Updated firmware using 1.3.2 on Windows (Updated on: 03/11/2020).
v1.1.01.0002-3e5a121 Updated firmware using 1.3.3 on windows (Updated on: 18/12/2020) [UNCHANGED].
v1.1.01.0002-3e5a121 Updated firmware using 1.3.4 on Windows (Updated on: 17/03/2021) [UNCHANGED].
v1.2.01.0101-edc1be7 Updated firmware using 2.0.0 on Windows (Updated on: 25/08/2021).
v1.2.01.0101-edc1be7 Updated firmware using 2.0.1 on Windows (Updated on: 25/08/2021) [UNCHANGED].
v1.3.00.0000-e8c274a Updated firmware using 2.0.3 / 2.0.4 on Windows (Updated on: 03/11/2021).
v1.3.00.0000-e8c274a Updated firmware using 2.0.5 on Windows (Updated on: 09/05/2022) [UNCHANGED].
v1.3.00.0000-e8c274a Updated firmware using 2.0.6 on Windows (Updated on: 09/05/2022) [UNCHANGED].
Dump Description
v1.0.00.0070-51a2ff4 MISSING Initial firmware (Purchased on: 27/09/2021) (Box Version: 143).

Mindstorms Robot Inventor

Dump Description
v0.5.01.0002-f75d82d Initial firmware (Purchased on: 16/10/2020).
v1.0.06.0034-b0c335b Updated firmware using 4.0.4-dev.99999 on Windows (Updated on: 20/10/2020).
v1.0.06.0034-b0c335b Updated firmware using 10.0.3 on Android (Updated on: 29/11/2020) [UNCHANGED].
v1.2.01.0103-d08b6fe Updated firmware using 10.1.0 on Android (Updated on: 05/05/2021).
v1.3.00.0203-71f6a41 Updated firmware using 10.2.0 on Android (Updated on: 19/08/2021).
v1.4.01.0000-594ce3d Updated firmware using 10.3.0 on Android (Updated on: 13/12/2021).

A recreation of the spike prime hardware using python to allow testing and debugging python scripts on a PC.

The aim is to create a script to dump the functions of the real hardware and then mock them to allow local development.

Currently there is two main scripts one to simulate running micropython scripts on a hub and one to push micropython scripts to a real connected hub. The simulator uses a mocked implementation of the micropython modules available on the phyical hub that redirect actions to the simulator gui.

File Description
simulator.py A python3 gui based simulator for the Lego hub.
run.py A python3 script to run a micropython script on a connected Lego hub.
upload.py A python3 script to upload a micropython script to a connected Lego hub.

Specification pdfs for internal parts of the Lego components.

File Description
stm32f413 The microprocessor inside the hub.

SPIKE Prime and Mindstorms Robot Inventor

File Description
large-hub The main SPIKE Prime hub.
large-hub-rechargeable-battery Rechargeable lithium ion battery pack for the hub, capacity 2100 mAH.
medium-angular-motor Medium motor with integrated absolute orientation sensor, accuracy +- 3 degrees.
large-angular-motor Large motor with integrated absolute orientation sensor, accuracy +- 3 degrees.
force-sensor Measures touch, tap, and force up to 10N (About 1Kg) at an accuracy of 0.65N.
distance-sensor Measures depth to 2m (fast to 30cm) with 1mm resolution. Has 4 white LED outputs.
color-sensor Measures 8 colours, reflectivity, and ambient light. Has 3 white LED outputs.
File Description
small-hub The smaller SPIKE Essential hub.
small-hub-rechargeable-battery Rechargeable lithium ion battery pack for the hub, capacity 620 mAH.
small-angular-motor Small motor with integrated absolute orientation sensor, accuracy +- 3 degrees.
color-light-matrix 3x3 RGB Light matrix with individual segment control.
color-sensor Measures 8 colours, reflectivity, and ambient light. Has 3 white LED outputs.

Where documents, code, graphics, binary or any other files have been created by me they are licensed under the MIT license. Other files that have been pulled from the firmware or filesystem of LEGO products remain licensed by LEGO.

Робототехника — одно из самых интересных и прорывных школьных занятий. Она учит составлять алгоритмы, геймифицирует учебный процесс, знакомит детей с программированием. В некоторых школах уже с 1 класса занимаются информатикой, учатся собирать роботов и составлять блок-схемы. Чтобы дети легко понимали робототехнику и программирование, могли углубленно изучать математику и физику в средней школе, мы выпустили новый обучающий набор LEGO Education SPIKE Prime. Подробности о нем расскажем в этом посте.




LEGO Education SPIKE Prime предназначен для обучения детей 5–7 классов в школах и кружках робототехники. Набор позволяет строить алгоритмы с помощью блок-схем и любоваться, как картинки на экране превращаются в движения и действия. Для современных школьников важна наглядность и WOW-эффект, и SPIKE Prime является приманкой, которая может увлечь детей программированием и точными науками.

Обзор набора

Набор поставляется в минималистичном желто-белом пластиковом боксе. Под крышкой — картонка с инструкцией по началу работы и схемой размещения деталей в лотках. Набор спроектирован так, чтобы с ним было легко начинать работу и педагогу требовалось минимум дополнительной подготовки.


Сами детали расфасованы по пакетикам с номерами, которые соответствуют номерам ячеек в лотках.


В Базовый набор входит более 500 элементов LEGO, включая новые.


  • Несколько новых рам, которые сокращают время сборки прототипов и позволяют создавать крупные модели.
  • Новый кубик 2x4 с отверстием для осей Technic. Он позволяет объединять элементы Technic и LEGO System в одном проекте.
  • Обновлена базовая пластина из ассортимента Technic.
  • Новые узкие колеса, которые обеспечивают точность управления и повышают маневренность моделей.
  • Новое поворотное колесо в виде опорного ролика.
  • Новые зажимы для проводов, доступные в нескольких цветах, позволяют аккуратно закреплять шлейфы.


Моторы подключаются напрямую к хабу и имеют датчики вращения с точностью до 1 градуса. Эта возможность предусмотрена для синхронизации работы моторов, чтобы они могли двигаться одновременно с постоянной скоростью. Кроме этого, датчик можно использовать и для измерения скорости и расстояния движения модели.


Датчик цвета различает до 8 цветов и может использоваться как датчик освещенности. В него также встроен инфракрасный датчик, который может считывать, например, отражение света.


Датчик касания распознает следующие ситуации: кнопка нажата, отжата, сильное нажатие. При этом датчик определяет силу давления в ньютонах или в процентах.

ИК-датчик служит для определения расстояния от робота до определенной точки или для предотвращения столкновений. Способен измерять расстояние в процентах, сантиметрах и дюймах.

Расширить возможности базового набора можно с помощью ресурсного набора, который состоит из 603 деталей. В него входят: дополнительный большой набор и датчик света, два больших колеса, большие конические зубчатые шестерни, которые позволяют строить крупные поворотные платформы.

В хаб встроен гироскоп, который умеет определять его положение в пространстве: ориентацию, наклон, крен, определение грани сверху, состояние падения хаба и т. д. Встроенная память позволяет загружать и хранить до 20 программ. Номер программы отображается на пиксельном экране 5х5, куда также выводятся пользовательские изображения и статус работы хаба.


Также на хабе расположены:

  • Разъем microUSB для зарядки аккумулятора или соединения с ПК.
  • Кнопка синхронизации Bluetooth, с помощью которой можно установить беспроводную связь с ПК для программирования хаба.
  • 6 портов (A-F) для выполнения команд или получения информации с датчиков.
  • Три кнопки управления хабом.
  • Встроенный динамик.

Программное обеспечение

ПО LEGO Education SPIKE доступно для Windows, Mac OS, Android, iOS и Chromebook, его можно скачать на сайте LEGO Education. Программная среда создана на основе детского языка программирования Scratch. Она состоит из набора команд, каждая из которых представляет собой графический блок определенной формы и цвета с параметрами, которые можно изменять вручную, например, скорость и дальность движения, угол вращения и т. д.

При этом наборы команд, связанных с различными компонентами решения (моторы, датчики, переменные, операторы и т. д.), выделены разными цветами, что позволяет быстро интуитивно разобраться, как программировать то, что нужно.

Еще в самом приложении собрано множество планов уроков, а также около 30 различных инструкций по сборке моделей.


Первые шаги

После запуска приложения и выбора языка сразу же предлагается три стартовых шага:
1) Запрограммировать хаб, чтобы на экране выводился смайлик;
2) Познакомиться с работой моторов и датчиков;
3) Собрать модель «Блоха» и запрограммировать ее на движение.

Знакомство с SPIKE Prime начинается с описания возможностей подключения (через microUSB или через Bluetooth) и работы с пиксельным экраном.


Сначала необходимо задать последовательность команд, которая должна выполняться после запуска программы, а также выбрать конкретные пиксели, которые будут зажигаться на экране хаба.


Второй шаг предусматривает сборку и программирование реакции моторов на различные сигналы с датчиков. Например, можно запрограммировать мотор, чтобы он начал вращаться при поднесении руки или любого предмета к сенсору расстояния.


Для этого мы создаем последовательность команд: если предмет находится ближе n сантиметров к датчику, то мотор начинает работать.


Третий и самый интересный шаг: собрать робота-блоху и запрограммировать ее на прыжки по команде. Для этого сначала нужно собрать из деталей и двух моторов самого робота.


Затем приступаем к программированию. Для этого задаем следующий алгоритм: при включении программы «блоха» должна дважды проскакать вперед, поэтому два мотора должны сделать два полных вращения одновременно. Скорость вращения установим на 50%, чтобы робот не прыгал слишком сильно.


На выходе у нас получился небольшой робот, который при запуске программы скачет вперед. Красота!


Робот-блоха резво устремился вперед, нашел первую жертву, но что-то пошло не так.


После этого обучение закончено, можно приступать к более сложным проектам: в приложении только блок-схем для различных частей набора (моторы, хаб, датчики и т. д.) насчитывается более 60. При этом каждую блок-схему можно слегка менять с помощью параметров. Также внутри ПО есть возможность создания переменных и собственных блок-схем.

Для учителей


К набору прилагаются методические материалы для учителей. В них входят учебные планы, задачи с готовыми решениями и задания, где ответа нет и нужно творчески подойти к решению. Это позволяет быстро приступать к работе с набором и строить программы обучения.


Всего на сайте готово 4 курса. «Отряд изобретателей» — курс для уроков технологии, который закрепляет понимание учениками процесса ведения проектной деятельности. Два курса относятся к информатике. «Запускаем бизнес» дает базовые навыки программирования и алгоритмики, а «Полезные устройства» знакомит с принципами работы интернета вещей. Четвертый курс — «К соревнованиям готовы» — предназначен для подготовки к конкурсам и требует и базовый, и ресурсный набор.

В каждом курсе от 5 до 8 уроков, куда входит готовое методическое решение, которое можно внедрить в учебный процесс для закрепления STEAM-компетенций.

Сравниваем с другими наборами

LEGO Education SPIKE Prime входит в робототехническую линейку LEGO Education, которая включает в себя наборы для детей разных возрастов:

  • Экспресс «Юный программист» для дошкольного образования.
  • WeDo 2.0 для начальной школы.
  • LEGO Education SPIKE Prime для средней школы.
  • LEGO MINDSTORMS Education EV3 для учеников старших классов и первых курсов институтов.

С помощью этого решения школьники в игровой форме смогут освоить принципы алгоритмизации, развить навыки решения задач, познакомиться с основами робототехники. После SPIKE Prime можно переходить на LEGO MINDSTORMS Education EV3, у которого есть возможность работы с MycroPython и который подойдет для изучения более сложных понятий робототехники и программирования.

P.S. При написании этой статьи ни один робот и ни один хаски не пострадал.

Летом 2019 года был анонсирован новый образовательный робототехнический набор SPIKE PRIME. Уже осенью началась волна популяризации нового набора в России. Зима в самом разгаре — и вместо слухов набор попал в мои руки :-)


Немного истории, особенностей и собственных мыслей о продвижении этого набора — под катом

:
— выездное знакомство «главных по образовательной робототехнике» в августе 2019. К сожалению, особенных подробностей оно не принесло. Лишь смутные слухи о «замене EV3» для 5-8 классов. «WeDo для средней школы». Восторга такие слухи не вызывали.

LEGO MINDSTORMS EV3 — полноценный образовательный робототехнический набор образца 2013 года. Стандарт для 2-6 классов в обучении «робототехнике». Слишком популярен, постоянно критикуем, в принципе за дело, коммерческая эффективность на грани.

LEGO EDUCATION WeDo — компактный образовательный робототехнический набор образца 2015 года. Стандарт для дошкольников и первоклассников. Популярен, коммерчески эффективен.

  • Мастер-классы в рамках фестиваля NAUKA 0+ в Москве, середина октября 2019. Был там, но никаких объяснений кроме сборки моделей по инструкции не увидел.
  • Мастер-классы в рамках образовательного форума в Красноярске, вторая половина ноября 2019. Коллеги посетили, посмотрели, всем понравилось, но представления о наборе «со слов» не получилось.
  • Мастер-классы в рамках региональных отборов на всероссийский «Робофест-2020».

Не буду описывать то, о чём можно получить представление из рекламы. Только «моменты» и «ньюансы».

1. Он не для средней школы



Презентация на мк не содержит столь жёсткой привязки к классам

2. Основное преимущество

Быстро собираем базовые модели и долго занимаемся программированием. Это очень хорошо, когда мы занимаемся программированием роботов, и не занимаемся конструированием.

3. «Железное» преимущество

6 (шесть) «литерных» портов (A-F), все работают в режиме ввода-вывода. То есть можно подключить и до 6 двигателей, и до 6 датчиков. Лишь бы были свободные порты


4. Усовершенствованный УЗ-датчик расстояния

Лишён проблемы «ослепления». При глухом закрытии приёмника/передатчика показывает минимальное, а не максимальное значение (4 вместо 255). В остальном датчик наследует все особенности MINDSTORMS. Также в него встроены 4 светодиода, включением-выключением и цветом которых можно управлять программно.


5. Среда программирования — «Scratch 3.0»

В кавычках потому, что работает только через родное приложение SPIKE, не через scratch.mit.edu. Пока это не «настоящий» Scratch. В ближайшее время обещают прекращение поддержки «старой» графической среды EV3 G, вместо неё будет примерно такой же Scratch… С учётом того, что MINDSTORMS программируется на microPython, Java, SmallBasic, а WeDo — на полноценном Scratch.

6. Шлейфы как у WeDo 2.0

Но не совсем. Со стороны датчиков видны пластиковые фиксаторы. В начале лекции было сказано, что нас ждёт сюрприз по этой теме. Но в процессе и в конце сюрприза не случилось. Про возможности закупки запасных фирменных или неоригинальных коннекторов или проводов целиком лектор тоже ничем не обрадовал… А ведь специфические коннекторы и шлейфы — слабое место в WeDo 2.0

7. Настоящий сервопривод

Сервопривод теперь — серво в полном смысле слова. Есть отметка «0», нанесённая на корпус и риска на маховике. Можно не только считать количество оборотов/градусов, но и приказать двигателю вернуться на 0 отметку. В определённых режимах мотор ощутимо греется. Точно также греется и мотор EV3, если подавать на него мощность 5-15 минут, не давая вращаться маховику. А вот мотор WeDo 2.0 уходит в защиту (отключается тяга) при небольшом превышении нагрузки. Хотелось бы такую защиту и в SPIKE, конечно… Или хотя-бы примеры, которые не вызывают порчу новых и не слишком распространённых компонентов





8. Зарядка и прошивка — по microUSB

Зарядка 4+ часа, но зато с прошивкой по кабелю можно работать без bluetooth. Жаль что не typeC :(





9. Улучшенный датчик цвета/света

Уверенно «видит» цвет с 7-10 см. Но и на близком расстоянии от поверхности (~1см) тоже распознаёт всё замечательно



10. Дисплея нет, имена программ — по номерам

Спасибо @AlexeyKlyachin за деятельное дополнение :)

Выбор программ через прокрутку кнопками влево-вправо по именам-номерам, от 1 до 20. Забываем про «проекты», «вкладки», «присмотрись что написано» на тёмном экране EV3 и прочее.

Важное отличие от WeDo 2.0 — программа остаётся в памяти после прошивки, постоянный контакт с компьютером/планшетом не нужен.


11. Хорошие колёса

С фиксацией от проворота шины, специальной резиной, сама шина — несъёмная со 100% заполнением резиной

12. В ресурсном наборе не только пластик

Но и «большой» сервопривод, и 2 больших колеса. Актуальная цена на январь — 10100р. С учётом цены базового SPIKE в 33500, закупка ресурсного набора имеет смысл одновременно с базовым.

13. Встроенный гироскоп

«По 6 осям», с такими параметрами как «тангаж», «крен» и «рысканье». Оценить лично не пришлось, но сделать что-то хуже, чем датчик наклона EV3 очень сложно. Надеюсь, встроенный в хаб будет лишён его недостатков

14. Нет взаимодействия между хабами по Bluetooth :(

Даже в WeDo 2.0 есть возможность запрограммировать дистанционное управление через «пульт», построенном на базе второго хаба. Здесь же в «scratch» не обнаружилось блоков для взаимодействия по bluetooth…

Немного о грустном

  • С обратной связью «с разработчиками» всё плохо, ждать включения нативной поддержки набора в scratch, appinventor и прочих ключевых средах скорее всего очень долго
  • Смарт-хаб не любит, когда рядом включены много наборов. Проблемы с подключением, такие же как на WeDo 2.0

Не раскрытые вопросы

  • Насколько хорошо прописано во «встроенном» курсе, какой ученик что должен делать. Вроде бы задание содержит компоненты для 2 учеников сразу (1 собирает, 2й в это время программирует). На мк эту тему не затрагивали, и спросить я забыл..
  • Видно, что на паре портов значки немного отличаются от остальных. Что-бы это могло быть?

Об экономике и смысле

WeDo 2.0 обходится в 9-14т (вместе с доставкой, в зависимости от поставщика)
MINDSTORMS EV3 обходится в 10-13т (легко-б/у, вместе с доставкой, если повезёт — то и с аккумулятором).

WeDo 2.0 на практике даётся 5-7 летним детям. Недорогая цена, низкий порог вхождения, качественные дидактические материалы — всё это обеспечивает его закупки «на класс». Но важный фактор его закупки «штучно» — специфические и прекрасные соревнования JrFLL, которые очень мотивируют на расширение использования этого набора и усиление подготовки.

Смысл SPIKE вроде-бы понятен, но цена… Кратно превышающая старые решения цена делает закупку из своего кармана «на класс» неэффективной. Покупать же 1 набор «на пробу», без возможности поучаствовать в «специальных соревнованиях» «посоревноваться в освоении самого нового» — тоже бессмысленно. А ведь ещё есть электроника и самоделки, после которых смотреть в сторону любого «лего» вообще грустно…

В общем, если по результатам учебного года (а они обычно хороши) нашему клубу «пожертвуют» 130-200т на закупку наборов, мы конечно купим SPIKE. Собирать на него «живые» деньги — только под гарантированное участие в специальных соревнованиях, а там будет видно

Я бы рекомендовал всем, кто общается с ответственными за «популяризацию» нового набора, регулярно сообщать о необходимости специального соревнования на SPIKE. Со схожей с соревнованиями на WeDo 2.0 идеологией. «Тогда купим». Без этого покупать — хорошо, но неэффективно.

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Windows 7 is no longer supported, updated, etc. etc. so LEGO quite rightly don't want to support it, so their Spike Prime Windows 10 installer won't run on Windows 7.

However in the real world lots of schools still use Windows 7 on old laptops etc..

In particular we run our FLL competition teams using dedicated offline (old, donated) Windows 7 laptops.

Fortunately the Spike app will work fine on Windows 7 if you copy it across.

Installation on Windows 7 is a 3 step process:

a) Install on a windows 10 machine and copy the installation folder across to the Windows 7 machine on a USB memory stick.

b) Install the Spike DFU mode (firmware upgrade) USB driver.

c) Install the Spike FS mode (usb serial communication) USB driver.

The DFU mode driver is available as part of the normal LEGO installation. The FS mode driver is not so obvious, because it actually just uses the existing Windows operating system driver (usbser). So we just need to download/install an extra installation 'inf' file which basically just 'tells' Windows 7 to use the existing driver when Spike is connected.

In more detail (remember to login as an adminstrator and don't connect the Spike hub to the USB cable yet):

Install the spike app on a Windows 10 machine.

On the Windows 10 machine copy the entire folder C:\Program Files\SPIKE onto a USB stick. As this is an electron wrapped app everything important is all in that one single folder.

Now on the Windows 7 machine copy this folder across to the same location C:\Program Files\SPIKE .

Double click on the C:\Program Files\SPIKE\driver\usb\dpinst.exe file. This will install the 'DFU mode' Spike driver.

Restart the computer. Yes, you really do have to do this.

Connect the Spike to the USB cable and turn it on. Remember which USB port you have used on the computer, as it is best to always use the same one for the cable in the future. Ignore any Windows 'Installing device driver' messages and wait 5 minutes or so (driver update/install will eventually fail). During this time download the Spike driver from this repo and unzip it in a new folder on your desktop.

Open Device Manager (Start>Run>and type 'Device Manager' to find it)

Under 'Unknown Devices' you should now see an entry called 'LEGO Technic Large Hub in FS mode'

Right Click on this entry and 'Update Driver Software' then 'Browse My Computer for Driver Software'

Browse to the folder you unzipped the Spike FS driver to and then click 'Next'. Ignore the scary 'unsigned driver' warning, this process is quite safe as we are not actually installing a new driver, we are just telling windows to use the existing usbser driver (which is already part of the Windows operating system). Let the installation finish.

In Device Manager you should now have a 'Spike USB COM Port' entry in the 'Ports (COM & LPT)' section. The software will only work when you can see this entry.

On the Windows Desktop right click in an empty space and select 'New'>'Shortcut'. Enter the path 'C:\Program Files\SPIKE\spike.exe' and click Next and then give the shortcut a name ('Spike' would be a good choice!)

Double click on the shortcut and you should now have a working Spike system on your Windows 7 computer (USB cable connection). If you are brave you can now waste several hours trying to set up a working Bluetooth connection too (it's hard, but does work - see the instruction in the bluetooth folder in this repo), but we would suggest simply sticking to the USB cable.

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

LEGO SPIKE Prime / MINDSTORMS Robot Inventor Extension

This extension helps you connect to the SPIKE Prime or MINDSTORMS Robot Inventor brick and perform various operations on it.

status

Shows the connections status right in the status bar

connect


Clicking on the status will either connect or disconnect (if already connected). Support connecting to USB and Bluetooth (see Known Issues for limitations).

slot-selection


Once connected you can start a running program by choosing its slot. For each slot if a program is present you will see its name next to the slot number:

type-selection

You can upload two types of programs with this extension:

This is more or less the same as a python project, created with the Mindstorms or SPIKE prime apps. But allows you to use your favorite code editor and its extensions instead of the built in one.

This gives you access to an async code execution and event notifications that are provided by built in event loop that runs on the brick. The event loop is used to run Scratch programs and I haven't found any other way to access it from standard python type programs.

The advanced programs mus follow a specific template in order for them to execute correctly:

You can check what advanced functions found so far here.

Automatic upload/start of a python file

During active development you will be uploading a program over and over again so going through all the prompts for type and slot is not very convenient. You can skip those prompts and automatically start the program after uploading by adding a specific comment line as first in your program.

For example, if I want the program to be uploaded as an advanced python program to slot 5 and autostart it once the upload is finished the comment should be the following

  • When using Bluetooth and you have many programs stored on the brick it stops responding to querying slot info. You should eiher use USB connection or avoid using commands that query slot info - for example you can completely avoid them by using the automatic upload comment in your python files.

Thanks to sanjayseshan/spikeprime-tools and bricklife for figuring out currently available JSON RPC that the brick supports.

This extension uses unofficial and undocumented APIs. They can change without notice. Functions tested on a Mac connecting to a MINDSTORMS Robot Inventor Hub FW Version 1.0.6.34 with runtime version 2.1.4.13

LEGO and MINDSTORMS are registered trademarks of the LEGO Group. SPIKE is trademark of LEGO Group.

About

Helps you connect and work with Lego's SPIKE Prime/MINDSTORMS Robot Inventor hubs

Читайте также: