SlideShare a Scribd company logo
IoTの始め方
~.NET Micro Framework編~
@2015 MVP Community Camp(名古屋会場)
2015/1/31
まどべんよっかいち 青木 宣明 (@kumar0001)
概要
.NET Micro Framework対応マイコン
ボードとMicrosoft Azureを使ったIoTの
始め方を紹介します
内容
• マイコンボードの種類、できること
• .NET Micro Frameworkの開発環境
• プログラミング例
センサーの読み取り
.NET MFとAzure Mobile Serviceとの連携
IoTの構成要素
IoT~Intenet of Things~モノのネットワーク
de:code 2014
“DE-003
Internet Of Things を Windows プラットフォームで実践”より
IoT~デバイスとクラウド
デバイスの要素
マイコンボード
環境センサ
GPS
サーボ
通信
デバイスの構成
マイコンボード
環境センサ
GPS
スマートフォン
独立したデバイス スマートデバイス
+マイコンの補助
マイコンボード
+Bluetooth
環境センサ
今回はここを 第10回まどべん
マイコンボードの代表例
mbed .NET Micro Framework Arduino
Raspberry Pi Intel Edision
NXP LPC1768 Netduino Plus 2 Arduino UNO R3
Raspberry Pi B+ Intel Edision
.NET Micro Framework
• 組み込み向け.NET
Framework
• ARM, SH, x86などに
対応
• 256KB Flash ROM,
64KB RAMの小さな環
境向け
• 言語はC#, VB.NET
• オープンソースとし
て開発
• http://netmf.codeplex.com/
.NET Gadgeteer
• GHI Electronics社の
マイコンボード
• ガジェッターソケッ
トを備えたタイプ
• Arduinoシールド互換
のタイプ
• mbed NXP LPC1768の
ようなDIPタイプ
• 購入先
• http://tinyclr.jp/
FEZ Spider
FEZ Cerb40
FEZ Cerbuino Net
.NET Gadgeteer情報源
MSDNブログ
• 「デバイスとITの架け橋」
http://blogs.msdn.com/b/hirosho/
学習サイト
• Internet of Things キット ハンズオン ト
レーニング
http://ms-iotkithol-jp.github.io/
Netduino
• オープンソースの
マイコンボード
• Arduinoシールド互換
• 購入先
• スイッチサイエンス
• 若松通商
• など
Netduino Plus 2
mbed
ARM社が提供する組み込み機器のプロ
トタイプ開発環境
• ワンボードマイコン
OSはない
• オンラインコンパイラ
Webブラウザでコード作成、バージョン管理
からコンパイルまで実行できる
豊富なライブラリ、サンプル
開発言語はC/C++
• オフラインコンパイル環境も
mbedの種類
http://developer.mbed.org/platforms/
Edison
Intelが2014年9月に発売した超小型
コンピュータ
• Atomプロセッサ搭載
• OSはLinux
公式のYocto Linux 1.6や、Debianなど
• Wi-Fi, Bluetooth 2.1/LE搭載
• 開発言語は C/C++, Python, node.js
monoも利用可能(検証中)
• リモートデバッグが可能な開発環境
C/C++はEclipseベースのIDE
Edisonのボード
Intel Edison Board for Arduino
Intel Edison Breakout Board
秋月電子通商 Edison 2.54mm
ピッチ変換基板
マイコンボードの選択
基本的な使い方は同じ
• 外部入出力(GPIO, I2C, SPI, Analog, PWM, …)
• クラウドへのアクセス(REST, JSON, …)
など
マイコンボード間の差異
• 価格
• 搭載機能
• OS搭載 vs OS非搭載
• 開発言語(C/C++, C#, Python, node.js, …)
• 開発のしやすさ
mbed: ライブラリの公開・利用、Wikiでの情報共有の
仕組み
.NET MF: NuGetでのパッケージ公開・利用
.NET Micro Framework
での開発例
Netduino Plus 2
1× I2C
14×デジタルI/O
UART,PWM,SPI兼用
6×アナログI/O電源micro SD
DC IN
7.5V-9V
イーサネット
(10Mbps)
micro USB
コード領域 384KB
RAM 100KB
リセットボタン
OR
GPIO入力
入出力端子
GPIO
• General Purpose Input/Output
汎用入出力
• 0 / 1の入出力
スイッチとかLEDの点灯などに使える
入出力について
I2C (Inter-Integrated Circuit)
• 同期式の2線式のシリアル通信I/F
シリアルデータ信号SDA
シリアルクロック信号SCL
• 複数のデバイスがバス接続される
アドレスで区別される
• 転送モード
標準モード(最大100kbps)
ファースト・モード(最大400kbps)
高速モード(最大3.4Mbps)
GND SDA SCL GND SDA SCL
デバイス1 デバイス2
部品などの配線
• ブレッドボード
• リード線やピンを穴
に挿して配線する
• 両側の各列が導通
(青色)
• 電源・GNDは横方向
に導通(赤色)
• はんだ付けせずに
配線を試せる
配線例
プログラム開発
開発環境
SDK
デモ
開発環境
Visual Studio 2013
• .NET Micro Framework v4.3 (QFE2-
RTM)からVS2013を正式にサポート!
• サポートされるバージョン
VS2013 Pro/Ult/Express
VS2012 Pro/Ult/Express
VS2014 CTP2~(実験的)
SDKのインストール
.NET Micro Framework v4.3 (QFE2-RTM)
• http://netmf.codeplex.com/releases/view/611040
• SDK同梱のVisual Studio拡張も導入する
Netduino 4.3.1 SDK
• http://www.netduino.com/downloads/netduinosdk_NE
TMF43.exe
Netduino Plus 2 Firmware v4.3.1
• http://forums.netduino.com/index.php?/topic/10479-
netduino-plus-2-firmware-v431/
.NET Micro Framework
2015/1/26
v4.3 QFE2 RTMがリリース
ファームウエアアップデート
MFDeploy
MACアドレス
DNSサーバアドレス
設定すること
ファームウェア実施後に
デモ
GPIO (Lチカ)
I2C
クラウドとのHTTP通信
Azure Survice Bus
シリアル通信・アナログ入力・PWM
SDカード
今日はここまで
プログラムの例①
GPIO - Lチカ
• 0 / 1の入出力
スイッチとかLEDの点灯などに使える
• 基本は以下の3点
① ポートの入出力に合わせて
InputPort/OutputPortを生成
② ポートを読み書きする
プログラムの例②
• I2C
• ADT7410(温度セン
サー)での計測
• 処理の流れ
① 設定情報の初期化
② I2Cの初期化 (アド
レスを指定)
③ 読み込む位置を指
定
④ 値の入力 (サイズは
配列長で指定)
プログラムの例②
Mobile Serviceへのアップロード
① POSTでJSONを送信する
② Microsoft.Azure.Zumo.MicroFramewo
rkを利用
Windows Azure Mobile Servicesクライアン
トを.NET MFへ非公式に移植したもの
データのEntityクラスを定義
モバイルサービスクライアントを使ってCRUD
を実行する
“400 Bad Request”が発生するため調査中…
まとめ
まとめ
.NET Micro Frameworkでのデバイス作成
• GPIO/I2C/UARTなどの外部入出力は他のマイコンと
同じ
開発環境・言語
• Visual Studio 2013が使える
• C#のこれまでのノウハウを使える
• NuGetでライブラリが使える
今後の課題
サービスバスを使ったデータ登録
• 頻度、測定箇所が増えた場合への対応
検証から本番への移行
• 外に持ち出して使えるように基板、電源、通信方法を検討

More Related Content

PPTX
mbedとwindows 8.1
PDF
.NET Micro Framework の基礎
PPTX
2015 0227 OSC-Spring Tokyo NETMF
PPTX
Windows Azure Mobile Servicesによるアプリ構築
PDF
.NET Gadgeteer の紹介
PPTX
Windows10 IoT CoreとBLE
PPTX
これからはじめるIoTデバイス mbed入門編
PDF
【de:code 2020】 ゼロトラスト Deep Dive 間違いだらけのリモートワーク セキュリティ
mbedとwindows 8.1
.NET Micro Framework の基礎
2015 0227 OSC-Spring Tokyo NETMF
Windows Azure Mobile Servicesによるアプリ構築
.NET Gadgeteer の紹介
Windows10 IoT CoreとBLE
これからはじめるIoTデバイス mbed入門編
【de:code 2020】 ゼロトラスト Deep Dive 間違いだらけのリモートワーク セキュリティ

What's hot (17)

PPTX
これから始める Windows io t core
PPTX
2015 1025 OSC-Fall Tokyo NETMF
PPTX
Windows io t core on raspberry pi meets ロボットアーム
PPTX
Windows IoT Core and Robot Arm
PDF
2013 06-22osc nagoya-netmf
PPTX
ラズパイ2にWindows 10 IoT Coreを入れてWindows Universal アプリ動かしてみた
PDF
Rainbowtype secure IoT prototyping system
PDF
mbedでIoTデバイス
PDF
IoT業界で必須サービスになってきたAzure Web PubSubとAzure IoT EdgeのEFLOWについてご紹介
PDF
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
PDF
Azure IoT Edge for Linux on Windows (EFLOW)を学ぶ!
PDF
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
PPTX
Raspberry piと.net coreのstandardな関係
PDF
セキュアエレメントとIotデバイスセキュリティ2
PDF
2014 0228 OSC-Spring Tokyo NETMF
PDF
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ マルチプレイサーバー編 ~
PDF
空(クラウド)と君(デバイス)の間には、今日も冷たい雨が降る
これから始める Windows io t core
2015 1025 OSC-Fall Tokyo NETMF
Windows io t core on raspberry pi meets ロボットアーム
Windows IoT Core and Robot Arm
2013 06-22osc nagoya-netmf
ラズパイ2にWindows 10 IoT Coreを入れてWindows Universal アプリ動かしてみた
Rainbowtype secure IoT prototyping system
mbedでIoTデバイス
IoT業界で必須サービスになってきたAzure Web PubSubとAzure IoT EdgeのEFLOWについてご紹介
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
Azure IoT Edge for Linux on Windows (EFLOW)を学ぶ!
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
Raspberry piと.net coreのstandardな関係
セキュアエレメントとIotデバイスセキュリティ2
2014 0228 OSC-Spring Tokyo NETMF
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ マルチプレイサーバー編 ~
空(クラウド)と君(デバイス)の間には、今日も冷たい雨が降る
Ad

Similar to IoTの始め方~.NET Micro Framework編 (20)

PDF
.NET Micro Framework で IoT
PDF
PDF
OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]
PDF
IoT 入門 ~ .NET Gadgeteer で簡単プログラミング
PDF
IoTでAzureのサービス利用~専門知識なしで始める超入門~
PPTX
ArduinoとMicrosoft AzureでIoTっぽいことをしてみた
PPTX
OSC Tokyo/Fall NETMF 161105
PPTX
ET2016 Smart Japan Alliance Llilum 161118
PDF
.Net GadgeteerでIoT
PPTX
2014 1018 OSC-Fall Tokyo NETMF
PPTX
OSC Nagoya NETMF 160528
PDF
Microsoft Intelligent Edge Technologies
PPTX
大阪市南港ATC イメディオ IoT・ M2Mセミナ資料(web公開用)
PDF
2013 1019osc-fallnetmf
PDF
はじめてのAzure Sphere
PDF
Microsoft Intelligent Edge Technologies
PPTX
VisualStudioでマイコンボードを制御する
PPTX
OSC Tokyo/Spring NETMF 170311
PDF
M5Stackで始めるIoT入門
PDF
IoT Architecture
.NET Micro Framework で IoT
OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]
IoT 入門 ~ .NET Gadgeteer で簡単プログラミング
IoTでAzureのサービス利用~専門知識なしで始める超入門~
ArduinoとMicrosoft AzureでIoTっぽいことをしてみた
OSC Tokyo/Fall NETMF 161105
ET2016 Smart Japan Alliance Llilum 161118
.Net GadgeteerでIoT
2014 1018 OSC-Fall Tokyo NETMF
OSC Nagoya NETMF 160528
Microsoft Intelligent Edge Technologies
大阪市南港ATC イメディオ IoT・ M2Mセミナ資料(web公開用)
2013 1019osc-fallnetmf
はじめてのAzure Sphere
Microsoft Intelligent Edge Technologies
VisualStudioでマイコンボードを制御する
OSC Tokyo/Spring NETMF 170311
M5Stackで始めるIoT入門
IoT Architecture
Ad

More from Nobuaki Aoki (20)

PDF
お小遣いでKubernetesクラスタ
PPTX
このはちゃんとConoHaと私
PPTX
Apache Usergridについて(公開用)
PPTX
Kumalicaのご紹介(公開用)
PPTX
Windows 10 mobile uwpアプリの始め方~continuum編~ (公開用)
PPTX
Windows 10 mobileでnfc~suica・edy対応編~(公開用)
PPTX
Blog=pelican+bit bucket+docker
PPTX
第1回三重合同懇親会
PPTX
Getting started with edison
PPTX
第11回まどべんよっかいちの告知
PPTX
第1回三重合同懇親会の告知
PPTX
(仮)登別クマ牧場のテツロウについて
PPTX
まどべんよっかいちのご紹介
PPTX
Microsoft Azure Mobile Serviceによるアプリ構築
PPTX
Windows.Web.Http.HttpClientとWebAuthenticationBroker
PPTX
Windows phone 8プログラミング~gps&地図編~
PPTX
Windows phone 8のデバイスを使おう~カメラ&フォト編~(公開用)
PPTX
Windows phone 8のデバイスを使おう~近接通信編~(公開用)
PPTX
Wp8 longlistselectorでのページング処理
PPTX
Metrostyleappに挑戦してみた
お小遣いでKubernetesクラスタ
このはちゃんとConoHaと私
Apache Usergridについて(公開用)
Kumalicaのご紹介(公開用)
Windows 10 mobile uwpアプリの始め方~continuum編~ (公開用)
Windows 10 mobileでnfc~suica・edy対応編~(公開用)
Blog=pelican+bit bucket+docker
第1回三重合同懇親会
Getting started with edison
第11回まどべんよっかいちの告知
第1回三重合同懇親会の告知
(仮)登別クマ牧場のテツロウについて
まどべんよっかいちのご紹介
Microsoft Azure Mobile Serviceによるアプリ構築
Windows.Web.Http.HttpClientとWebAuthenticationBroker
Windows phone 8プログラミング~gps&地図編~
Windows phone 8のデバイスを使おう~カメラ&フォト編~(公開用)
Windows phone 8のデバイスを使おう~近接通信編~(公開用)
Wp8 longlistselectorでのページング処理
Metrostyleappに挑戦してみた

IoTの始め方~.NET Micro Framework編