Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

第1回 The Things Network (TTN) 勉強会@柏の葉

2,697 views

Published on

柏の葉キャンパスにあるコワーキングスペースKOILで「The Things Network(TTN)勉強会」を開催します。
The Things Network(TTN)とは
The Things Network (TTN)は、LoRa通信を使ったLPWANをオープン分散型で実現するサービス群、およびそれを支援するボランティアグループの名称です。IoTを使ったスマートシティーを実現する上で、柔軟性のあるシステムが低コストで構築できます。海外ではすでに140の国と地域で8000のゲートウェイ(基地局)が稼働しており、8万の企業や個人のアカウントを作成し利用しています。日本ではTTN Japanコミュニティーが ドキュメントのローカライズ、セミナーの実施、様々な普及促進活動をおこなっています。
https://www.thethingsnetwork.org/country/japan/

今回はこのTTNを活用したLoRaWanの構築に向けて
(1)Raspberry piを用いたTTNゲートウェイの制作とゲートウェイの基本的な設定
(2)ノード側の基本的な設定
(3)クラウドとの連携(可視化)
の各手順について、ドキュメントを見ながら実際に操作していきたいと思います。

【日時】
2019/07/06(土曜日) 13:30〜18:00

【必要なもの】
・ノートPC(SDカードポート付き)
(あるいはUSB SDカートR/W持参のこと)
・Raspberry pi 3B+(もしかしたら2/3でも動くかもしれませんが確認しておりません)

【スケジュール】
13:00〜13:30 受付
13:30までにつくばエクスプレス「柏の葉キャンパス駅」目の前のKOIL 6Fの「KOIL STUDIO」にご集合下さい

時間 発表者 内容
13:30-13:40 今村 博宣(TTN Kashiwa) 開催の概要と会場の注意事項について
13:40-14:10 吉田 秀利(TTN Ambassador Japan) TTN Japanの紹介
14:10-14:20 原田 貴義(ウェザーライト) 柏の葉での取り組み
14:20-14:30 宮原 裕人(RS Components) TTNが使えるLoRa製品
14:30-14:40 休憩
14:40-15:40 尾鷲 彰一(TTN Yokohama) ハンズオン#1 ラズパイを使ったLoRaWANゲートウェイの設定
15:40-16:20 尾鷲 彰一(TTN Yokohama) ハンズオン#2 温度センサノードの設定
16:20-17:00 尾鷲 彰一(TTN Yokohama) ハンズオン#3 Cayenneクラウドの設定

Published in: Technology
  • Be the first to comment

  • Be the first to like this

第1回 The Things Network (TTN) 勉強会@柏の葉

  1. 1. Copyright © 2019 OpenWave, inc. All Rights Reserved. 「第1回 The Things Network (TTN)勉強会」 @柏の葉 ハンズオン 2019年7月6日 The Things Network YOKOHAMA 株式会社オープンウェーブ 尾鷲 彰一 owashi@openwave.co.jp
  2. 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. 3. Copyright © 2019 OpenWave, inc. All Rights Reserved. まずはじめに。。。 https://nxc.openwave.co.jp/nxcloud/index.php/s/b42JF7ww39o9oDp ここから中にあるものを全部ダウンロードしてください。 証明書のエラーが出ますが無視してください。 必要なものをダウンロードします。
  4. 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. 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. 6. Copyright © 2019 OpenWave, inc. All Rights Reserved. ①概要と注意事項 •ラズパイを最新版にする! •rootのパスワードを設定する! •新規ユーザーを追加する! •「pi」ユーザーを削除する! •SSHのポート番号を変更する! (今日はやりませんが)ラズパイをセットアップしたら、最低限これだけはやっておきま しょう!
  7. 7. Copyright © 2019 OpenWave, inc. All Rights Reserved. ①概要と注意事項 今日のハンズオンの概要です。 ラズパイ用のLoRaモジュール(LoRa GPS HAT)とラズパイをLoRaWANのゲートウェイと して構築し、センサーデータをThe Things Networkにアップします。アップしたデータを My Devices Cayenneに転送し、ウェブブラウザで確認します。
  8. 8. Copyright © 2019 OpenWave, inc. All Rights Reserved. ハンズオン#1 ラズパイを使った LoRaWANゲートウェイの設定
  9. 9. Copyright © 2019 OpenWave, inc. All Rights Reserved. • ダウンロードした、win32diskimager-1.0.0-install.exeをインストールしてください。 • PCにマイクロSDカードをセットしてください。 • Win32DiskImagerを起動します。 ラズパイのセットアップ(ネットワーク設定) ラズパイのイメージをマイクロSDカードにコピーします。
  10. 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. 11. Copyright © 2019 OpenWave, inc. All Rights Reserved. パケットフォワーダのセットアップ ラズパイのSPIを有効にします。 $ sudo raspi-config を実行します。
  12. 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. 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. 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. 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. 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. 17. Copyright © 2019 OpenWave, inc. All Rights Reserved. The Things Networkアカウントの作成 https://www.thethingsnetwork.orgを開いてください。 右上の「Sign Up」から、ユーザ登録をおこなってください。
  18. 18. Copyright © 2019 OpenWave, inc. All Rights Reserved. The Things Networkアカウントの作成 アカウントを作成します。 入力したメールアドレス宛に、確認のメールが届きます。届いたメールにアクティベーションのURLがあり、それを クリックすると登録完了となるので、必ず受信できるメールアドレスで登録してください。
  19. 19. Copyright © 2019 OpenWave, inc. All Rights Reserved. The Things Networkへのゲートウェイの登録 ユーザ登録後、The Things Networkにログインしてください。 上のメニューの「ゲートウェイ」からゲートウェイの登録を行います。
  20. 20. Copyright © 2019 OpenWave, inc. All Rights Reserved. The Things Networkへのゲートウェイの登録 「ゲートウェイを登録」をクリックします。
  21. 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
  22. 22. Copyright © 2019 OpenWave, inc. All Rights Reserved. ハンズオン#2 温度センサノードの設定
  23. 23. Copyright © 2019 OpenWave, inc. All Rights Reserved. 温度センサノードの設定 http://www.openwave.co.jp/ダウンロード/ を開いて、サンプルプログラムをダウンロードしてください。
  24. 24. Copyright © 2019 OpenWave, inc. All Rights Reserved. 温度センサノードの設定 LoRaMiniDevと温度、湿度センサー(DHT11)を図のように接続します。
  25. 25. Copyright © 2019 OpenWave, inc. All Rights Reserved. 温度センサノードの設定 The Things Networkにアプリケーションと、デバイスを登録します。 アプリケーションを開きます。 ①アプリケーショ ンをクリック ②アプリケー ションを追加 をクリック
  26. 26. Copyright © 2019 OpenWave, inc. All Rights Reserved. 温度センサノードの設定 アプリケーションの情報を登録します。 英数小文字 で適当に 適当に ttn-handler-asia-se を選択
  27. 27. Copyright © 2019 OpenWave, inc. All Rights Reserved. 温度センサノードの設定 次に、デバイスを登録します。 デバイス(端末) をクリック
  28. 28. Copyright © 2019 OpenWave, inc. All Rights Reserved. 温度センサノードの設定 次に、デバイスを登録します。 デバイス登録 をクリック
  29. 29. Copyright © 2019 OpenWave, inc. All Rights Reserved. 温度センサノードの設定 The Things Networkにアプリケーションと、デバイスを登録します。 英数小文字 で適当に ここをクリックして 自動生成します 上記2つ実施したら、 画面下部の登録をクリック
  30. 30. Copyright © 2019 OpenWave, inc. All Rights Reserved. 温度センサノードの設定 デバイスの詳細を設定します。 設定をクリック
  31. 31. Copyright © 2019 OpenWave, inc. All Rights Reserved. 温度センサノードの設定 デバイスのアクティベーション方法を設定します。 ABPをクリック ※LoRaGPSシールドを用いた ゲートウェイではOTAAは現在 利用できません。
  32. 32. Copyright © 2019 OpenWave, inc. All Rights Reserved. 温度センサノードの設定 Cayenne_TTN_ABP_sample.inoの39行目からのデバイスアドレス、ネットワークセッションキー、アプリケーション キーの値を、The Things Networkのデバイスの登録で作成したデバイスの値に変更します。 このアイコンをクリックする と項目の値をクリップボード にコピーします。 このアイコンをクリックする と項目の値がHEXで表示さ れます。
  33. 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. 34. Copyright © 2019 OpenWave, inc. All Rights Reserved. 温度センサノードの設定 ツールから、ボードとLoRaMiniDevをUSBでつないだシリアルポートを選択します。 ボードは、Arduino/Genuino Unoを選択します。
  35. 35. Copyright © 2019 OpenWave, inc. All Rights Reserved. 温度センサノードの設定 プログラムをLoRaMiniDevに書き込みます。 書き込みが終わったら、ツール→シリアルモニターで動作が確認できます。 書き込みます。
  36. 36. Copyright © 2019 OpenWave, inc. All Rights Reserved. 温度センサノードの設定 動作を確認します。 ArduinoIDEのシリアルコンソール ラズパイの./dual_chan_pkt_fwd
  37. 37. Copyright © 2019 OpenWave, inc. All Rights Reserved. 温度センサノードの設定 動作を確認します。 TTNのコンソールのデバイスの「データ」 TTNのコンソールのゲートウェイの「トラフィック」
  38. 38. Copyright © 2019 OpenWave, inc. All Rights Reserved. ハンズオン#3 myDevices Cayenneの設定
  39. 39. Copyright © 2019 OpenWave, inc. All Rights Reserved. myDevices Cayenneの設定 https://mydevices.com/cayenne/signup/ を開いて、アカウントを登録してください。
  40. 40. Copyright © 2019 OpenWave, inc. All Rights Reserved. myDevices Cayenneの設定 アカウントを登録したらログインします(自動でされます)。 以下の画面が開いたら、「LoRa」をクリックします。
  41. 41. Copyright © 2019 OpenWave, inc. All Rights Reserved. myDevices Cayenneの設定 左のラベルから、「The Things Network」を選択します。
  42. 42. Copyright © 2019 OpenWave, inc. All Rights Reserved. myDevices Cayenneの設定 左上の検索ボックスに、LPPと入力します。 表示された、「Cayenne LPP」をクリックします。
  43. 43. Copyright © 2019 OpenWave, inc. All Rights Reserved. myDevices Cayenneの設定 右側に、DevEUIなどの入力欄が表示されるので、そちらに入力します。 プロジェクトの 名前 TTNに登録した デバイスEUI This device doesn’t move 日本語で住所 を入力します
  44. 44. Copyright © 2019 OpenWave, inc. All Rights Reserved. myDevices Cayenneの設定 Cayenneのダッシュボードが表示されます。この時点では、TTNとの連携はまだできていません。 TTNと連携するために、ダッシュボードのIDを控えておきます。 一番後ろの「/」以降の 文字列をメモ帳などに 控えておきます。
  45. 45. Copyright © 2019 OpenWave, inc. All Rights Reserved. myDevices Cayenneの設定 TTNを開いて、アプリケーション一覧→作成したアプリケーションを開き、「Payload Formats」をクリックします。 これをクリック
  46. 46. Copyright © 2019 OpenWave, inc. All Rights Reserved. myDevices Cayenneの設定 Payload FormatsにCayenne LPPを選択します。 ここをクリックし てCayenne LPPを 選択します。
  47. 47. Copyright © 2019 OpenWave, inc. All Rights Reserved. myDevices Cayenneの設定 次に、「インテグレーション」をクリックします。 これをクリック
  48. 48. Copyright © 2019 OpenWave, inc. All Rights Reserved. myDevices Cayenneの設定 「インテグレーションの追加」をクリックします。 これをクリック
  49. 49. Copyright © 2019 OpenWave, inc. All Rights Reserved. myDevices Cayenneの設定 「myDevices」をクリックします。 これをクリック
  50. 50. Copyright © 2019 OpenWave, inc. All Rights Reserved. myDevices Cayenneの設定 Cayenneの設定を追加します。 控えておいた、Cayenneの ダッシュボードのIDを入力 します。 「devices」と「messages」 を選択します。
  51. 51. Copyright © 2019 OpenWave, inc. All Rights Reserved. myDevices Cayenneの設定 Cayenneを開くと、温度や湿度などの情報が表示されます。
  52. 52. Copyright © 2019 OpenWave, inc. All Rights Reserved. お疲れ様でした!!

×