SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
sakura.io体験ハンズオン
Report
法林浩之
Follow
幹事 at 法林浩之
Sep. 4, 2017
•
0 likes
•
902 views
1
of
119
sakura.io体験ハンズオン
Sep. 4, 2017
•
0 likes
•
902 views
Download Now
Download to read offline
Report
Technology
2017年9月2日(土)、日本Androidの会熊本支部の勉強会でのハンズオン資料です。 https://jagkumamoto.connpass.com/event/62426/
法林浩之
Follow
幹事 at 法林浩之
Recommended
どこでも使えるIoTを目指して 〜さくらインターネットのIoTへの取り組み〜
法林浩之
1.2K views
•
67 slides
どこでも安全に使えるIoTを目指して ~さくらインターネットのIoTへの取り組み~
法林浩之
521 views
•
141 slides
【最新版誘導用】sakura.ioご紹介
さくらインターネット株式会社
3.2K views
•
38 slides
IoTセキュリティガイドラインの検討
Toshihiko Yamakami
552 views
•
26 slides
座談会(趣旨説明資料) 20160417
知礼 八子
1.6K views
•
15 slides
IoTプラットフォーム正式版リリース記者説明会
さくらインターネット株式会社
3K views
•
39 slides
More Related Content
What's hot
とあるセキュリティ会社のIoTセキュリティチームの日常(ErrataはDescription参照)
Tatsuya (達也) Katsuhara (勝原)
5.5K views
•
18 slides
20180914 security iotlt#1_ほんとうにあった怖い話_aws_iot編
Tatsuya (達也) Katsuhara (勝原)
2.9K views
•
32 slides
IoT系標準化の動き(メモ、2016年) (in Japanese)
Toshihiko Yamakami
6.2K views
•
50 slides
【最新版誘導用】クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン
さくらインターネット株式会社
1.2K views
•
89 slides
Innovation Egg presen_160130
知礼 八子
4.6K views
•
45 slides
Ransomware Prevention Best Practices
Takeo Sakaguchi ,CISSP,CISA
350 views
•
22 slides
What's hot
(20)
とあるセキュリティ会社のIoTセキュリティチームの日常(ErrataはDescription参照)
Tatsuya (達也) Katsuhara (勝原)
•
5.5K views
20180914 security iotlt#1_ほんとうにあった怖い話_aws_iot編
Tatsuya (達也) Katsuhara (勝原)
•
2.9K views
IoT系標準化の動き(メモ、2016年) (in Japanese)
Toshihiko Yamakami
•
6.2K views
【最新版誘導用】クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン
さくらインターネット株式会社
•
1.2K views
Innovation Egg presen_160130
知礼 八子
•
4.6K views
Ransomware Prevention Best Practices
Takeo Sakaguchi ,CISSP,CISA
•
350 views
さくらのIoTPlatform @CEATEC発表資料(スライドシェア)
亮介 山口
•
10.9K views
IBM Cloud&sakura.io体験ハンズオン
さくらインターネット株式会社
•
1.7K views
DDoS対処の戦術と戦略
Tomohiro Nakashima
•
6.3K views
Azureでデータ解析
Tsubasa Yoshino
•
1.5K views
Jazug信州 クラウドとデータ解析
Tsubasa Yoshino
•
501 views
座談会資料(趣旨とテーマ)配布用 20151003
知礼 八子
•
2.1K views
座談会資料(趣旨説明資料) 20161022
知礼 八子
•
1K views
IoTのIを考えてみる話
エンジニア勉強会 エスキュービズム
•
715 views
HPCへの期待(NCAトップガンセミナー自己紹介)
Miki Yutani
•
621 views
企業情報システムにおける先進的な技術の活用
Miki Yutani
•
2.3K views
Use of InfiniBand in cloud impementation
SAKURA Internet Inc.
•
6.3K views
座談会資料(趣旨とあゆみ)配布用 20151114
知礼 八子
•
3.2K views
座談会資料(討議メモ付き) 20170225
知礼 八子
•
1.2K views
第32回Websig会議「クラウドは○○を共有するサービス」
Sen Ueno
•
1.2K views
Similar to sakura.io体験ハンズオン
シラサギハンズオン in 仙台 powered by さくらのクラウド
法林浩之
481 views
•
57 slides
シラサギハンズオン in 鹿児島 powered by さくらのクラウド
法林浩之
429 views
•
57 slides
さくらのナレッジ 〜ITエンジニアに役立つ情報を全力でシェア!〜
法林浩之
775 views
•
17 slides
30分で理解するLet's Encryptの仕組みとSSL証明書の使い方
法林浩之
6.5K views
•
60 slides
さくらインターネットのIoTへの取り組み
法林浩之
707 views
•
31 slides
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
法林浩之
1K views
•
57 slides
Similar to sakura.io体験ハンズオン
(20)
シラサギハンズオン in 仙台 powered by さくらのクラウド
法林浩之
•
481 views
シラサギハンズオン in 鹿児島 powered by さくらのクラウド
法林浩之
•
429 views
さくらのナレッジ 〜ITエンジニアに役立つ情報を全力でシェア!〜
法林浩之
•
775 views
30分で理解するLet's Encryptの仕組みとSSL証明書の使い方
法林浩之
•
6.5K views
さくらインターネットのIoTへの取り組み
法林浩之
•
707 views
さくらのIoT Platformを使ってみよう ~OSC浜名湖編~
法林浩之
•
1K views
さくらのクラウドのスタートアップスクリプトにbaserCMSが追加されたので、使ってみよう(長い)
法林浩之
•
822 views
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
法林浩之
•
1.5K views
ITの話ができる仲間を作ろう ~IT業界とコミュニティ活動~
法林浩之
•
4.5K views
さくらのナレッジ ~ITエンジニアに役立つ情報を全力でシェア~
法林浩之
•
872 views
IT業界におけるコミュニティ活動とキャリア形成
法林浩之
•
886 views
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
法林浩之
•
885 views
さくらのナレッジの裏側
法林浩之
•
461 views
【1980年代編】平成生まれのためのUNIX&IT歴史講座
法林浩之
•
1.6K views
【2022年5月】平成生まれのためのUNIX&IT歴史講座 / 20220528 unixhistory for young
法林浩之
•
210 views
ITコミュニティへのお誘いと、運営へのお誘い
法林浩之
•
1.3K views
【2020年10月東京編】平成生まれのためのUNIX&IT歴史講座
法林浩之
•
525 views
【2021年7月】平成生まれのためのUNIX&IT歴史講座
法林浩之
•
182 views
さくらのナレッジの運営から見えるもの
法林浩之
•
751 views
【2020年11月大阪編】平成生まれのためのUNIX&IT歴史講座
法林浩之
•
277 views
More from 法林浩之
技術広報ってどんな仕事で、どんな能力があるといいの
法林浩之
115 views
•
25 slides
【2023年5月】平成生まれのためのUNIX&IT歴史講座
法林浩之
21 views
•
65 slides
【インターネットの母編】平成生まれのためのUNIX&IT歴史講座
法林浩之
319 views
•
39 slides
さくらインターネットとさくらのクラウドの紹介
法林浩之
43 views
•
34 slides
Learn Languages 2022まとめ
法林浩之
43 views
•
28 slides
【2022年7月】平成生まれのためのUNIX&IT歴史講座
法林浩之
69 views
•
47 slides
More from 法林浩之
(20)
技術広報ってどんな仕事で、どんな能力があるといいの
法林浩之
•
115 views
【2023年5月】平成生まれのためのUNIX&IT歴史講座
法林浩之
•
21 views
【インターネットの母編】平成生まれのためのUNIX&IT歴史講座
法林浩之
•
319 views
さくらインターネットとさくらのクラウドの紹介
法林浩之
•
43 views
Learn Languages 2022まとめ
法林浩之
•
43 views
【2022年7月】平成生まれのためのUNIX&IT歴史講座
法林浩之
•
69 views
インフラを意識せずにSaaS開発ができる! さくらの次世代PaaS「Hacobune」
法林浩之
•
313 views
さくらのひやおろし
法林浩之
•
189 views
さくらの全国行脚オンラインイベント広島編の報告
法林浩之
•
248 views
Learn Languages 2021まとめ
法林浩之
•
293 views
【2021年3月】平成生まれのためのUNIX&IT歴史講座
法林浩之
•
424 views
私と西新宿セミナールーム、そして…
法林浩之
•
371 views
さくらのナレッジのこれまで
法林浩之
•
974 views
2020年の試合まとめ
法林浩之
•
271 views
5分でわかる!さくらの専用サーバPHY
法林浩之
•
362 views
コミュニティ運営とさくらのVPS 〜日本UNIXユーザ会の場合〜
法林浩之
•
568 views
【2020年6月札幌編】平成生まれのためのUNIX&IT歴史講座
法林浩之
•
701 views
衛星データプラットフォームTellusを使ってみよう
法林浩之
•
801 views
【2020/04/23時点】新型コロナウイルスに対するさくらインターネットの取り組み
法林浩之
•
566 views
衛星データプラットフォーム「Tellus」を使ってみよう
法林浩之
•
1.6K views
Recently uploaded
CatBoost on GPU のひみつ
Takuji Tahara
528 views
•
30 slides
テスト自動化.pdf
ssuserf8ea02
25 views
•
26 slides
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
140 views
•
12 slides
ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
sugiuralab
5 views
•
1 slide
IGDA Japan SIG Audio #20-1 室内・野外でのマイク収録と整音.pdf
IGDA Japan SIG-Audio
113 views
•
31 slides
MLOps Course Slides_JP(配布用).pdf
Yuya Yamamoto
40 views
•
31 slides
Recently uploaded
(14)
CatBoost on GPU のひみつ
Takuji Tahara
•
528 views
テスト自動化.pdf
ssuserf8ea02
•
25 views
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
•
140 views
ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
sugiuralab
•
5 views
IGDA Japan SIG Audio #20-1 室内・野外でのマイク収録と整音.pdf
IGDA Japan SIG-Audio
•
113 views
MLOps Course Slides_JP(配布用).pdf
Yuya Yamamoto
•
40 views
インフラチームとCCoEの関係.pptx
ssuser5c7ee4
•
16 views
2023情報処理学会関西支部大会-G12.pdf
KoseiShimoda1
•
7 views
磁石内臓イヤリングによる磁力変化を利用したジェスチャ識別
sugiuralab
•
7 views
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
•
159 views
画像生成AIの問題点
iPride Co., Ltd.
•
10 views
GraphQLはどんな時に使うか
Yutaka Tachibana
•
11 views
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
•
55 views
拡散する画像生成.pdf
NTTDOCOMO-ServiceInnovation
•
44 views
sakura.io体験ハンズオン
1.
sakura.io 体験ハンズオン 2017/9/2 (C) Copyright
1996-2017 SAKURA Internet Inc さくらインターネット株式会社 コミュニティマネージャー 法林 浩之
2.
私について 2 どんな人? ・日本UNIXユーザ会 幹事 (元会長) -
全国のOSCなどで研究会を開催 - 多種多様なコミュニティとイベントを共同開催 ・フリーランスエンジニア ・さくらインターネット コミュニティマネージャー - 会社主催イベントの運営 - 社外イベント対応(協賛/出展/登壇/取材など) - 技術記事の執筆 ・くわしくは「法林浩之」で検索 写真 Twitter @hourin Facebook 法林 浩之
3.
• SlideShareのさくらインターネットアカウント 本日の資料はSlideShareにあります 5 ス ラ
イ ド シ ェ ア http://www.slideshare.net/sakura_pr/ ウェブアクセラレータ紹介資料 シンプル監視アプライアンス導入ガイド
4.
6 はじめに
5.
本ワークショップの目的 7 1. 本ハンズオンはsakura.ioを使用し、組込み系エンジニアおよび Web/アプリ開発系のエンジニアがご自身のスキルセットを 大きく超えることなく、Internet of
Things(IoT)に挑戦できることを 体験いただくものです。 2. そのため各章内で技術的な詳細は極力省略しております。 3. 今回は1人1つワークショップキットをご用意しておりますが、 組込みやWeb/アプリ開発に詳しい方がいらっしゃいましたら、 ご不明点を積極的にフォローしあって進めていただければと思います。
6.
SNSへの投稿、大歓迎です! 8 #sakuraio
7.
今回のハンズオンの流れ 11 マイコンおよび プログラムの構築 Webサービス連携 (さくらのクラウド) マイコン(Arduino Uno) 温湿度センサ (SHT31/HDC1000) さくらの通信 モジュール sakura.ioの設定 仮想サーバ
8.
Agenda 12 1. マイコンおよびプログラムの構築 ₋ マイコン(Arduino)による開発環境の準備 ₋
温湿度センサおよびさくらの通信モジュールの繋ぎ込み ₋ 試験用プログラムの流し込み 2. sakura.ioの設定 ₋ プロジェクトの作成 ₋ さくらの通信モジュールの登録 ₋ 連携サービスの設定 3. Webへのデータ連携(さくらのクラウド) ₋ Node-REDサーバ用インスタンスの作成 ₋ WebSocketを利用したデータ連携フロー作成
9.
13 Arduino IDEの セットアップ
10.
Arduino IDEのセットアップ 14 https://www.arduino.cc/en/Main/Software から開発環境(Arduino
IDE)を入手します。 2017/8/25時点での最新版は【1.8.4】となります。 Windowsは【Windows Installer】、Macは【 Mac OS X 10.7 Lion or newer】を選択します。
11.
Arduino IDEのセットアップ 15 該当の金額を選択するか(寄付する場合)、もしくは【JUST DOWNLOAD】にてダウンロードします。
12.
Arduino IDEのセットアップ 16 インストールはデフォルト推奨、ドライバーについても全てインストールします。 #本スライド記載の画像はWindowsの場合になります。
13.
17 マイコンおよび プログラムの構築
14.
今回のハンズオンの流れ 18 マイコンおよび プログラムの構築 Webサービス連携 (さくらのクラウド) マイコン(Arduino Uno) 温湿度センサ (SHT31/HDC1000) さくらの通信 モジュール sakura.ioの設定 仮想サーバ
15.
今回のワークショップでご提供するもの 19 ジャンパーコードさくらの通信モジュール(アンテナ付) +Arduino用シールド&Arduino Uno Rev3 USB2.0 ケーブル(A-B) 12W級
9V-1.3A DCアダプタ ブレッドボード 人感センサ (SB412A) 照度センサ (GL5537-2) 温湿度センサ (HDC1000 or SHT31) 各種抵抗 ※必要に応じてご提供 タクトスイッチ ※必要に応じてご提供 抵抗入りLED ※必要に応じてご提供 本日は使用しません
16.
Arduino IDEのセットアップ 20 Arduino IDEが起動したら、Arduino本体をPCに接続します。
上部メニューバーから以下2つを設定します。 ボード:[ツール]→[ボード:”XXX”]から【 Arduino/Genuino Uno 】を選択します。 シリアルポート:[ツール]→[シリアルポート]から【~~~(Arduino/Genuino Uno)】となるものを選択します。 ボードの選択 シリアルポートの選択
17.
マイコン(Arduino)の準備 21 [ファイル]→[スケッチ例]→[01.Basics]→[Blink]を選択し、Blinkスケッチを表示します。 【→】をクリックしてスケッチをマイコンに書き込み、該当箇所のLEDが点滅状態になることを確認します。 何らかの問題があった場合、スケッチ下部にオレンジ色のエラーが表示されます。
18.
ライブラリの取得(温湿度センサ-HDC1000) 23 [スケッチ]→[ライブラリをインクルード]→ [ライブラリを管理...]をクリックし、 右上検索窓から【hdc1000】を検索すると、[HDC1000 by
Yuichi Tateno]がヒットします。 インストールをクリックすると該当ライブラリが取り込まれ、[INSTALLED]が表示されます。
19.
ライブラリの取得(SakuraIO) 25 [スケッチ]→[ライブラリをインクルード]→ [ライブラリを管理...]をクリックし、 右上検索窓から【sakuraio】を検索すると、[SakuraIO by
SAKURA Internet Inc.]がヒットします。 最新のVer.を選択のうえインストールをクリックすると該当ライブラリが取り込まれ、[INSTALLED]が表示されます。
20.
ブレッドボードについて 27 ブレッドボードは場所によって接続されている場所が異なります。 下記の繋がっている部分を意識して配線を行ってください。
21.
RDY/ADR 温湿度センサ(HDC1000/SHT31)の繋ぎ込み 28 図に従い、温湿度センサの向きに注意しながら配線します。(実際にはArduinoシールドに対して配線します) ブレッドボード側は色で明示された位置であれば、自由に接続しても問題ありません。 温湿度センサ側のRDY/ADRピンは今回は使用しないため、何も配線しません。 GND SDA SCL 3.3V <凡例> GND SCL SDA 3.3V
22.
試験用プログラムの流し込み 30 [ファイル]→ [スケッチ例]→[SakuraIO]→[HDC1000] を選択し、HDC1000スケッチを表示します。 【→】をクリックし、[ツール]→[シリアルモニタ]より「Waiting
to come online」表記の後、 カウント値、Temperature、Humidityに加え、Available(キューイング可能なチャンネル数)と Queued(キューで送信待ちになっているチャンネル数)が表示されることを確認します。
23.
32 sakura.ioの設定
24.
今回のハンズオンの流れ 33 マイコンおよび プログラムの構築 Webサービス連携 (さくらのクラウド) マイコン(Arduino Uno) 温湿度センサ (SHT31/HDC1000) さくらの通信 モジュール sakura.ioの設定 仮想サーバ
25.
sakura.io コントロールパネル ログイン 34 sakura.io
コントロールパネル(https://secure.sakura.ad.jp/iot/)にログインします。 Googleにて「さくらインターネット iot 開発者」を検索し、開発者向けページの下記ボタンからもアクセスします。
26.
コントロールパネルへのログイン 35 既にログイン済みのセッションがない場合、以下画面にて会員認証を求められます。 会員ID、パスワードを利用してログインします。
27.
プロジェクトC プロジェクトB sakura.ioコントロールパネルにおける考え方 38 sakura.ioでは【プロジェクト】という単位で大枠を構成し、プロジェクト内に複数の【通信モジュール】、 【連携サービス】を紐付けていきます。 【データストア】や簡易位置情報、ファイル配信といった 【オプションサービス】はプロジェクトに対して一つもしくは1セット設定することができます。 プロジェクトA 通信モジュール1 uAAAAAAAAAA 通信モジュール2 uBBBBBBBBBB 通信モジュール3 uCCCCCCCCCC データストア Light/Standard/… 簡易位置情報 ON/OFF 連携サービス1 WebSocket 連携サービス2 Outgoing Webhook ファイル配信 File1/File2/… 連携サービス3 AWS
IoT プロジェクトに対して 複数紐付け可能 プロジェクトに対して 単一(1セット)設定可能 プロジェクトに対して 複数紐付け可能
28.
約款への同意 39 初めてコントロールパネルにログインした場合、各種約款への同意を求められます。 内容をご確認いただいたうえで、[✓同意する]をクリックするとコントロールパネルにアクセスできます。
29.
プロジェクトの作成 40 初めはプロジェクトが無いため、新規にプロジェクトを作成する必要があります。 まずプロジェクトを作成するため、[+新規プロジェクト]をクリックします。
30.
プロジェクトの作成 41 新規プロジェクトの作成画面に遷移します。 [名称]欄に任意の名前を入力し、[追加]をクリックします。
31.
通信モジュールの登録 42 プロジェクトが作成されました。次に通信モジュールの登録を行います。 [モジュール登録]のボタンをクリックします。
32.
通信モジュールの登録 43 モジュールの追加画面に遷移します。指定したプロジェクトが選択されていることを確認のうえ、 登録用ID、登録用パスワード、および任意の名称を入力して、[追加]ボタンをクリックします。
33.
通信モジュールの登録 44 モジュールの追加に成功すると[モジュールを追加しました]というダイアログが表示されます。 [ホームへ戻る]ボタンをクリックしてホームに戻ります。 ID/PASSが正しくない、もしくは既に登録されている通信モジュールを追加しようとした場合は 内容とともに[モジュールの追加に失敗しました]というダイアログが表示されます。 登録が成功した場合 登録が失敗した場合 登録用ID /
登録用パスワードのいずれかに誤りがあります、再度ご確認ください 別の会員IDに登録されています、過去登録した会員IDにログインし、解除ください
34.
連携サービスの設定 45 通信モジュールが登録されました。最後に外部への連携サービスを設定します。 [+サービス追加]のボタンをクリックします。
35.
連携サービスの設定(WebSocket) 46 追加サービスの選択画面に遷移します。 今回はWebSocketを作成しますので、[WebSocket]をクリックします。
36.
連携サービスの設定(WebSocket) 47 WebSocketの作成には特に設定事項はありません。 [名前]欄に任意の名前を入力し、[作成]ボタンをクリックします。
37.
連携サービスの設定 48 連携サービスが登録されました。この後で使用するWebSocketのURLを確認します。 該当のプロジェクトにて作成された名称の連携サービスをクリックします。
38.
連携サービスの設定(WebSocket) 49 WebSocketを設定しました、これでコントロールパネルでの準備は完了です。 ここで表示されるWebSocketのURLはハンズオンの後半で使用しますので書き留めておいてください。
39.
動作確認(WebSocket) 50 なお、WebSocketの場合、簡易的に通信モジュールからのデータを確認することができます。 簡易表示モードでは通信モジュールから受け取ったデータを以下のように確認できます。 →温度 →湿度 →カウント値 データを送信した 通信モジュールのID データが格納された チャンネル番号 送信されたデータの タイムスタンプ 送信された値データの型
40.
動作確認(WebSocket) 51 [詳細表示モードに切り替え] をクリックすると詳細表示モードに遷移します。 時刻やモジュールは同一ですが、データの内容によりタイプやペイロードが異なります。 複数チャンネルある場合、 それぞれの最終データを表示 クリックでログ出力を 開始/停止 タイプはいくつかの種類に分かれる ・channels :通信モジュールからのデータ ・connection
:接続の開始/終了 ・location :簡易位置情報 ・keepalive :WebSocketセッション確認 ペイロードには受け取った データのpayload部が表示
41.
52 Webへのデータ連携 (さくらのクラウド)
42.
今回のハンズオンの流れ 53 マイコンおよび プログラムの構築 Webサービス連携 (さくらのクラウド) マイコン(Arduino Uno) 温湿度センサ (SHT31/HDC1000) さくらの通信 モジュール sakura.ioの設定 仮想サーバ
43.
さくらのクラウド コントロールパネル ログイン 54 さくらのクラウドコントロールパネル(https://secure.sakura.ad.jp/cloud/)にログインします。 「さくらインターネット会員としてログイン:」に会員ID、パスワードを入力してログインすることができます。 ハンズオンでは既にさくらのクラウドのユーザは作成済みとなります。
44.
さくらのクラウド コントロールパネル ログイン 55 さくらインターネット会員としてログインするとアカウントの選択を求められます。 自身が利用するアカウントを選択します。 アカウントを作成していない場合は上記タブからアカウントを選択し作成する必要があります。
45.
さくらのクラウド コントロールパネル ログイン 58 ユーザでログインができたら[さくらのクラウド(IaaS)]をクリックします。
46.
Node-REDサーバの作成 59 左側のペインのサーバを選択し、右上の【 追加 】ボタンをクリックします。 はじめはサーバ追加の案内が出る場合があります。
47.
Node-REDサーバの作成 60 デフォルトではサーバの作成は細かい設定が不要な「シンプルモード」で作成できます。 スタートアップスクリプトを利用する場合は右上の【 シンプルモード 】のチェックを外します。
48.
Node-REDサーバの作成 61 サーバプランでは仮想サーバに割り当てるCPUとメモリの量を指定します。 仮想コアは【 1 】を、メモリは【
1GB 】を、それぞれ選択します。
49.
Node-REDサーバの作成 62 2.ディスクでは使用するディスクの種類やサイズ、インストールイメージを選択します。 アーカイブ選択のみ【 CentOS 7.x
64bit #xxxxxxxxxxxx 】を選択し、後はデフォルトとします。
50.
Node-REDサーバの作成 63 3.NICではネットワークに関する設定を指定します。 今回はすべてデフォルトの値を使用しますので変更は不要です。
51.
Node-REDサーバの作成 64 4.ディスクの修正ではOSに関する設定値を指定します。 管理ユーザのパスワードおよびホスト名は任意の値を入力します。 公開鍵は今回のハンズオンでは使用しないためデフォルトの【 なし 】を使用します。
52.
Node-REDサーバの作成 65 [スタートアップスクリプト]で【 shell 】を選択のうえ、[配置するスタートアップスクリプト]で 【
[public] Node-RED #xxxxxxxxxxx 】を選択します。オプションのWebUIポート番号には【 80 】を入力します。
53.
Node-REDサーバの作成 66 5.シンプル監視はさくらのクラウドで提供する死活監視のサービスとなります。 本件では使用しないため、デフォルトのチェックなしで進めます。
54.
Node-REDサーバの作成 67 6.サーバの情報はコントロールパネル上で管理するための情報を記述する項目となります。 本件では名前に判別がつくような任意の値を入力します。
55.
Node-REDサーバの作成 68 7.その他のオプションおよび作成数はすべてデフォルトの値を使用します。 内容を確認し、問題がなければ【 作成 】をクリックします。
56.
Node-REDサーバの作成 69 操作確認のダイアログにて、作成しても良いか改めて確認されますので、 問題がなければ【 作成 】をクリックすると指定したサーバやディスクの作成を開始します。 ステータスが全て成功になればサーバの作成が完了となります。
57.
Node-REDサーバの作成 70 サーバが作成されました。【 http://<IPアドレス>:<指定したWeb UIポート番号>/
】に Webブラウザよりアクセスします。WebUIポートに80番ポートを指定した場合はポート番号を省略可能です。
58.
Node-RED 初期画面 71 Node-REDは「ノード」と呼ばれる機能の固まりをシート上で組み合わせ、 ひとつの「フロー」にすることで、ほとんどプログラミングを知らない人でも プログラムを構築することができるツールとなります。 ノード パレット シート Info/Debug コンソール デプロイ
59.
Node-RED WebSocketノードの作成 72 まずはWebSocketからのデータを受け取るノードを追加します。 ノードパレットの入力から「websocket」ノードをシートにドラッグ&ドロップします。
60.
Node-RED WebSocketノードの作成 73 ドラッグ&ドロップされたWebSocketノードをWクリックし、設定画面に移ります。 Typeは「接続」、Nameは「任意の名称」を入力のうえ、URLの行にある鉛筆マークをクリックします。
61.
Node-RED WebSocketノードの作成 74 指定するURLの値は、コンパネの連携サービスで確認できる赤枠部分となります。 赤枠部分の情報をコピーして、WebSocketノードのURL部分にペーストします。
62.
Node-RED WebSocketノードの作成 75 URL部分はコンパネからのペーストを行い、ドロップダウンの項目については 「ペイロードを送信/受信」を選択し、【追加】をクリックします。
63.
Node-RED WebSocketノードの作成 76 【完了】をクリックするとwebsocketノードへの設定が反映され、設定不備がない場合はノードの三角マークが消えます。 WebSocketノードへの設定が反映されましたが、この時点ではsakura.ioからデータは入ってきていません。 続いてはデータを表示するためのDebugノードを作成します。
64.
Node-RED Debugノードの作成 77 次に、ノードパレットの出力から「debug」ノードをシートにドラッグ&ドロップします。 Debugノードは自動で「msg.payload」に名前が変わります。特に設定は不要です。
65.
Node-RED ノード間の接続 78 各ノードの動作を繋げるために、WebSocketノード右端とDebugノード左端をドラッグ&ドロップで繋ぎます。
66.
Node-RED フローのデプロイ 79 各ノードを接続し、準備が完了したら、右上部の【デプロイ】をクリックします。 デプロイが完了するとデプロイボタンがグレーアウトされ、設定した内容を元に処理が開始されます。
67.
動作確認 80 フローに問題がない場合、Websocketノード下部に[connected]と表示され、 コンソールのデバッグ内にプラットフォームから取得したJSONデータを確認できます。 デバッグノード右端の緑マークをクリックするとdebugへの表示が停止されます。
68.
Node-RED フローサンプルの入手 81 取得した温度情報を元にメッセージを生成し、Twitterアカウントへ投稿するフローを入手します。 「github nyuuki0224」で検索し、検索結果からGitHubのサイトへ移動します。 https://github.com/Nyuuki0224/node-red-with-sakura.io
69.
Node-RED フローサンプルの入手 82 https://github.com/Nyuuki0224/node-red-with-sakura.io ファイルリストから「flow_twitter_temp.txt」クリックし、ソースコード表示画面右上の「Raw」をクリックすると フローサンプルがプレーンテキストで表示されますので、全部コピーします。
70.
Node-RED フローサンプルの読み込み 83 Node-RED右上の【Ξ】→【読み込み】→【クリップボード】を選択し、画面内のポップアップに、 先ほどコピーしたフローサンプルをペーストして、「読み込み」をクリックして保存します。 読み込まれたフローは「Twitter投稿」というタブに表示されます。
71.
Node-RED フローサンプルの紹介 86 文字列として受け取った JSONデータの変換 通信モジュールからの データのみを通過 温度(ch0)データだけを抽出 温度のValueを切り上げ 実行したら10分待機 メッセージ生成
72.
Node-RED フローサンプルの設定 87 前回と同様に WebSocketノードを設定 連携先の Twitter IDを設定
73.
連携先のTwitter IDの設定 88 フローサンプル右下のTwitterノードをダブルクリックし、設定画面に移ります。 Twitter IDは「新規にtwitter-credentialsを追加」に設定し、その右にある鉛筆マークをクリックします。
74.
連携先のTwitter IDの設定 89 「Twitterの認証を行うため、ここをクリックしてください」をクリックすると、 Twitterの連携アプリ認証画面に遷移します。
75.
連携先のTwitter IDの設定 90 TwitterのIDとパスワードを入力し、「連携アプリを認証」をクリックします。 「Authorised -
you can close this window and return to Node-RED」が表示されたら認証に成功しています。
76.
連携先のTwitter IDの設定 91 Node-REDの画面に戻って「追加」ボタンを押し、「完了」ボタンを押すと連携の設定が完了します。
77.
Node-RED フローのデプロイ 92 各ノードを接続し、準備が完了したら、右上部の【デプロイ】をクリックします。 デプロイが完了すると処理が開始され、温度情報付きのメッセージがTwitterに投稿されます。(10分毎)
78.
取得した温度をTwitterに投稿 93 連携に成功するとこのようなメッセージがツイートされます。
79.
352 そこに、さくら
80.
353 質疑応答
81.
354 最後に
82.
最後に ~sakura.io~ 355 ハンズオンに使用したさくらの通信モジュールは必要に応じて登録を解除します。 接続ステータス横の歯車マークをクリックします。
83.
最後に ~sakura.io~ 356 モジュールの設定画面に遷移します。下部の[登録解除]ボタンをクリックします。
84.
最後に ~sakura.io~ 357 通信モジュールの登録を解除してよいか確認されます。 問題ない場合は再度[登録解除]ボタンをクリックします。
85.
最後に ~sakura.io~ 358 モジュールの登録が解除され、表示から削除されました。 次は連携サービスとともにプロジェクトを削除します。 プロジェクト右上の[削除]マークをクリックします。
86.
最後に ~sakura.io~ 359 プロジェクトを削除してよいか確認されます。 問題ない場合は再度[削除]ボタンをクリックします。
87.
最後に ~さくらのクラウド~ 360 グローバルIPアドレスを持つサーバは攻撃対象になりますので、作成いただいたサーバは削除します。 サーバがまだ起動している場合、さくらのクラウドで対象サーバのチェックを入れ、 [電源操作]から【 シャットダウン
】をクリックします。
88.
最後に ~さくらのクラウド~ 361 シャットダウン対象を確認のうえ【 シャットダウン
】をクリックします。 再度ダイアログにて確認が表示されますので【 実行 】をクリックします。
89.
最後に ~さくらのクラウド~ 362 シャットダウンが正常に実行されると、チェックボックス横のラインが「緑→赤→灰」と遷移します。 ラインが灰色に変化したら、再度対象となるサーバにチェックを入れ、【 削除
】をクリックします。
90.
最後に ~さくらのクラウド~ 363 今回は[接続されたディスク]についても削除しますのでチェックを入れ、【 削除
】をクリックします。 ダイアログが表示されますので【 実行 】をクリックします。
91.
最後に ~さくらのクラウド~ 364 削除の工程が表示されます。全てのステータスが成功となれば削除は完了です。
92.
最後に 375 以上でハンズオンにおける作業は全て終了となります。 お疲れ様でした!
93.
最後に 376 さくらインターネットでは、「さくらクラブ」としてハンズオン等の イベントをともに開催いただける仲間(部員)を募集しています。 (テーマはIoTに限らず、クラウドやVPS、スタートアップ系ネタでもOK!) ご興味があれば、Come and join
us & Feel free to contact me! 連絡先 :sakura-club@sakura.ad.jp さくらクラブ :http://www.slideshare.net/MasayaHayashi/lt20151224
94.
378 参考 サンプルスケッチ
95.
【参考】AlphaCompat.ino 379 さくらのIoT Platform α
にて提供していたスケッチ(SakuraAlpha_I2C.ino)を置き換えた プログラムです。一定間隔でカウント値を0,1,2のチャンネルに書き込み、送信します。
96.
【参考】Shell.ino 380 シリアルモニタからのコマンド操作を提供します。改行を[CRのみ]とした後、 提供されているコマンドを手入力で確認することができます。
97.
【参考】Shell.ino 381 構文 【version】現在のファームウェアバージョンを表示する 出力結果 version >version v1.0.0-161109-c566dba 備考
98.
【参考】Shell.ino 382 構文 【serial】通信モジュールのシリアル番号を表示する 出力結果 serial >serial 16A0100134 備考
99.
【参考】Shell.ino 383 構文 【status】通信モジュールの通信状態を確認する 出力結果 status >status Online Last Error Code:
0 備考
100.
【参考】Shell.ino 384 構文 【sqi】通信モジュールの電波強度を確認する 出力結果 sqi >sqi 5 備考 電波強度は5を最大として強度に伴い数値が下がり、0は圏外であることを示します。
101.
【参考】Shell.ino 385 構文 【unixtime】UTC形式の現在時刻を表示する 出力結果 unixtime >unixtime 1480497574 備考
102.
【参考】Shell.ino 386 構文 【update】ファームウェアのアップデートを実行する 出力結果 update >update Current Version: v1.0.0-161109-c566dba Unlock Starting
update Waiting for update . 備考
103.
【参考】Shell.ino 387 構文 【reset】通信モジュールのソフトウェアリセットを実行する 出力結果 reset >reset > 備考 シリアルモニタに実行結果は表示されません。 ソフトウェアリセットを実行すると通信モジュールが再起動を行います。 モデムの起動、および通信確立までにおおよそ1分程度を要します。
104.
【参考】Shell.ino 388 構文 【enqueue】送信キューにデータを格納する 出力結果 enqueue <ch> <type>
<value> >enqueue 0 i 123 > 備考 シリアルモニタに実行結果は表示されません。 enqueueコマンドを実行すると登録したデータは送信キューに貯められます。 送信キューは最大で32個まで蓄積され、超過したキューは貯められず破棄されます。
105.
【参考】Shell.ino 389 構文 【send】送信キューに貯められたデータを送信する 出力結果 send >send > 備考 シリアルモニタに実行結果は表示されません。 sendコマンドを実行すると、貯められたデータは16個分を1つのRMとして送信します。 送信キューが17個以上存在する場合、2つ目のRMも送信され、キューから自動的に削除されます。
106.
【参考】Shell.ino 390 構文 【size】送信/受信キューに貯められたデータ数を確認する 出力結果 size >size Tx Queue Avail: 32 Queued:
0 Rx Queue Avail: 32 Queued: 0 備考 Tx Queue は送信キュー、Rx Queue は受信キューを表します。 Availは利用可能数、Queuedは貯められているキューの数を表します。
107.
【参考】Shell.ino 391 構文 【cleartx】送信キューに貯められたデータをすべて消去する 出力結果 cleartx >cleartx > 備考 シリアルモニタに実行結果は表示されません。 送信キューに貯められたデータの一部だけを削除することはできません。
108.
【参考】Shell.ino 392 構文 【clearrx】受信キューに貯められたデータをすべて消去する 出力結果 clearrx >clearrx > 備考 シリアルモニタに実行結果は表示されません。 受信キューに貯められたデータの一部だけを削除することはできません。
109.
【参考】Shell.ino 393 構文 【dequeue】受信キューに貯められたデータをすべて受信する 出力結果 dequeue >dequeue empty 備考 受信キューに貯められたデータの一部だけを受信することはできません。 受信可能なデータが存在しない場合はemptyを返します。 受信されたデータはキューから自動的に削除されます。
110.
【参考】Shell.ino 394 構文 【peek】受信キューに貯められたデータを閲覧する 出力結果 peek >peek empty 備考 受信キューに貯められたデータの一部だけを受信することはできません。 受信可能なデータが存在しない場合はemptyを返します。 閲覧したデータは削除されずキューに残されます。
111.
【参考】Standard.ino 395 保持している情報をすべて書き出すプログラムです。シリアルモニタに以下の情報を出力しながら カウント値を0チャンネルに書き込み、キューが一定量貯まると送信します。
112.
396 参考 DataStore API
113.
【参考】連携サービスの設定(DataStore API) 397 sakura.ioでは、蓄積データの活用として【 DataStore
API 】を提供します。 追加サービスの選択画面で[DataStore API]をクリックします。
114.
【参考】連携サービスの設定(DataStore API) 398 追加サービスの選択画面で[DataStore API]をクリックします。 [名前]は任意の名称を入力し、[作成]をクリックします。
115.
【参考】連携サービスの設定(DataStore API) 399 作成した連携サービスをクリックすると【 Token
】を確認することができます。 Tokenをコピーし、コンパネ右上の[DataStore v1 Document]をクリックします。
116.
【参考】連携サービスの設定(DataStore API) /channels
の取得 400 [ /channels ]は蓄積されたデータをチャンネル単位で取得します。単体のデータを複数の形式 (入力時の形式[value]、数値[value_num]、文字列[value_str])で格納しているため、 単体でも価値のあるデータが活用しやすい形式となっています。 [ /channels ]は該当URL(https://api.sakura.io/datastore/v1/docs/)にて 前述の【 Token 】情報、および以下のパラメータを指定することで任意の情報を取得できます。 【module】:通信モジュールのモジュールID 【size】:一度に取得するデータの数 【order】:昇順(ASC)と降順(DESC)指定 【cursor】:※後述※ 【after/before】:指定日時の以前と以後指定 【channel】:取得するチャンネル指定
117.
【参考】連携サービスの設定(DataStore API) /channels
の取得 401 { "meta": { “count”: <取得した件数>, “cursor”: “<sizeで指定した件数を超えた場合に、次のレスポンスを取得するためのカーソル>”, “match”: <ヒットした件数> }, "results": [ { “channel”: <データが格納されているチャンネル>, “datetime”: “<データが通信モジュールのキューに格納された時間>”, “id”: “<送信されたデータのID>", “module”: “<データが送信された通信モジュールのID>", “type”: “<送信されたデータの型式>", “value”: <typeで指定された型式でのデータ>, “value_num”: <number形式でのデータ>, “value_str”: “<string形式でのデータ>" }, { "channel": … #以下[channel]単位のデータがcount数分列挙 指定された条件を元に【Try it out!】をクリックすると、[Response Body]欄に条件に応じた データが返されます。またクリック後に返される[Request URL]から同様のデータを取得できます。
118.
【type】:取得するRMのtype指定 【参考】連携サービスの設定(DataStore API) /messages
の取得 402 [ /messages ]は蓄積されたデータをRM単位で取得します。RMに含まれる複数チャンネルの データの関係性が重要な場合に活用しやすい形式です。(鍵の「解錠者ID」と「入退室フラグ」等) また、 [ /messages ]には通信モジュールの接続および切断の情報も含まれています。 [ /messages ]は該当URL(https://api.sakura.io/datastore/v1/docs/)にて 以下のパラメータを指定することで任意の情報を取得できます。 【module】:通信モジュールのモジュールID 【size】:一度に取得するデータの数 【order】:昇順(ASC)と降順(DESC)指定 【cursor】:※後述※ 【after/before】:指定日時の以前と以後指定
119.
【参考】連携サービスの設定(DataStore API) /messages
の取得 403 { "meta": { "count": <取得した件数>, "cursor": “<sizeで指定した件数を超えた場合に、次のレスポンスを取得するためのカーソル>”, "match": <ヒットした件数> }, "results": [ { “datetime”: “<対象のRMをプラットフォーム側で受信した時間>”, "id": “<格納されたRMのID>", "module": “<データが送信された通信モジュールのID>", "payload": { "channels": [ { "channel": <データが格納されているチャンネル>, "type": “<送信されたデータの型式>", "value": <typeで指定された型式でのデータ> } ] }, "type": "channels" }, { “datetime”: … #以下[message]単位のデータ 指定された条件を元に【Try it out!】をクリックすると、[Response Body]欄に条件に応じた データが返されます。またクリック後に返される[Request URL]から同様のデータを取得できます。