DeviceScript
Microsoft公式のTypeScriptでIoTできちゃうやつとのこと。
デバイスには固有のランタイムをあらかじめ書き込んでおき、DeviceScriptで書いたコードをビルドして配信する仕組みのようです。
以下さくっとRaspberry Pi Pico WでLチカまでの流れを書いていきます。
実行環境
私の実行環境です。
- OS: Windows10 Pro v22H2
- Node.js: v18.16.0
- VS Code: v1.78.2
環境構築
VS Code拡張のDeviceScriptを使って進めていきます。
なのでVS CodeとNode.jsが必要です。
(ちなみにCLIもあってそっちならNode.jsだけでOK)
以下を一通りインストールします。
- Node.js v18以上
- VS Code
- VS Code拡張のDeviceScript
DeviceScriptプロジェクト作成
- VS Codeにてコマンドパレット(Ctrl + Shift + P) > DeviceScript: Create New Project...
- ディレクトリ構成や依存パッケージ等自動的にセットアップされます
Raspberry Pi Pico Wへのランタイム書き込み
- BOOTボタンを押しながらRaspberry Pi Pico WをPCへ接続
- コマンドパレット(Ctrl + Shift + P) > DeviceScript: Connect... > Flash Firmware > Raspberry Pi Pico W > yes
- ターミナルへ以下のようなログが出力されます
using drive X:/
fetch https://github.com/microsoft/devicescript-pico/releases/latest/download/devicescript-rp2040w-pico_w.uf2
saved .devicescript/cache/devicescript-rp2040w-pico_w.uf2 976896 bytes
cp .devicescript/cache/devicescript-rp2040w-pico_w.uf2 X:/
OK
とりあえずソース実行
- サイドバーよりDeviceScriptサイドパネルを表示
- コマンドパレット(Ctrl + Shift + P) > DeviceScript: Connect... > Serial
- サイドパネルUIのDevicesにRaspberry Pi Pico Wが追加される
- main.tsを開き、パネル右上の三角アイコンより
DeviceScript: Run
を押す- ちなみにコマンドパレットにも同じコマンドがありますが、私の環境だと何故かそっちは動きませんでした
- ターミナルが開かれ、1秒おきに
:)
が表示される - なんか右側にUIも表示される
- STOPボタンおすと止まる
Lチカ
- Raspberry Pi Pico WのGP1とGNDにLEDを接続
- 必要に応じて抵抗も
- 私は↓の図のように挿しました
- 必要に応じて抵抗も
- サンプルコードを
main.ts
へコピペ - もう一度パネル右上の三角アイコンより
DeviceScript: Run
を押す- 1秒おきにLEDが点滅する
- 右側のUIの下の方に
lightBulb
というボタンが追加されてる- そのボタンからもLEDを制御できる
fmfm... #DeviceScript pic.twitter.com/ZhQqMaT3dH
— 田中みそ (@miso_develop) May 26, 2023
以上さくっと。