360000183562
360000052341

HAT for Raspberry Pi スタートガイド

対象サービス・プラン
 

ここでは、Raspberry Piとsakura.io通信モジュールを組み合わせて、データをプラットフォームに送信するためのチュートリアルを行います。

対象読者

本ドキュメントは、以下の方に向けて作成されています。

  • Linuxの操作にある程度習熟しており、使い慣れた環境でsakura.ioの動作を確認したい方

ページの先頭へ

用意するもの

  • sakura.io通信モジュール(LTE)
  • sakura.io HAT for Raspberry Pi SCO-RPI-01
  • Raspberry Pi (2 Model Bを推奨)
  • Raspbian Desktopが書き込まれたSDカード(容量は問いませんが、16GB以上を推奨します)
  • HDMI入力を持つディスプレイ
  • HDMIケーブル
  • USBキーボード
  • 電源(5V2A以上の供給能力がある物を推奨)
  • 電源用microUSBケーブル(なるべく短いものを推奨)
  • インターネットへの接続環境(ライブラリのインストールに必要)

なお、このスタートガイドにおいては、Raspberry Pi 2 Model BとRaspbian Stretch Desktop June 2018の組み合わせを使用しています。
弊社で動作確認を行った組み合わせについては、sakura.io HAT for Raspberry Piの取扱説明書をご覧ください。

ページの先頭へ

コントロールパネルへのログイン

sakura.io コントロールパネルから、 プロジェクト の作成、 通信モジュール の登録、 連携サービス の設定を行います。

会員IDの取得

さくらインターネットのサービスで使用する「会員ID」が必要です。
さくらインターネットの会員IDをお持ちでない場合は、マニュアル>会員登録を参考に、会員IDを取得してください。

sakura.io コントロールパネル

会員登録が完了したら、sakura.io コントロールパネルを開き、コントロールパネルにログインします。
初めてコントロールパネルにログインした場合、各種約款への同意を求められます。

内容をご確認いただいたうえで、 同意するをクリックするとコントロールパネルにアクセスできます。

010.png

コントロールパネルにアクセスすると、プロジェクトの一覧が表示されます。
初回ログイン時には デフォルトプロジェクト という名前のプロジェクトが自動で作成されます。

020.png

このプロジェクトを使って進めることも可能ですが、この手順では新たにプロジェクトを作成し、
そちらを使用することにします。

ページの先頭へ

プロジェクト作成

プロジェクト一覧画面を開いたら、右上にある +プロジェクト追加 をクリックします。

030.png

新規プロジェクトの作成画面に遷移するので、 名称 欄に任意の名前を入力し、 追加 をクリックします。

040.png

プロジェクトが作成されると自動的にプロジェクト一覧画面に戻ります。名称欄に入力した名前でプロジェクトが作成されていることを確認できます。

050.png

ページの先頭へ

通信モジュール登録

次にモジュールの登録を行います。作成したプロジェクトの右上に表示されている 詳細 ボタンをクリックし、プロジェクトの詳細を表示します。

060.png

モジュール登録 のボタンをクリックします。

070.png

モジュールの追加画面に遷移します。 sakura.io モジュールのラベルに記載されている登録用IDと登録用パスワード情報を確認します。

登録フォームには、sakura.io モジュールに貼り付けられている下のラベルのうち ID:XXXXXXXXXX と PASS:XXXXXXXXXX の部分を入力します。

文字が小さくて読み取りづらい場合には、その下のQRコードを読み取ることで同様の情報を得ることができます。

080.png

指定したプロジェクトが選択されていることを確認のうえ、モジュール記載の登録用ID、登録用パスワード、および任意の名称を入力して、 追加 ボタンをクリックします。

090.png

登録に成功すると、このようなダイアログが表示されます。登録対象のモジュールが初めてsakura.ioコントロールパネルに追加された場合、初回登録ポイントがアカウントに付与されます。

100.png

ホームへ戻る ボタンをクリックすると、プロジェクト詳細ページでモジュールが追加されていることを確認できます。

110.png

ページの先頭へ

連携サービス作成

続けて、連携サービスを作成します。モジュールを登録したプロジェクトの 詳細 ボタンをクリックしてプロジェクト詳細画面を開きます。

120.png

プロジェクトの詳細ページ内の 連携サービス をクリックします。連携サービス一覧表示に切り替わるので、右端の 連携サービス追加 をクリックします。

130.png

連携サービスの選択画面に遷移します。ここではWebSocketを選択します。

WebSocket連携サービスを使うと、通信モジュールからのメッセージをブラウザ上でプレビューできるほか、外部のプログラムとの双方向通信の窓口として使用することができます。

140.png

名前の入力を求められるので、適当な連携サービス名を入力します。入力が済んだら 作成 ボタンをクリックします。

150.png

連携サービス一覧画面に戻ると、連携サービスが追加されたことが確認できます。

160.png

上記の図中赤枠で示した 設定 ボタン(歯車マーク)をクリックすると、 連携サービスの編集 画面に遷移します。 この画面では、sakura.io 通信モジュールから送信されてきたデータをブラウザ上で確認することができます。

170.png

このページは、この後の手順でデータが送信されてきたことを確認するために使用しますので、ブラウザで開いたままにしておくことをおすすめします。

ページの先頭へ

デバイスの組み立て

Raspberry Piの電源を入れる前にデバイスの組み立てを行います。

HATにスペーサーを取り付けます。説明書を参考にネジ止めします。 Raspberry Pi Zeroシリーズでは3箇所、それ以外のシリーズにおいては4カ所ネジ止めします。

180.png

Raspberry Pi本体をHAT本体が覆い被さるような形で重ね、HATをRaspberry Pi本体に接続します。 このとき、取り付けたスペーサーとRaspberry Pi本体のネジ穴がきちんと合っているか、接続しているピンにズレはないかを確認してください。

190.png

合っている事を確認したら、ピンをしっかりと奥まで差し込み接続します。

200.png

取り付けが完了したら、Raspberry Pi本体側からスペーサーをネジ止めします。

210.png

sakura.io 通信モジュールの取り付け

HATにsakura.io 通信モジュールを取り付ける前に、sakura.io 通信モジュールにアンテナケーブルを取り付けます。

両面テープで固定した場合、後からアンテナケーブルを取り付けることができなくなります!!!!!

空中線用のアンテナケーブルと通信モジュール側のアンテナコネクタを合わせ、垂直にはめ込みます。

220.png
230.png

注意事項

  • 端子同士がズレている状態や斜めから強く押し込むとアンテナ端子が変形・破損する場合があります。

基板には2つアンテナの端子があるため、2つとも取り付けます。

240.png

アンテナケーブルのスクリュー溝部とアンテナを合わせて回すことで取り付けます。

250.png

sakura.io通信モジュールをHATに取り付けます。コネクタ同士の位置が合っていることを確認し、垂直にはめ込みます。 この時、必要に応じて両面粘着テープを使用します。

260.png

注意事項

  • 両面粘着テープを使用すると強力に固定されるため、HATから通信モジュールを取り外すことができなくなります。その他機器への取り付けを検討されている場合は両面粘着テープを使わないようにしてください。 なお、ホストインタフェースの挿抜保証回数は30回です。 コネクタ部は壊れやすいため、挿抜は注意して行ってください。

組立が終わってもまだ電源は入れないでください。 DIPスイッチの確認を行った後に電源を入れます。

組立が済んだら、Raspbianを書き込んだmicroSDカードを挿入し、HDMIケーブルとUSBキーボードをそれぞれUSBポートに接続しておいてください。

ページの先頭へ

HAT上DIPスイッチの確認

sakura.io HATには、sakura.io通信モジュールの持つピンのうち、どれをRaspberry Piに接続するかを選択することが出来るDIPスイッチが存在します。

本スタートガイドの手順を進めるにあたり、以下の設定になっていることを確認してください。

SW2

番号 状態 ピン名
1 ON SDA
2 ON SCL
3 OFF Rx
4 OFF Tx
5 OFF WAKE_IN
6 OFF WAKE_OUT

SW1

番号 状態 ピン名
1 OFF RESET
2 ON CS
3 OFF CS
4 ON MOSI
5 ON MISO
6 ON SCK

図中青枠内にある白線で囲われた部品が操作対象のDIPスイッチです。黄色い矢印で示す白い出っ張り部分を先の細い工具などで左右に動かすことによりON/OFFを切替えます。

下記写真のように、基板上の文字が正しく読める向きで見た場合、白い出っ張り部分が右側に寄っている場合ON、左側に寄っている場合にOFFとなります。

基板上に記載されているSW1, SW2の文字を元に適切に設定してください。

270.png

ページの先頭へ

Raspberry Piの準備

組み立てが完了し、DIPスイッチの設定確認が終わったら、電源を投入します。

microUSBケーブルでRaspberry Piを電源に繋ぐと自動的に電源が入ります。しばらく放置するとモニターにデスクトップ画面が出てきます。
なお、初回起動時にセットアップ画面が出てくる場合がありますが、今回は使用しませんのでウィンドウ右上の×ボタンでウィンドウを閉じてください。

280.png

メニューから Raspberry Pi Configuration を起動します。

290.png

Interfacesタブに移動し、I2CをEnableにします。

300.png

OKをクリックしてRaspberry Pi Configurationを終了します。終了時にリブートするか尋ねられますので Yes を選択し再起動します。

310.png

ページの先頭へ

開発環境の準備

sakura.ioを簡単に扱うためのライブラリが用意されています。

インターネットに接続されていることを確認したら、Raspberry Piの準備 の手順と同様にTerminalを起動して、以下のコマンドを実行します。

sudo apt update
sudo apt install python3 python3-smbus python3-rpi.gpio python3-pip i2c-tools

インストールが完了したら、pipを使用してsakura.ioライブラリをインストールします。

sudo pip3 install sakuraio pyserial

ライブラリのインストール完了後、Python3のインタラクティブシェルを起動します。Terminal上で python3 と入力し、Enterキーを押下します。

>>> と表示されたら、以下のコードを1行ずつキーボードで入力し、行ごとにEnterキーを押下してください。

import sakuraio
from sakuraio.hardware.rpi import SakuraIOSMBus
sakuraio = SakuraIOSMBus()
print(sakuraio.get_unique_id())

sakura.ioライブラリが正常にインストールできている場合、Enterを押したタイミングでエラー等は発生せずにすぐ >>> が表示される状態に戻るはずです。 以下のような出力が得られれば成功です。

$ python3
Python 3.5.3 (default, Jan 19 2017, 14:11:04)
[GCC 6.3.0 20170124] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sakuraio
>>> from sakuraio.hardware.rpi import SakuraIOSMBus
>>> sakuraio = SakuraIOSMBus()
>>> print(sakuraio.get_unique_id())
16X00000000
>>>

この手順でエラーが出る場合、コマンドを打ち間違えているか打ち忘れている可能性が高いです。 手順を最初から読み直して、再度試してみてください。 トラブルシューティング集 も参照してください。

ページの先頭へ

手入力による送信

sakura.io プラットフォームでデータが受信できたことを確認するために、まずsakura.ioコントロールパネルでWebSocket連携サービスを作り、ブラウザで表示しておきます。

Python3のインタラクティブシェルを起動した状態で、以下のコマンドを入力してください。

from sakuraio.hardware.rpi import SakuraIOSMBus
sakuraio = SakuraIOSMBus()
sakuraio.enqueue_tx(0, 1)
sakuraio.send()

sakuraio.send() を実行したタイミングで、連携サービス作成 の手順で開いた 連携サービスの編集 画面にデータが表示されれば成功です。 送信する値を変えたい場合には、 sakuraio.enqueue_tx(0, N) の N を任意の数値に置き換え、再度 sakuraio.send() を実行してください。

320.png

もし途中で何らかのエラーが発生したり、値が表示されない場合は、手順を最初から読み直して、再度試してみてください。トラブルシューティング集も参照してください。

ページの先頭へ

トラブルシューティング集

よくあるエラーの内容と考えられる対応策です。

  • ImportError: No module named 'sakuraio'
    ・pip3 install sakuraio が実行されていない。
  • ImportError: No module named 'smbus'
    ・python3-smbusがインストールされていない。
  • print(sakuraio.get_unique_id()) がエラーになる
    ・sakura.io 通信モジュールの取り付けが上手く出来ていない。
    ・電圧降下等でsakura.io通信モジュールの起動に失敗している。

ページの先頭へ

最後に

以上でチュートリアルは完了です! これでRaspberry Pi上のPythonからsakura.io へデータを送信し、ブラウザ上で送信されたデータを確認することができました。

例えば、センサーからのデータをsakura.ioへ送信したい場合には、センサーをRaspberry Piに接続し、センサーからのデータをRaspberry Piで取得できれば、上記のコードと同様にして簡単にセンサーデータをsakura.io へ送信することができます。

お好きなセンサーモジュールを接続したり、別途販売しているブレイクアウトボードを使用して他のマイコンボードを組合せたり、実際の案件にお役立てください!

さくらのサポート情報

メニューを閉じる