Mais conteúdo relacionado
Semelhante a 第2回 The Things Network(TTN)勉強会」 @柏の葉 オープンウェーブ尾鷲さん説明資料 (20)
Mais de CRI Japan, Inc. (20)
第2回 The Things Network(TTN)勉強会」 @柏の葉 オープンウェーブ尾鷲さん説明資料
- 1. Copyright © 2019 OpenWave, inc. All Rights Reserved.
「第2回 The Things Network
(TTN)勉強会」 @柏の葉
ハンズオン
2019年9月7日
The Things Network YOKOHAMA
株式会社オープンウェーブ
尾鷲 彰一
owashi@openwave.co.jp
- 2. Copyright © 2019 OpenWave, inc. All Rights Reserved.
目次
① 概要と注意事項
② ハンズオン#1 ラズパイを使ったLoRaWANゲートウェイの設定
• ラズパイのセットアップ(ネットワーク設定)
• パケットフォワーダのセットアップ
• The Things Networkアカウントの作成
• The Things Networkへのゲートウェイの登録
③ ハンズオン#2 温度センサノードの設定
• 温度・湿度センサーとLoRaMiniDevの組み立て
• The Things Networkへのアプリケーションとデバイスの登録
• プログラムの書き込み
④ ハンズオン#3 myDevices Cayenneの設定
• myDevicesのアカウント作成
• The Things NetworkへのCayenne Integrationの追加
• myDevices Cayenneの設定
- 3. Copyright © 2019 OpenWave, inc. All Rights Reserved.
まずはじめに。。。
https://nxc.openwave.co.jp/nxcloud/index.php/s/b42JF7ww39o9oDp
ここから中にあるものを全部ダウンロードしてください。
証明書のエラーが出ますが無視してください。
必要なものをダウンロードします。
- 4. Copyright © 2019 OpenWave, inc. All Rights Reserved.
まずはじめに。。。
• win32diskimager-1.0.0-install.exe
• arduino-1.8.9-windows.exe
インストールしたら、以下を解凍します。
• arduino-lmic-master-for-LG01-JP-REL20190308.zip
• DHT_sensor_library.zip
• CayenneLPP.zip
※上記3つは解凍したら、
「C:¥Users¥xxxxxx¥Documents¥Arduino¥libraries¥」
に移動します。
• Cayenne_TTN_ABP_sample.zip
必要なものをインストールします。
- 5. Copyright © 2019 OpenWave, inc. All Rights Reserved.
①概要と注意事項
ラズパイをネットワークにつなぐときは、セキュリティに注意しましょう!!
攻撃者の侵入口はJPLのネットワークに無許可で接続していたRaspberry Pi端末だった。本来ならば最高情
報責任者室(OCIO)がネットワークに接続するすべての端末を管理しているはずだが、正常に機能していな
かった。管理者の1人はOIGに対し、新たに端末を接続する際はセキュリティデータベースに手動で登録す
ることになっているが、更新機能がうまく動かないことがあり、そのまま登録を忘れることがあると語ったと
いう。
小型・廉価なボードPCである「Raspberry Pi」をターゲットにしたマルウェアが登場したそうだ(ZDNet Japan、
HOT HARDWARE、Slashdot)。
このマルウェアは「Linux.MulDrop.14」と名付けられており、外部からのSSH接続を許可しているRaspberry
Piデバイスを狙い、デフォルトのログイン名/パスワードでログインを試みるという。もしログインに成功した
場合、パスワードを別の物に変更した後ほかのデバイスを探索するという。
また、感染後に暗号通貨のマイニングを始めるという話もあるようだ。
引用:https://security.srad.jp/story/17/06/13/056256/
引用:ITmedia NEWS > セキュリティ
- 6. Copyright © 2019 OpenWave, inc. All Rights Reserved.
①概要と注意事項
•ラズパイを最新版にする!
•rootのパスワードを設定する!
•新規ユーザーを追加する!
•「pi」ユーザーを削除する!
•SSHのポート番号を変更する!
(今日はやりませんが)ラズパイをセットアップしたら、最低限これだけはやっておきま
しょう!
- 7. Copyright © 2019 OpenWave, inc. All Rights Reserved.
①概要と注意事項
今日のハンズオンの概要です。
ラズパイ用のLoRaモジュール(LoRa GPS HAT)とラズパイをLoRaWANのゲートウェイと
して構築し、センサーデータをThe Things Networkにアップします。アップしたデータを
My Devices Cayenneに転送し、ウェブブラウザで確認します。
- 8. Copyright © 2019 OpenWave, inc. All Rights Reserved.
ハンズオン#1
ラズパイを使った
LoRaWANゲートウェイの設定
- 9. Copyright © 2019 OpenWave, inc. All Rights Reserved.
• ダウンロードした、win32diskimager-1.0.0-install.exeをインストールしてください。
• PCにマイクロSDカードをセットしてください。
• Win32DiskImagerを起動します。
ラズパイのセットアップ(ネットワーク設定)
ラズパイのイメージをマイクロSDカードにコピーします。
- 10. Copyright © 2019 OpenWave, inc. All Rights Reserved.
• OSイメージを書き込んだマイクロSDカードでラズパイを起動してください。
• 配布したLANケーブルで、ラズパイとご持参いただいたPCをつないでください。
• PCからSSHでラズパイに接続してください。IPアドレスは、ラズパイとの接続情報は以下の通り
です。
IPアドレス 10.130.1.1 ユーザID lorawan パスワード kashiwa#2019 (rootのパスワードも同じです)
• 以下のようにWiFiを設定してください。
$vi /etc/wpa_supplicate/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
ssid="ssid" #接続する予定のWi-FiのSSID””で括る
psk="password" #パスワード
key_mgmt=WPA-PSK
}
• セットアップが完了したら、pingなどでインターネットと通信できるか確認してください。
• IfconfigでIPアドレスを確認し、以降はこのIPアドレスにSSHで接続してください。
ラズパイのセットアップ(ネットワーク設定)
ラズパイを、WiFiに接続します。
※SSIDとパスワードは
お伝えします。
※PCとLANケーブルが
つながらない人は
言ってください。
※本来はパスワードは
暗号化した方がよい
です。
- 11. Copyright © 2019 OpenWave, inc. All Rights Reserved.
パケットフォワーダのセットアップ
ラズパイのSPIを有効にします。
$ sudo raspi-config
を実行します。
- 12. Copyright © 2019 OpenWave, inc. All Rights Reserved.
パケットフォワーダのセットアップ
ラズパイにパケットフォワーダをセットアップします。
global_config.jsonと、dual_chan_pkt_fwd.cppの編集内容は次のページ以降を参照してください。
$ cd /home/pi
$ wget https://github.com/bokse001/dual_chan_pkt_fwd/archive/master.zip
$ unzip master.zip
$ mv dual_chan_pkt_fwd-master dual_chan_pkt_fwd
$ cd dual_chan_pkt_fwd
$ vi global_config.json
$ vi dual_chan_pkt_fwd.cpp
$ make
$ su -
# cd /home/pi/dual_chan_pkt_fwd
# make install
# systemctl stop dual_chan_pkt_fwd
# ./dual_chan_pkt_fwd
make installで
dual_chan_pkt_fwdが
サービス登録されます
が、ログが見れないの
で一旦サービスを止め、
手動で起動します。
- 13. Copyright © 2019 OpenWave, inc. All Rights Reserved.
global_config.json
1 {
2 "SX127x_conf":
3 {
4 "freq": 923200000,
5 "freq_2": 923200000,
6 "spread_factor": 10,
7 "pin_nss": 6,
8 "pin_dio0": 7,
9 "pin_nss_2": 6,
10 "pin_dio0_2": 7,
11 "pin_rst": 3,
12 "pin_led1":4,
13 "pin_NetworkLED": 22,
14 "pin_InternetLED": 23,
15 "pin_ActivityLED_0": 21,
16 "pin_ActivityLED_1": 29
17 },
18 "gateway_conf":
19 {
20 "ref_latitude": 0.0,
21 "ref_longitude": 0.0,
22 "ref_altitude": 10,
23
24 "name": "your name",
25 "email": "a@b.c",
26 "desc": "Dual channel pkt forwarder",
27
28 "interface": "wlan0",
29
30 "servers":
31 [
32 {
33 "address": "router.jp.thethings.network",
34 "port": 1700,
35 "enabled": true
36 },
37 {
38 "address": "router.as2.thethings.network",
39 "port": 1700,
40 "enabled": false
41 }
42 ]
43 }
44 }
freqの値
は、次
ページを
参照
- 14. Copyright © 2019 OpenWave, inc. All Rights Reserved.
global_config.json
席番号 freq & freq2
1 922000000
2 922200000
3 922400000
4 922600000
5 922800000
6 923000000
7 923200000
8 923400000
9 923600000
10 923800000
11 924000000
12 924200000
13 924400000
14 924600000
15 924800000
global_config.jsonのfreqとfreq2は、以下のとおり設定してください。センサーノードの周波数もこれと同じにする
ので覚えておいてください。
席番号 freq & freq2
16 925000000
17 925200000
18 925400000
19 925600000
20 925800000
21 926000000
22 926200000
23 926400000
24 926600000
25 926800000
26 927000000
27 927200000
28 927400000
29 927600000
30 927800000
- 15. Copyright © 2019 OpenWave, inc. All Rights Reserved.
dual_chan_pkt_fwd.cpp
224 #define REG_FRF_MSB 0x06
225 #define REG_FRF_MID 0x07
226 #define REG_FRF_LSB 0x08
227
228 #define FRF_MSB 0xD9 // 868.1 Mhz
229 #define FRF_MID 0x06
230 #define FRF_LSB 0x66
231
232 #define REG_PA_CFG 0x09
233 int PWR_JPN_1276 = 0x3f;
234 int PWR_JPN_1272 = 0xe;
235
236 #define BUFLEN 2048 //Max length of buffer
237
238 #define PROTOCOL_VERSION 1
239 #define PKT_PUSH_DATA 0
240 #define PKT_PUSH_ACK 1
241 #define PKT_PULL_DATA 2
428 WriteRegister(REG_MAX_PAYLOAD_LENGTH, 0x80,
CE);
429 WriteRegister(REG_PAYLOAD_LENGTH,
PAYLOAD_LENGTH, CE);
430 WriteRegister(REG_HOP_PERIOD, 0xFF, CE);
431 WriteRegister(REG_FIFO_ADDR_PTR,
ReadRegister(REG_FIFO_RX_BASE_AD, CE), CE);
432
433 // Set Continous Receive Mode
434 WriteRegister(REG_LNA, LNA_MAX_GAIN, CE); //
max lna gain
435 WriteRegister(REG_OPMODE,
SX72_MODE_RX_CONTINUOS, CE);
436
437 if (sx1272) {
438 WriteRegister(REG_PA_CFG, PWR_JPN_1272, CE);
439 } else {
440 // sx1276
441 WriteRegister(REG_PA_CFG, PWR_JPN_1276, CE);
442 }
- 16. Copyright © 2019 OpenWave, inc. All Rights Reserved.
パケットフォワーダのセットアップ
# ./dual_chan_pkt_fwdを起動するとログが出力されます。「Gateway ID」が、The Things Networkのゲートウェイ
登録時に必要になるので控えておいてください。
root@raspberrypi:/home/pi/dual_chan_pkt_fwd# ./dual_chan_pkt_fwd
server: .address = router.jp.thethings.network; .port = 1700; .enable = 1
server: .address = router.as2.thethings.network; .port = 1700; .enable = 0
Gateway Configuration
Owashi Shoichi (owashi@openwave.co.jp)
LoRa GPS HAT
Latitude=0.00000000
Longitude=0.00000000
Altitude=10
Interface: wlan0
Trying to detect module CE0 with NSS=6 DIO0=7 Reset=3 Led1=unused
SX1276 detected on CE0, starting.
Trying to detect module CE1 with NSS=6 DIO0=7 Reset=3 Led1=unused
SX1276 detected on CE1, starting.
Gateway ID: b8:27:eb:ff:ff:3c:8c:57
Listening at SF10 on 923.400000 Mhz.
Listening at SF10 on 923.200000 Mhz.
-----------------------------------
stat update: 2019-07-02 10:42:29 GMT no packet received yet
- 17. Copyright © 2019 OpenWave, inc. All Rights Reserved.
The Things Networkアカウントの作成
https://www.thethingsnetwork.orgを開いてください。
右上の「Sign Up」から、ユーザ登録をおこなってください。
- 18. Copyright © 2019 OpenWave, inc. All Rights Reserved.
The Things Networkアカウントの作成
アカウントを作成します。
入力したメールアドレス宛に、確認のメールが届きます。届いたメールにアクティベーションのURLがあり、それを
クリックすると登録完了となるので、必ず受信できるメールアドレスで登録してください。
- 19. Copyright © 2019 OpenWave, inc. All Rights Reserved.
The Things Networkへのゲートウェイの登録
ユーザ登録後、The Things Networkにログインしてください。
上のメニューの「ゲートウェイ」からゲートウェイの登録を行います。
- 20. Copyright © 2019 OpenWave, inc. All Rights Reserved.
The Things Networkへのゲートウェイの登録
「ゲートウェイを登録」をクリックします。
- 21. Copyright © 2019 OpenWave, inc. All Rights Reserved.
The Things Networkへのゲートウェイの登録
赤丸のところを入力してください。ゲートウェイEUIの入力をする前に、「I’m using the legacy packet forwarder」の
チェックボックスにチェックを入れてください。
ゲートウェイEUIには、「パケットフォワーダのセットアップ」で控えた「Gateway ID」を「:」を抜いて入力します。
適当に
Asia 923-
925MHz
ttn-router-jp
Gateway ID
- 23. Copyright © 2019 OpenWave, inc. All Rights Reserved.
温度センサノードの設定
http://www.openwave.co.jp/ダウンロード/
を開いて、サンプルプログラムをダウンロードしてください。
- 24. Copyright © 2019 OpenWave, inc. All Rights Reserved.
温度センサノードの設定
LoRaMiniDevと温度、湿度センサー(DHT11)を図のように接続します。
- 25. Copyright © 2019 OpenWave, inc. All Rights Reserved.
温度センサノードの設定
The Things Networkにアプリケーションと、デバイスを登録します。
アプリケーションを開きます。
①アプリケーショ
ンをクリック
②アプリケー
ションを追加
をクリック
- 26. Copyright © 2019 OpenWave, inc. All Rights Reserved.
温度センサノードの設定
アプリケーションの情報を登録します。
英数小文字
で適当に
適当に
ttn-handler-asia-se
を選択
- 27. Copyright © 2019 OpenWave, inc. All Rights Reserved.
温度センサノードの設定
次に、デバイスを登録します。
デバイス(端末)
をクリック
- 28. Copyright © 2019 OpenWave, inc. All Rights Reserved.
温度センサノードの設定
次に、デバイスを登録します。
デバイス登録
をクリック
- 29. Copyright © 2019 OpenWave, inc. All Rights Reserved.
温度センサノードの設定
The Things Networkにアプリケーションと、デバイスを登録します。
英数小文字
で適当に
ここをクリックして
自動生成します
上記2つ実施したら、
画面下部の登録をクリック
- 30. Copyright © 2019 OpenWave, inc. All Rights Reserved.
温度センサノードの設定
デバイスの詳細を設定します。
設定をクリック
- 31. Copyright © 2019 OpenWave, inc. All Rights Reserved.
温度センサノードの設定
デバイスのアクティベーション方法を設定します。
ABPをクリック
※LoRaGPSシールドを用いた
ゲートウェイではOTAAは現在
利用できません。
- 32. Copyright © 2019 OpenWave, inc. All Rights Reserved.
温度センサノードの設定
Cayenne_TTN_ABP_sample.inoの39行目からのデバイスアドレス、ネットワークセッションキー、アプリケーション
キーの値を、The Things Networkのデバイスの登録で作成したデバイスの値に変更します。
このアイコンをクリックする
と項目の値をクリップボード
にコピーします。
このアイコンをクリックする
と項目の値がHEXで表示さ
れます。
- 33. Copyright © 2019 OpenWave, inc. All Rights Reserved.
温度センサノードの設定
送受信の周波数の設定は、lorabase_as923.hで行います。LG01-JPは1チャンネルなので、AS923_F1および
AS923_F2はglobal_config.jsonに設定したものと同じ値にしてください。
C:¥Users¥xxxxxx¥Documents¥Arduino¥libraries¥arduino-lmic-master-
for-LG01-JP¥src¥lmic¥lorabase_as923.h
enum {
AS923_F1 = 923200000, // g1 SF7-12
AS923_F2 = 923200000, // g1 SF7-12
AS923_FDOWN = 923400000, // (RX2 freq, DR2)
AS923_FBCN = 923400000, // default BCN, DR3
AS923_FPING = 923400000, // default ping, DR3
};
- 34. Copyright © 2019 OpenWave, inc. All Rights Reserved.
温度センサノードの設定
ツールから、ボードとLoRaMiniDevをUSBでつないだシリアルポートを選択します。
ボードは、Arduino/Genuino Unoを選択します。
- 35. Copyright © 2019 OpenWave, inc. All Rights Reserved.
温度センサノードの設定
プログラムをLoRaMiniDevに書き込みます。
書き込みが終わったら、ツール→シリアルモニターで動作が確認できます。
書き込みます。
- 36. Copyright © 2019 OpenWave, inc. All Rights Reserved.
温度センサノードの設定
動作を確認します。
ArduinoIDEのシリアルコンソール
ラズパイの./dual_chan_pkt_fwd
- 37. Copyright © 2019 OpenWave, inc. All Rights Reserved.
温度センサノードの設定
動作を確認します。
TTNのコンソールのデバイスの「データ」 TTNのコンソールのゲートウェイの「トラフィック」
- 38. Copyright © 2019 OpenWave, inc. All Rights Reserved.
ハンズオン#3
myDevices Cayenneの設定
- 39. Copyright © 2019 OpenWave, inc. All Rights Reserved.
myDevices Cayenneの設定
https://mydevices.com/cayenne/signup/
を開いて、アカウントを登録してください。
- 40. Copyright © 2019 OpenWave, inc. All Rights Reserved.
myDevices Cayenneの設定
アカウントを登録したらログインします(自動でされます)。
以下の画面が開いたら、「LoRa」をクリックします。
- 41. Copyright © 2019 OpenWave, inc. All Rights Reserved.
myDevices Cayenneの設定
左のラベルから、「The Things Network」を選択します。
- 42. Copyright © 2019 OpenWave, inc. All Rights Reserved.
myDevices Cayenneの設定
左上の検索ボックスに、LPPと入力します。
表示された、「Cayenne LPP」をクリックします。
- 43. Copyright © 2019 OpenWave, inc. All Rights Reserved.
myDevices Cayenneの設定
右側に、DevEUIなどの入力欄が表示されるので、そちらに入力します。
プロジェクトの
名前
TTNに登録した
デバイスEUI
This device
doesn’t move
日本語で住所
を入力します
- 44. Copyright © 2019 OpenWave, inc. All Rights Reserved.
myDevices Cayenneの設定
Cayenneのダッシュボードが表示されます。この時点では、TTNとの連携はまだできていません。
TTNと連携するために、ダッシュボードのIDを控えておきます。
一番後ろの「/」以降の
文字列をメモ帳などに
控えておきます。
- 45. Copyright © 2019 OpenWave, inc. All Rights Reserved.
myDevices Cayenneの設定
TTNを開いて、アプリケーション一覧→作成したアプリケーションを開き、「Payload Formats」をクリックします。
これをクリック
- 46. Copyright © 2019 OpenWave, inc. All Rights Reserved.
myDevices Cayenneの設定
Payload FormatsにCayenne LPPを選択します。
ここをクリックし
てCayenne LPPを
選択します。
- 47. Copyright © 2019 OpenWave, inc. All Rights Reserved.
myDevices Cayenneの設定
次に、「インテグレーション」をクリックします。
これをクリック
- 48. Copyright © 2019 OpenWave, inc. All Rights Reserved.
myDevices Cayenneの設定
「インテグレーションの追加」をクリックします。
これをクリック
- 49. Copyright © 2019 OpenWave, inc. All Rights Reserved.
myDevices Cayenneの設定
「myDevices」をクリックします。
これをクリック
- 50. Copyright © 2019 OpenWave, inc. All Rights Reserved.
myDevices Cayenneの設定
Cayenneの設定を追加します。
控えておいた、Cayenneの
ダッシュボードのIDを入力
します。
「devices」と「messages」
を選択します。
- 51. Copyright © 2019 OpenWave, inc. All Rights Reserved.
myDevices Cayenneの設定
Cayenneを開くと、温度や湿度などの情報が表示されます。