Недавно купил Хэчжоу 9.9. плата разработки rp2040, 刚好看到了微软的DeviceScriptподдержка библиотеки, Затем запишите процесс обучения и подводные камни.
Официальный сайт: https://microsoft.github.io/devicescript/
Разработка микро-IoT-устройств на основе TypeScript
Поддерживаемые платы:
Конечно, плата определяет порт gpio и порт adc по умолчанию. Другие функциональные контакты не определены, нуждатьсяОпределите себя
Ищите и устанавливайте прямо в маркете плагиновDeviceScriptВот и все
Нажмите кнопку загрузки на плате и подключите ее к компьютеру (на моем компьютере в это время будет дополнительная буква диска), Щелкните значок плагина в левой части vscode, Затем нажмите знак плюса в правом верхнем углу устройств, выбиратьFlash Firmware
Записать в прошивку
Уведомление: 1. NodeJS v18.x Встроенная поддержка
fetch
метод, При установке прошивки DeviceScriptИспользовалfetch
запросить загрузку прошивки, Более низкие версии будут сообщать об ошибках
Прошивка может не загрузиться по сетевым причинам. 可以自行通过Связь下载 Затем скопируйте его на вновь добавленный диск, Плата автоматически перезагрузится после копирования.
После записи нажмите плюсик в правом верхнем углу устройства и выберите Serial для последовательного подключения.
После подключения вы увидите, что текущее устройство rp2040 существует в списке устройств. Базовая среда завершена.
Мастер Идэн профессионал в освещении ламп. Начнем с освещения лампы на доске.
Светодиодные контакты встроены в плату, DeviceScript определен, Поэтому нет необходимости указывать порт io, Используйте напрямуюsetStatusLight
метод干
Поскольку этот метод может управлять подсветкой RGB, Таким образом, вы можете передать значение цвета, А rp2040 - это монохромный светильник, Тогда, пока0xFFFFFF
контрольный свет, 0x000000
控制灭Вот и все啊
Как показано ниже, программный цикл включается на одну секунду и выключается на одну секунду.
import { delay } from '@devicescript/core'
import { setStatusLight } from '@devicescript/runtime'
setInterval(async () => {
await setStatusLight(0xFFFFFF)
await delay(1000)
await setStatusLight(0x000000)
await delay(1000)
}, 1)
Нажмите «Выполнить» в правом верхнем углу, чтобы запустить код на плате.
Посмотрите на эффект (ускорьте гифку)
Напишите еще одну программу для чтения датчика капель дождя.
Посмотрите на принципиальную схему и выберите порт ADC2 для подключения к порту AO датчика капель дождя.
Посмотреть документацию, Поскольку не существует метода АЦП, специально предназначенного для датчиков капель дождя, Используйте напрямуюstartPotentiometer
, для преобразования напряжения на выводе (обычно между 0 В (Земля) и 3,3 V (между VCC)) будет преобразовано в число от 0 до 1. console.data
Используется для печати и записи данных датчиков.
import { pins } from '@dsboard/pico' // Представьте определение вывода `pico` (rp2040).
import { startPotentiometer } from '@devicescript/servers'
const slider = startPotentiometer({
pin: pins.GP28,
})
slider.reading.subscribe(v => console.data({ value: v }))
Вы можете видеть, что когда на датчике нет воды, данные составляют около 0,8. После добавления нескольких капель воды значение становится около 0,3.
Тогда мы сможем рассмотретьconsole.data
сгенерированные данные, Статистика и рисование изображений и т. д.
Нажмите на значок в правом верхнем углу
Следуйте инструкциям. Сначала появится всплывающее окно, в котором вы сможете выбрать локальную среду Python, а затем выполните шаги для запуска следующего сценария.
Последний скрипт может отображать диаграмму на основе данных.
Во-первых, разрабатывать железо на JS интересно, но экология не так хороша, как на Arduino. Поддерживаемых плат не так много, но все они очень популярны.
С ним приятно играть, у него есть нормальные функции и драйверы сенсоров, а экосистема по-прежнему потихоньку улучшается.
JavaScript используется во все большем количестве областей, от интерфейсной до серверной части, до 2D, 3D и машинного обучения. и применять больше. Лучше использовать технологии в жизни и работе.