IoTLT vol.100(https://iotlt.connpass.com/event/285035/)での登壇資料です。
DeviceScriptの仕組みや対応デバイス、ゲートウェイについてざっくり説明しています。
TypeScriptでIoT開発できるらしいDeviceScriptのご紹介田中みそ2023/6/18 IoTLT vol.100
View Slide
自己紹介田中 みそ (田中 大樹)Qiita: miso_developTwitter: miso_developFacebook: 田中みそLINE API ExpertIoT界隈やスマートスピーカー界隈によくいます
vol.100 おめでとうございます!!🎉
DeviceScriptとは• 今年の5月末に突如界隈をざわつかせたTypeScriptでIoTデバイスを実装できるやつ• VS Codeを中心とした開発環境が整っている• ゲートウェイを介してネットワーク経由でプログラムを配信できたりする
仕組み• Javaみたいな感じ Javaで書いたコードJava バイトコードWindowsJava VMコンパイル実行MacJava VMLinuxJava VM
仕組み• Javaみたいな感じ TypeScriptで書いたコードDeviceScript バイトコードRP2040DeviceScript VMコンパイル実行ESP32DeviceScript VMESP32-C3DeviceScript VM
対応デバイス• 推奨• ESP32-C3• ESP32-S2• 制限あり• ESP32(USB接続に問題あり)• RP2040(ネットワーク機能未サポート)
対応デバイス• おすすめは「Seeed Studio XIAO ESP32C3」• M5Stack系だと「M5Stamp C3U」• 「M5Stamp C3」はNG(外部USBが未サポート)• ボード定義が未実装なのでESP32-C3(bare)のファームを使う• 「Raspberry Pi Pico W」はネットワーク機能が使えないけどLチカとかなら試せるhttps://www.switch-science.com/products/8348https://www.switch-science.com/products/7894https://www.switch-science.com/products/8171
開発ゲートウェイ• ゲートウェイを通じてデバイス管理したり、デバイスとJSONメッセージをやりとりできる• デバイスを登録しておけばプログラムをOTAデプロイできる• VS Code拡張から接続できるし、Web APIで直接操作もできる• ESP32のみ対応(RP2040は非対応)• 「運用環境への展開を目的としたものではありません」
開発ゲートウェイhttps://microsoft.github.io/devicescript/developer/development-gateway/gateway
一般的なnpmモジュールは使えない• 「@devicescript/◯◯◯」といったnpmモジュールが対応してるもの• 現状公式で用意されたものしかない• プルリク承認されれば対応npmモジュールをリリースできるっぽい• npmモジュールを活かした開発がしたい場合はFirmata(RPC)系を使う• Johnny-Fiveとか、obnizとか、opnizとかhttps://github.com/rwaldron/johnny-fivehttps://obniz.com/https://github.com/miso-develop/opniz-sdk-nodejs
Raspberry Pi Pico WのLチカ記事https://qiita.com/miso_develop/items/900b91d5548b4de9042b