SHOEISHA iD

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

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

C#ではじめるラズパイIoTプログラミング

C#でもラズパイIoTができる! .Net Coreで環境構築しよう

C#ではじめるラズパイIoTプログラミング 第1回


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

 C#と言えば、Windows環境だけと思われがちですが、.Net Coreをインストールすれば、Linux環境でもC#で開発したアプリケーションが動作します。また、Raspberry Pi(ラズベリーパイ)でも、C#を使ってIoT開発を行うことができます。この連載では、C#によるIoTプログラミングを解説します。

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

対象読者

 IoTに興味があり、C#とRaspberry Pi(Linux環境)の基本的な知識がある方を対象とします。Linuxや電子工作の初歩的な説明は割愛しているので、「ラズベリーパイをつかったセンサープログラミング超入門」の記事なども併せて参照してください。

はじめに

 アプリケーションのコーディングは、Windows環境にインストールしたVisual Studioで行います。Raspberry Piには、.Net CoreのSDKをインストールし、実行に必要なファイルを転送することにします。

 第1回の今回は、WindowsとRaspberry Pi環境の準備を解説します。

.Net Coreの歴史

 .Net Coreにふれる前に、少し.NETの歴史をふりかえってみましょう。

 Microsoftは、アプリケーションの開発・実行環境となる.NET Frameworkを開発し、2002年にバージョン1の提供を始めました。当初は、Windows 98やXPといったWindows OSのみで動作するものでした。その後もバージョンアップを重ねるものの、公式には、Windows OSのみの実装でした。

 ところが、2014年にMicrosoftは、.NET Frameworkの一部をオープンソースとして公開します。その後、LinuxやmacOSでも動作するクロスプラットフォームの「.NET Core」と「ASP.NET Core」をリリースしました。

 Microsoftが公式に.NET Coreをクロスプラットフォームとしてリリースする前から、.NET Frameworkの互換環境を目指すオープンソースとして「Mono」というものがありました。Monoは、紆余曲折の末、現在は、Microsoftが買収したXamarin社で開発、サポートが行われています。Xamarinは社名でもありますが、同社が開発した、LinuxやWindows、iOS、Android上で動作する.NET実装そのものの名称としても使われています。

 なお、それぞれの.NET環境には、共通して使用可能なAPIがあり、その仕様を.NET Standardとして定めています。

.NET実装と対応OS
.NET実装と対応OS

 ちなみに、Microsoftは、今年(2019年)の5月に、これらの.NET Framework、.NET Core、Xamarin(Mono)を1つに統合した、「.NET 5」のリリースを発表しました。かなり複雑になってしまった.NET環境ですが、.NET 5によって、よりわかりやすくなることを期待したいものです。

.Net Coreとは

 .NET Coreは、オープンソースの汎用的な開発プラットフォームで、開発言語として、C#、Visual Basic、F#言語をサポートしています。.NET Coreには、単なるライブラリやランタイムだけではなく、アプリケーションをビルドできるSDKも含まれています。

 つまり、Visual Studioがなくても、.Net Coreの環境で開発は可能で、Raspberry Pi単体でも開発を行うことができます。ただ、Visual StudioやVisual Studio Codeを使ったほうが、コーディングなどは効率的なので、本連載では、Visual Studioの使用を前提とします。

Windows環境の準備

 最初に、Windowsでの開発準備です。

Visual Studioのインストール

 まずは、Visual Studio 2019をインストールしましょう。公式サイトから、Visual Studio Communityを選択して、インストーラーをダウンロードします。

Visual Studio 2019のダウンロード
Visual Studio 2019のダウンロード

 インストーラーを実行すると、途中で、コンポーネントを選択する画面になります。ここでは、少なくとも「.NETデスクトップ開発」と「.NET Core クロスプラットフォームの開発」を選択しておきます。

コンポーネントを選択する
コンポーネントを選択する

.Net Core 3.0 SDKのインストール

 Visual Studio 2019に含まれる.Net Coreは、バージョン2.1です。このバージョンでもRaspberry Piで動作可能ですが、せっかくなので、本連載ではC# 8.0をサポートした.Net Core 3.0を利用します。

 .Net Core 3.0は、Visual Studioとは別にインストールが必要です。なお執筆時点では、.Net Core 3.0は、プレビューリリース(preview6)の段階です。

 ダウンロードページから、「Build apps - SDK」にある、Windowsのx64(32ビットWindowsならx86)を選択します。ダウンロードしたファイルを実行すれば、インストール完了です。

ダウンロードページ
ダウンロードページ

Visual Studio 2019の設定

 Visual Studio 2019で、.Net Coreのプレビュー版を利用するには、オプションの変更が必要です。

 Visual Studioの「ツール」メニューから「オプション」を選択します。表示されたダイアログの左の項目から、「環境」-「プレビュー機能」を選択し、「.NETコアSDKのプレビューを使用する」にチェックを入れておきましょう。

プレビュー機能の設定
プレビュー機能の設定

会員登録無料すると、続きをお読みいただけます

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

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

メールバックナンバー

次のページ
Raspberry Piの準備

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
C#ではじめるラズパイIoTプログラミング連載記事一覧

もっと読む

この記事の著者

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

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング