SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

.NET nanoFrameworkとESP32でIoTプログラミング

C#とマイコンでIoTプログラミング! .NET nanoFrameworkとESP32の基本を解説

.NET nanoFrameworkとESP32でIoTプログラミング 第1回

  • X ポスト
  • このエントリーをはてなブックマークに追加

ESP32のさまざまな開発環境

 ESP32の開発環境には、本連載で解説する.NET nanoFramework以外にも、いくつか存在します。

ESP-IDF

 ESP-IDF(ESP-IoT Development Framework)は、ESP32の開発元Espressif Systems社が公開している公式の開発環境です。プログラミングは、C/C++言語で行います。

 ESP-IDFアプリケーションは、Windows、Linux、macOSに対応したバージョンが提供されていますが、Visual Studio Codeで利用できる、ESP-IDF拡張機能「Espressif IDF」というのもあります。

Arduino IDE

 Arduino IDEは、元々は、Arduinoマイコン用のプログラム開発ツールでした。その後Arduino以外のマイコンでも使えるようになり、ESP32でも利用できます。こちらもWindows、Linux、macOSに対応しています。言語は、C/C++言語をベースに、少し簡略化したものとなっています。

MicroPython

 MicroPythonは、Python 3をベースにしたプログラミング言語です。マイコン用に最適化されており、Pythonとの互換性があります。ESP32でも、MicroPythonが利用できます。開発環境としては、Visual Studio Codeの拡張機能や、Thonnyという初心者向けの統合開発環境 (IDE) があります。

その他

 DeviceScriptは、マイコン用のTypeScript言語で、ESP32でも利用できます。.NET nanoFramework同様、Microsoftが開発しており、Visual Studio Codeの拡張機能として提供されています。

 また、Luaといったスクリプト言語を実行できる環境も存在します。

.NET nanoFrameworkではC#を活用してコード作成が可能

 .NET nanoFrameworkは、ESP32やSTM32などの組み込み用デバイス向けに、C#のマネージドコードで作成したアプリの実行を可能にするオープンソースプラットフォームです。つまり、.NET nanoFrameworkを利用すれば、C#のスキルを活用してマイコン用のコードが作成できるというわけです。

 開発ツールとしては、Visual Studio 2022(または2019)、またはVisual Studio Codeが利用可能です。本連載では、Windows環境のVisual Studio 2022を使用することにします。

.NET Core IoTと.NET nanoFramework

 じつは.NET環境には、IoTデバイス向けに、.NET Core IoTというライブラリも存在します。.NET Core IoTは、その名前のとおり、.NET Coreに、IoT用のライブラリを追加したものです。そのため、.NET Coreランタイムが動作可能なリソースが要求されます。対応OSは、Linux、Windows 10 IoT Coreになり、少なくともRaspberry Piのようなデバイスでないと動作しません。

 一方、.NET nanoFrameworkでは、.NET Coreを利用しません。.NET nanoFramework自体に、機能を限定したランタイム(nanoCLR)が含まれています。nanoCLRは、制約のある、より小さなリソースでも動作するように設計されています。.NET nanoFrameworkでは、.NET基本クラスライブラリ(BCL)のサブセットと、.NET IoTに含まれる最も一般的なAPIが提供されています。

.NET nanoFrameworkの構造
.NET nanoFrameworkの構造

次のページ
開発環境の準備をしよう

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
.NET nanoFrameworkとESP32でIoTプログラミング連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 高江 賢(タカエ ケン)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/18591 2023/11/09 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング