Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

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

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

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2019/08/20 11:00

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

目次

対象読者

 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のプレビューを使用する」にチェックを入れておきましょう。

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

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

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

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

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

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

バックナンバー

連載:C#ではじめるラズパイIoTプログラミング
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5