Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ハードウェアを動かすTypeScriptの世界

kido
May 10, 2024

 ハードウェアを動かすTypeScriptの世界

TypeScriptはIoTの領域でも使われており、様々なハードウェアと連動させて動かすことができます。 Webブラウザ経由でBluetoothを制御したり、スマートフォンの加速度センサで動きをセンシングしたりなど、ディスプレイの外側の現実世界と連動させることもやりやすい時代になりました。 選択肢が増えた分、「やりたいこと」に対して「どれを使うのが適切なのか」「将来的な拡張性があるのはどれか」などの選定が難しくなってきています。

本発表では、みんな大好きラズベリーパイから、Microsoftが出したDeviceScriptや、組み込みマイコンをどうやってTypeScriptで制御する際の選択肢など、IoT/ハードウェアにおけるTypeScriptの選択肢とそれぞれの違い、および実際に使う際に気をつけないといけない点などについてお話いたします。

kido

May 10, 2024
Tweet

More Decks by kido

Other Decks in Technology

Transcript

  1. 42 人数カウント方法 精度 コスト カメラ画像分析 そこそこ 1部屋5万円〜 駅の改札方式 かなり良い 1台10万円〜

    椅子で体重計測 立ち見問題 1座席1000円〜 無線タグを配る 悪い 1人数百円 Alibaba(中国のEC) で売ってた 売ってないから 自作想定
  2. 44 人数カウント方法 精度 コスト 開発 カメラ画像分析 そこそこ 1部屋5万円〜 大変 駅の改札方式

    かなり良い 1台10万円〜 楽 椅子で体重計測 立ち見問題 1座席1000円〜 少し大変 無線タグを配る 悪い 1人数百円 少し大変
  3. 46 人数カウント方法 精度 コスト 開発 運用 カメラ画像分析 そこそこ 1部屋5万円〜 大変

    楽 駅の改札方式 かなり良い 1台10万円〜 楽 待ち行列計算 設置大変 椅子で体重計測 立ち見問題 1座席1000円〜 少し大変 設置大変 無線タグを配る 悪い 1人数百円 少し大変 回収大変 紛失リスク
  4. 48 人数カウント方法 精度 コスト 開発 運用 スケール カメラ画像分析 そこそこ 1部屋5万円〜

    大変 楽 画角重複問題 駅の改札方式 かなり良い 1台10万円〜 楽 待ち行列計算 設置大変 しやすい 椅子で体重計測 立ち見問題 1座席1000円〜 少し大変 設置大変 しやすい 無線タグを配る 悪い 1人数百円 少し大変 回収大変 紛失リスク 電波混信
  5. 54 自分ならどうするか 精度 センサコスト 開発 運用 スケール カメラ画像分析 そこそこ 1部屋5万円〜

    大変 楽 画角重複問題 駅の改札方式 かなり良い 1台10万円〜 楽 待ち行列計算 設置大変 しやすい 椅子で体重計測 立ち見問題 1座席1000円〜 少し大変 設置大変 しやすい 無線タグを配る 悪い 1人数百円 少し大変 回収大変 紛失リスク 電波混信 ボタン 参加者 リテラシー依存 1部屋1500円〜 楽 待ち行列計算 しやすい
  6. 59 TypeScriptでやるメリット 開発難易度が劇的に下がる(vs C言語) 精度 センサコスト 開発 運用 スケール カメラ画像分析

    そこそこ 1部屋5万円〜 大変 楽 画角重複問題 駅の改札方式 かなり良い 1台10万円〜 楽 待ち行列計算設 置大変 しやすい 椅子で体重計測 立ち見問題 1座席1000円〜 少し大変 設置大変 しやすい 無線タグを配る 悪い 1人数百円 少し大変 回収大変 紛失リスク 電波混信 ボタン 参加者 リテラシー依存 1部屋1000円〜 楽 待ち行列計算 しやすい 上記は全部TypeScriptで実現可能
  7. 処理性能 メモリ ストレージ 値段 C言語 TypeScript MacBookPro 動く 動く ESP32

    動く ぎり動く PIC 動く 動かない 63 TypeScript vs C言語 ※単純比較できるものではないですがイメージのための概要として
  8. 処理性能 メモリ ストレージ 値段 C言語 TypeScript MacBookPro M3 4.05GHz 8コアCPU

    16GB 255GB 248,800円 動く 動く ESP32 動く ぎり動く PIC 動く 動かない 64 TypeScript vs C言語 ※単純比較できるものではないですがイメージのための概要として
  9. 処理性能 メモリ ストレージ 値段 C言語 TypeScript MacBookPro M3 4.05GHz 8コアCPU

    16GB 255GB 248,800円 動く 動く ESP32 240MHz 536kB 4MB 530円 動く ぎり動く PIC 動く 動かない 65 TypeScript vs C言語 ※単純比較できるものではないですがイメージのための概要として
  10. 処理性能 メモリ ストレージ 値段 C言語 TypeScript MacBookPro M3 4.05GHz 8コアCPU

    16GB 255GB 248,800円 動く 動く ESP32 240MHz 536kB 4MB 530円 動く ぎり動く PIC 32MHz 2kB 3.5kB 160円 動く 動かない 66 TypeScript vs C言語 ※単純比較できるものではないですがイメージのための概要として
  11. 処理性能 メモリ ストレージ 値段 C言語 TypeScript MacBookPro M3 4.05GHz 8コアCPU

    16GB 255GB 248,800円 動く 動く ESP32 240MHz 536kB 4MB 530円 動く ぎり動く PIC 32MHz 2kB 3.5kB 160円 動く 動かない 67 TypeScript vs C言語 ※単純比較できるものではないですがイメージのための概要として
  12. 75 TypeScriptはどこで動 のか デバイス サーバー Cloud デバイス クラウド接続型 有線接続型 スタンドアロン型

    デバイス PC 常時通信 デバイス JSデプロイ型 PC PC デバイス バイナリデプロイ型 常時通信 専用 OS 専用 OS 専用 OS 機能特化型デバイスで ・Webhook型 ・API型 ・BLE通信型 などなど
  13. 76 デバイス比較(一部) 汎用性 デバイス単価 開発 運用 スケール Raspberry Pi スタンドアロン型

    大 高い 楽 しにくい しやすい Moddable スタンドアロン型 大 普通 楽 しにくい しやすい MakeCode バイナリデプロイ型 小 安い 楽 しにくい しやすい Johnny Five 有線接続型 中 普通 楽 しやすい しにくい obniz クラウド接続型 大 高め 楽 しやすい しやすい ※個人の感覚です やりたいことが できるか?の列
  14. 77 デバイスマップ 専用機 汎用機 デバイスコスト 高 デバイスコスト 安 Arduino RaspberryPi

    obniz Moddable Johnny Five PIC STM webiot C言語ゾーン TypeScriptゾーン Toio SH /H8 mbed ※個人の感覚です スマスピ Edison.js
  15. 79 デバイスマップ 専用機 汎用機 デバイスコスト 高 デバイスコスト 安 Arduino RaspberryPi

    obniz Moddable Johnny Five PIC STM webiot C言語ゾーン TypeScriptゾーン Toio SH /H8 mbed ※個人の感覚です スマスピ Edison.js
  16. 82 ピックアップ紹介 - RaspberryPi デバイス スタンドアロン型 ⦿ 小型のコンピューター ⦿ IoT以外でもよく使われる

    ⦿ PCでTSを動かすのと同じようにできる ⦿ 最近RaspberryPi5がでた ⦿ ¥11,000~15,000/台
  17. 83 ピックアップ紹介 - obniz デバイス サーバー Cloud クラウド接続型 常時通信 専用

    OS ⦿ 各デバイスについたIDでインターネット越しに 接続して操作するデバイス ⦿ クラウド接続型なので、AWSなどから動かせる ⦿ アプリアップデートなどがクラウドと同様にで きて楽 ⦿ ¥6,000~¥22,000/台
  18. 84 ピックアップ紹介 - DeviceScript PC デバイス バイナリデプロイ型+α もどき 専用 VM

    Bin ⦿ Microsoftが2023年に唐突に出した ⦿ TS”もどき”をコンパイルしてバイナリ を生成 / 専用VMで実行 ⦿ まだExperimental Project ⦿ VSCodeとの連携/デバッグがしやすい ⦿ ¥600~2,000/台 https://microsoft.github.io/devicescript
  19. 85 ピックアップ紹介 - moddable ⦿ Embedded JavaScript (組み込み向けJSランタイム) ⦿ スタックチャンで使われている

    ⦿ バイナリデプロイが主体だがevalもできる ⦿ ¥600~2,000/台 ⦿ 詳しくは16:40からのセッションを 聞こう! PC デバイス バイナリデプロイ型 | JSデプロイ型 専用 VM
  20. 86 ピックアップ紹介 - Edison.js ⦿ FirmataというPC/マイコンの 通信プロトコルを使っている ⦿ ¥1,500~6,000/台 ⦿

    詳しくは17:20からのセッションを 聞こう! 有線接続型 デバイス PC 常時通信 専用 OS
  21. 87 デバイスマップ 専用機 汎用機 デバイスコスト 高 デバイスコスト 安 Arduino RaspberryPi

    obniz Moddable Johnny Five PIC STM webiot C言語ゾーン TypeScriptゾーン Toio SH /H8 mbed ※個人の感覚です スマスピ Edison.js
  22. 89 精度 センサコスト 開発 運用 スケール カメラ画像分析 そこそこ 1部屋5万円〜 大変

    楽 画角重複問題 駅の改札方式 かなり良い 1台10万円〜 楽 待ち行列計算設 置大変 しやすい 椅子で体重計測 立ち見問題 1座席1000円〜 少し大変 設置大変 しやすい 無線タグを配る 悪い 1人数百円 少し大変 回収大変 紛失リスク 電波混信 ボタン 参加者 リテラシー依存 1部屋1000円〜 楽 待ち行列計算 しやすい これは センサの話
  23. 90 これは 頭脳の話 専用機 汎用機 デバイスコスト 高 デバイスコスト 安 Arduino

    RaspberryPi obniz Moddable Johnny Five PIC STM webiot C言語ゾーン TypeScriptゾーン Toio SH /H8 mbed ※個人の感覚です スマスピ
  24. 91 精度 センサコスト 開発 運用 スケール カメラ画像分析 そこそこ 1部屋5万円〜 大変

    楽 画角重複問題 駅の改札方式 かなり良い 1台10万円〜 楽 待ち行列計算設置 大変 しやすい 椅子で体重計測 立ち見問題 1座席1000円〜 少し大変 設置大変 しやすい 無線タグを配る 悪い 1人数百円 少し大変 回収大変 紛失リスク 電波混信 ボタン 参加者 リテラシー依存 1部屋1000円〜 楽 待ち行列計算 しやすい 組み合わせ 専用機 汎用機 デバイスコスト高 デバイスコスト安 Arduino RaspberryPi obniz Moddable Johnny Five PIC STM webiot C言語ゾーン TypeScriptゾーン Toio SH /H8 mbed スマスピ