SlideShare a Scribd company logo
ArduinoとMicrosoft Azureで
IoTっぽいことをしてみた。
2015/02/19
Developers Summit 2015 OpenJam
1
自己紹介
• 江見 佳緒里(エミ カオリ)
• Windows女子部 2代目部長 & Web班
• 「Final Fantasy XIV: 新生エオルゼア」やってます。
– Aegisサーバで忍者ときどき戦士
• フラメンコ習ってます。
• タッキー&翼のファンです。
2
本日は・・・
3
ArduinoとMicrosoft Azureで
IoTっぽいことをしてみた。
あくまで、「IoTっぽい」ことなので
壮大なものではありません。。
参考にしたページ
コチラの情報を参考にして、
やってみました。
4
http://hypernephelist.com/2014/07/11/arduino-uno-azure-mobile-services.html
Arduino
• オープンソースの電子基盤
• C言語風のプログラミング言語と専用の統合開発環境で
制御
Arduino Uno Arduino IDE
5
Azure Mobile Service
• ざっくり言うと…
– モバイルアプリ開発のためのサービス
– BaaS(Backend as a Service)
• または、MBaaS(Mobile Backend as a Service)
– アプリのデータを入れるテーブルとか
– プッシュ通知とか
– ユーザー認証とか
– データを制御するカスタムAPIが作れたり
6
機能多いですネ。。。
ArduinoからAzureにデータを送る
• 用意するもの
– Arduino Uno(スターターキットがオススメ)
– Arduino イーサネットシールド
– Arduino IDE
– 有線LAN
– パソコン
– Microsoftのアカウント(Azureを使うのに必要)
7
Arduino組み立て
温度センサー
(黒いやつ)
イーサネットシールド
(実際にはArduino Unoの
上に被さっている)
8
Azure Mobile Serviceの作成
9
詳細は、公式のページ
をご参照ください。
Arduinoスケッチの基本
• void setup()
– 初期化処理
– 1回だけ実行される
• void loop()
– メインの処理
– 繰り返し実行される
• その他
– ライブラリを読み込むときは、
#include <xxx.h>で設定。
10
※Arduinoでは、
プログラムのことをスケッチと
呼びます。
図:Lチカのスケッチ
Mobile Serviceとの連携スケッチの流れ
• void setup()
– Ethernetライブラリの初期化とインターネット接続の処理
• void loop()
– 温度センサーの値を取得
– Azure Mobile Serviceのテーブルへデータ送信
– Azure Mobile Serviceからの応答待ち
– Azure Mobile Serviceからの応答をシリアルモニタに表示
– 接続を終了する
11
Azure Mobile Serviceのテーブルへデータ送信
• Rest APIを使います。
12
https://msdn.microsoft.com/ja-jp/library/azure/jj677200.aspx
13
1 if (client.connect(server, 80)) {
Azure Mobile Serviceに接続
2
3 sprintf(buffer, "POST /tables/%s HTTP/1.1", table_name);
POST URIの設定。テーブルを指定。
4 client.println(buffer);
5
6 sprintf(buffer, "X-ZUMO-APPLICATION: %s", ams_key); Azure Mobile Serviceのアプリケー
ション キーを送信7 client.println(buffer);
8
9 client.println("Content-Type: application/json"); Content-Typeを送信
10
11 sprintf(buffer, "Host: %s", server);
Hostヘッダーを送信
12 client.println(buffer);
13
14 sprintf(buffer, "{"value": %d}", value); メッセージボディの作成
15
16 client.print("Content-Length: ");
メッセージボディの長さを送信
17 client.println(strlen(buffer));
18
19 client.println(); 空行(ヘッダの終わり)
20
21 client.println(buffer); メッセージボディを送信
22 ……
実行してみる
14
実行してみる
15
Arduinoから送ったデータ
Mobile Serviceに登録されたデータ
どうしてこうなった(°Д°;)
ハマりポイント
• Arduinoはsprintf関数でfloatが扱えない。
– > Mobile Serviceの「スクリプト」でデータを操作。
16
【Arduinoスケッチ】⇒NG 【Mobile Service内の「スクリプト」】
今後やりたいこと
• センサーの値をリアルタイムで確認するアプリ
(ストアアプリかブラウザアプリで。)
– WebAPI、SignalRを使う・・・らしい?
17
途中で挫折しました・・・
ご清聴ありがとうございました(・∀・)
18

More Related Content

What's hot

What's hot (10)

Arxan導入前後で変わったこと
Arxan導入前後で変わったことArxan導入前後で変わったこと
Arxan導入前後で変わったこと
 
Unity に於けるモバイルプラットフォーム向けビルド自動化のおはなし
Unity に於けるモバイルプラットフォーム向けビルド自動化のおはなしUnity に於けるモバイルプラットフォーム向けビルド自動化のおはなし
Unity に於けるモバイルプラットフォーム向けビルド自動化のおはなし
 
Windows10 IoT CoreとBLE
Windows10 IoT CoreとBLEWindows10 IoT CoreとBLE
Windows10 IoT CoreとBLE
 
Makeblockでキミだけの最強ロボットをつくろう!
Makeblockでキミだけの最強ロボットをつくろう!Makeblockでキミだけの最強ロボットをつくろう!
Makeblockでキミだけの最強ロボットをつくろう!
 
モンスターストライクにおける監視システムのあれこれ
モンスターストライクにおける監視システムのあれこれモンスターストライクにおける監視システムのあれこれ
モンスターストライクにおける監視システムのあれこれ
 
モンスターストライクにおける負荷対策
モンスターストライクにおける負荷対策モンスターストライクにおける負荷対策
モンスターストライクにおける負荷対策
 
ゼロからのエンジニアが開発マネージャーになるまで
ゼロからのエンジニアが開発マネージャーになるまでゼロからのエンジニアが開発マネージャーになるまで
ゼロからのエンジニアが開発マネージャーになるまで
 
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
 
UNIBOOK2執筆ガイドライン
UNIBOOK2執筆ガイドラインUNIBOOK2執筆ガイドライン
UNIBOOK2執筆ガイドライン
 
Unibook3執筆ガイドライン
Unibook3執筆ガイドラインUnibook3執筆ガイドライン
Unibook3執筆ガイドライン
 

Viewers also liked

Viewers also liked (16)

Traditional Knowledge on Biocultural Diversity and Nutrition in Indigenous Co...
Traditional Knowledge on Biocultural Diversity and Nutrition in Indigenous Co...Traditional Knowledge on Biocultural Diversity and Nutrition in Indigenous Co...
Traditional Knowledge on Biocultural Diversity and Nutrition in Indigenous Co...
 
Indicadores de salud
Indicadores de saludIndicadores de salud
Indicadores de salud
 
ビッグデータとナビによるカジュアル ITS(20170124, ITS Japan ITSJapan_コミュニティプラザ)
ビッグデータとナビによるカジュアル ITS(20170124, ITS Japan ITSJapan_コミュニティプラザ)ビッグデータとナビによるカジュアル ITS(20170124, ITS Japan ITSJapan_コミュニティプラザ)
ビッグデータとナビによるカジュアル ITS(20170124, ITS Japan ITSJapan_コミュニティプラザ)
 
Ppt las etapas en la vida matrimonial
Ppt las etapas en la vida matrimonialPpt las etapas en la vida matrimonial
Ppt las etapas en la vida matrimonial
 
Ptengineの計測対象のhttpの部分を設定しなおす
Ptengineの計測対象のhttpの部分を設定しなおすPtengineの計測対象のhttpの部分を設定しなおす
Ptengineの計測対象のhttpの部分を設定しなおす
 
Indoor air quality
Indoor air qualityIndoor air quality
Indoor air quality
 
7/27/16 Deep Learning Top 5
7/27/16 Deep Learning Top 57/27/16 Deep Learning Top 5
7/27/16 Deep Learning Top 5
 
Elementos de Maquina
Elementos de MaquinaElementos de Maquina
Elementos de Maquina
 
Icade - Forte progression des résultats annuels 2016
Icade - Forte progression des résultats annuels 2016Icade - Forte progression des résultats annuels 2016
Icade - Forte progression des résultats annuels 2016
 
Programa de mesures contra la contaminació de l'aire
Programa de mesures contra la contaminació de l'airePrograma de mesures contra la contaminació de l'aire
Programa de mesures contra la contaminació de l'aire
 
Airbus A380
Airbus A380Airbus A380
Airbus A380
 
Top 30 US Accountable Care Orgaizations_Feb, 2017
Top 30 US Accountable Care Orgaizations_Feb, 2017Top 30 US Accountable Care Orgaizations_Feb, 2017
Top 30 US Accountable Care Orgaizations_Feb, 2017
 
Modulo de quimica
Modulo de quimica Modulo de quimica
Modulo de quimica
 
110 preguntas auto evaluacion concurso
110 preguntas auto evaluacion  concurso110 preguntas auto evaluacion  concurso
110 preguntas auto evaluacion concurso
 
REC Solar Customers are Saving Money and the Planet
REC Solar Customers are Saving Money and the PlanetREC Solar Customers are Saving Money and the Planet
REC Solar Customers are Saving Money and the Planet
 
Social Network Prioritization - How to Prioritize Investment in Social Media
Social Network Prioritization - How to Prioritize Investment in Social Media Social Network Prioritization - How to Prioritize Investment in Social Media
Social Network Prioritization - How to Prioritize Investment in Social Media
 

Similar to ArduinoとMicrosoft AzureでIoTっぽいことをしてみた

Similar to ArduinoとMicrosoft AzureでIoTっぽいことをしてみた (20)

Soracom ug
Soracom ugSoracom ug
Soracom ug
 
ラジコンがネットと出会ったら
ラジコンがネットと出会ったらラジコンがネットと出会ったら
ラジコンがネットと出会ったら
 
Jumpwire.io @ Maker Faire Tokyo 2015
Jumpwire.io @ Maker Faire Tokyo 2015Jumpwire.io @ Maker Faire Tokyo 2015
Jumpwire.io @ Maker Faire Tokyo 2015
 
ミニ四駆でPython on Windows Azure
ミニ四駆でPython on Windows Azureミニ四駆でPython on Windows Azure
ミニ四駆でPython on Windows Azure
 
Azure io t_central_iotedge
Azure io t_central_iotedgeAzure io t_central_iotedge
Azure io t_central_iotedge
 
Win32 APIをてなずけよう
Win32 APIをてなずけようWin32 APIをてなずけよう
Win32 APIをてなずけよう
 
【Tokyowebmining】open compute project
【Tokyowebmining】open compute project 【Tokyowebmining】open compute project
【Tokyowebmining】open compute project
 
北陸エンジニアず 自己紹介資料
北陸エンジニアず 自己紹介資料北陸エンジニアず 自己紹介資料
北陸エンジニアず 自己紹介資料
 
垣根のないモノ作り!
垣根のないモノ作り!垣根のないモノ作り!
垣根のないモノ作り!
 
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
 
デバイス内データの安全な保管を考える
デバイス内データの安全な保管を考えるデバイス内データの安全な保管を考える
デバイス内データの安全な保管を考える
 
Io t最初の一歩
Io t最初の一歩Io t最初の一歩
Io t最初の一歩
 
観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪
観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪
観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪
 
littleBitsとIFTTTで超お手軽IoTクッキング
littleBitsとIFTTTで超お手軽IoTクッキングlittleBitsとIFTTTで超お手軽IoTクッキング
littleBitsとIFTTTで超お手軽IoTクッキング
 
IoT Technologies
IoT TechnologiesIoT Technologies
IoT Technologies
 
mbedとwindows 8.1
mbedとwindows 8.1mbedとwindows 8.1
mbedとwindows 8.1
 
PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話
PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話
PukiWiki と Raspberry Pi と Arduino を連携させてIoT システムを作ってみた話
 
Unity×HTMLで作るiPhone オンラインゲーム開発事例
Unity×HTMLで作るiPhone オンラインゲーム開発事例Unity×HTMLで作るiPhone オンラインゲーム開発事例
Unity×HTMLで作るiPhone オンラインゲーム開発事例
 
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
 
Azure IoT Edge入門
Azure IoT Edge入門Azure IoT Edge入門
Azure IoT Edge入門
 

Recently uploaded

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
 

Recently uploaded (11)

論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 

ArduinoとMicrosoft AzureでIoTっぽいことをしてみた

Editor's Notes

  1. 自己紹介。
  2. Sprintf(エスプリントエフ)文字列書式に従って文字配列に書き込みます。