7
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

.NET nanoFrameworkでマイコンプログラミング(準備編)

Posted at

.NET nanoFrameworkはC#を用いて組み込みシステムを開発することができるプラットフォームです。

今回は開発に必要な環境を準備していきます。

必要なもの

ハードウェア

・PC(Windows、Mac、Linuxどれでも大丈夫だと思いますが今回はWindowsマシンです)
・ESP32デバイス(入手しやすいです。Devkitでもいいし、M5シリーズでも可。おすすめは M5StickC or M5ATOM)

ソフトウェア

・Visual Studio 2019 or VS Code (VS2019の方が簡単かな・・・)
・.NET SDK or .NET Runtime (5.0以上)

環境の構築

・VisualStudio2019 と .NET SDK のインストールは済ませてください。

・デバイスをPCに接続してデバイスマネージャーを起動し、COMポートの番号を確認しておきます。
001.PNG

・ターミナルを起動しファームウェア書き込みツールをインストールします。

> dotnet tool install -g nanoff

・デバイスにあったファームウェアを検索します。

> nanoff --listtargets --preview

.NET nanoFramework Firmware Flasher v2.0.9+947a088d7c
Copyright (C) 2019 .NET Foundation and nanoFramework project contributors


Listing  targets from 'nanoframework-images-dev' repository [PREVIEW]...
Listing  targets from 'nanoframework-images-community-targets' repository...
Available targets:
  ESP32_PSRAM_XTAL26_REV0
    1.7.3-preview.106
    1.7.3-preview.105
  ESP32_PICO
    1.7.3-preview.106
    1.7.3-preview.105
  M5Core2
    1.7.3-preview.105
  ESP32_PSRAM_REV3
    1.7.3-preview.106
    1.7.3-preview.105
  ESP32_OLIMEX
    1.7.3-preview.106
    1.7.3-preview.105
  M5StickCPlus
    1.7.3-preview.105
  ORGPAL_PALTHREE
    1.7.3-preview.106
  ST_NUCLEO64_F091RC
    1.7.3-preview.106
  TI_CC1352R1_LAUNCHXL_868
    1.7.3-preview.106
    1.7.3-preview.105
  M5StickC
    1.7.3-preview.105
    1.7.3-preview.91
  ESP32_REV0
    1.7.3-preview.105
  M5Core
    1.7.3-preview.105
  KALUGA_1
    1.7.3-preview.105
  ESP32_REV3
    1.7.3-preview.105
  ESP_WROVER_KIT
    1.7.3-preview.156
  FEATHER_S2
    1.7.3-preview.156
  ESP32_LILYGO
    1.7.3-preview.156
  ESP32_BLE_REV0
    1.7.3-preview.156
  ESP32_PSRAM_REV0
    1.7.3-preview.156
  ST_STM32F769I_DISCOVERY
    1.7.3-preview.156
  TI_CC1352R1_LAUNCHXL_915
    1.7.3-preview.156
  ST_STM32F429I_DISCOVERY
    1.7.3-preview.156
  NXP_MIMXRT1060_EVK
    1.7.3-preview.156
  WIN32_nanoCLR
    1.7.3-preview.42
  ST_NUCLEO144_F439ZI
    1.7.0.62
    1.7.0.60
  ST_NUCLEO144_F746ZG
    1.7.0.62
    1.7.0.60
  NETDUINO3_WIFI
    1.7.0.45
    1.7.0.43
  ST_STM32F4_DISCOVERY
    1.7.0.62
    1.7.0.60
  TI_CC1352P1_LAUNCHXL_915
    1.7.0.62
    1.7.0.60
  TI_CC1352P1_LAUNCHXL_868
    1.7.0.62
    1.7.0.60
  PybStick2x
    1.7.0.62
    1.7.0.60
  ST_STM32F411_DISCOVERY
    1.7.0.62
    1.7.0.60
  WEACT_F411CE
    1.7.0.62
  ST_NUCLEO144_F412ZG_NF
    1.7.0.62
    1.7.0.60
  ST_NUCLEO64_F401RE_NF
    1.7.0.62
    1.7.0.60
  MBN_QUAIL
    1.7.0.62
    1.7.0.60
  GHI_FEZ_CERB40_NF
    1.7.0.62
  ST_NUCLEO64_F411RE_NF
    1.7.0.62
  I2M_OXYGEN_NF
    1.7.0.62
    1.7.0.60
  I2M_ELECTRON_NF
    1.7.0.62
  BrainPad2
    1.7.0.33
    1.7.0.31

・デバイス用のファームウェアを書き込みます。例としてM5 ATOM Matrixに書き込んでみました。M5 ATOM Matrixはリストには載っていませんが、チップはESP32 PICOですのでtargetをESP32_PICOとしています。書き込みに失敗する場合は --baud 115200 を指定して転送速度を落としてみてください。

>  nanoff --target ESP32_PICO --serialport COM8 --preview --update
.NET nanoFramework Firmware Flasher v2.0.9+947a088d7c
Copyright (C) 2019 .NET Foundation and nanoFramework project contributors


Using COM8 @ 1500000 baud to connect to ESP32.
Reading details from chip...
OK

Connected to:
ESP32 (ESP32-PICO-D4 (revision 1))
Features WiFi, BT, Dual Core, 240MHz, Embedded Flash, VRef calibration in efuse, Coding Scheme None
Flash size 4MB GD25Q32 from GIGADEVICE (manufacturer 0x200 device 0x16406)
PSRAM: not available
Crystal 40MHz
MAC 50:02:91:xx:xx:xx

Trying to find ESP32_PICO in development repository...OK
Downloading firmware package...OK
Extracting ESP32_PICO-1.7.3-preview.106.zip...OK

Updating to 1.7.3-preview.106

Erasing flash...
OK
Flashing firmware...
Wrote 24192 bytes (15088 compressed) at 0x00001000 in 0.4 seconds (effective 495.3 kbit/s)...
Hash of data verified.
Wrote 1013872 bytes (664299 compressed) at 0x00010000 in 9.6 seconds (effective 848.3 kbit/s)...
Hash of data verified.
Wrote 3072 bytes (136 compressed) at 0x00008000 in 0.0 seconds (effective 524.3 kbit/s)...
Hash of data verified.
OK

・ファームウェアの書き込みが終了したら一度デバイスはPCから外しておきます。

・VisualStudio2019を起動し「コードなしで実行」をクリックします。
01.PNG

・メニューの「拡張機能」>「拡張機能の管理」を選択します。
02.PNG

・右上の検索ボックスに「nanoframework」と入力すると「.NET nanoFramework Extension」が見つかるのでダウンロードをクリックします。
03.PNG
・ダウンロード後一度VisualStudioを終了すると拡張機能のインストールが行われます。

・VisualStudioを再び起動します。プロジェクトテンプレートに「Blank Application(nanoFrmework)」が追加されているので選択して、「次へ」をクリックします。
05.PNG

・プロジェクト名を入力し、作成ボタンをクリックします。
06.PNG

・表示>その他のウィンドウ>Device Explorerを選択します。
07.PNG

・ここでデバイスを接続すると画面右側 Device ExplorerのDevicesに認識したデバイスが表示されます。
08.PNG

・デバイスが認識されているのを確認できたら、画面上部中央の.NET nanoFramwork Deviceボタンをクリックしてプログラムを実行します。
085.PNG

・画面下部の出力ウィンドウに「Hello from nanoFramework!」と表示されたらプログラムは問題なく実行されました。
09.PNG

以上 ここまでできればC#でマイコンプログラミングを行うための環境が整いました。

次は温度センサーを使ったプログラムを作ってみたいと思います。

7
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?