Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

LoRAの見通しって?

648 vues

Publié le

IoTLT 新潟 Vol.2

Publié dans : Technologie
  • Login to see the comments

  • Soyez le premier à aimer ceci

LoRAの見通しって?

  1. 1. LoRAってどのくらい 使えるの? @yukilab222
  2. 2. はじまりは • IoTLT 新潟 Vol.1で弟の見守り用になんかしたいと言って いた長女が脱落したのでプロジェクトを引き継ぎました 。まずはネットワークを選ばないといけません。3G/LTE はオーバースペックだし高いので論外。WiFiは届きませ ん。 • 街中1.5kmの範囲です。自宅ー放課後の児童が遊べる施設 (ひまわり)まで800mなのでLPWAを何か選べば大丈夫 のはず。(裏山に設置すれば・・たぶん・・。)
  3. 3. 見通しって言うけど BM&W さんのLoRAモジュールでためしてみました。
  4. 4. Loopback用 RaspberryPi Zero モバイルバッテリ 固定側 発信・GPS記録 Macbook Pro 移動側
  5. 5. Loopback局を砂丘の高所に設置
  6. 6. 裏山の 木の上!
  7. 7. まず歩いてみました。結構いける。 v b v bv b v b 約800m
  8. 8. • 子供にアンテナ、自分はmacをもって歩くのは怪しすぎる し、暑すぎるのでpythonしました。 • ループバックがあるかどうかみて、接続できるのかどう か喋り続けてくれます。これで、一人でドライブしてい るだけで受信可能地点調査できるはず。(GPS情報付きロ グも出る)
  9. 9. #!/usr/bin/env python3 import subprocess import serial import time import os TERM = 'rn' def getLocation(): # LocateMeは WiFiが有効になっていないと動作しません。WiFi接続がある必要はありませんが。 data = subprocess.check_output('./LocateMe', stderr=subprocess.STDOUT, universal_newlines=True) data = data.split() return data[0][1:-1] def readLoRALine(lora_serial): bdata = b'' start_time = time.time() ret = False while True: bdata += lora_serial.read() if TERM in bdata.decode(): str = bdata.decode() if 'ping' in str: ret = True break if 'Ack Timeout' in str: break if '--' in str : bdata = b'' if time.time() - start_time > 1: break return ret def pingLoRA(lora_serial): lora_serial.write(b'ping' + TERM.encode()) test = readLoRALine(lora_serial) return test if __name__ == '__main__': ser = serial.Serial('/dev/cu.usbserial-A514GATO', baudrate=115200, timeout=1) try: while True: g = getLocation() res = pingLoRA(ser) os.system('say {}'.format('OK' if res else 'だめです')) print('{} {}'.format(g, '<green-dot>'if res else '<default-dot>')) time.sleep(2) finally: ser.close()
  10. 10. 車のダッシュボードにモジュールを乗せる。 地形に敏感に反応し、1m程度の高低差でも見通しがないと 通信できないようです。 橋の上、ちょっとした丘の上などは見通しのある特異点として 離れても受けられました。 https://www.mapcustomizer.com/
  11. 11. http://www.gsi.go.jp/common/000076308.pdf 国土地理院の高低図でみたら、 まさに設置場所から開けている 方向だけが通信できていました。 信濃川を越えたあたりが辛いのは 多分堤防のためと思われます。
  12. 12. とにかく地形でみた見通しが大事。 = 高いところに置けば置くほど考えなくて良い。 ビルや、壁などはとりあえず気にしないくてよいみたい。 (違っていたら教えてください。)
  13. 13. • 市街地は意外と見通し関係なく通信可能。住居・低層鉄筋 コンクリート建築物により遮られても通信ができる。 • 地上高は、高い方が良い。 • テストした範囲では 800先で、40cm • 200mで 20cmぐらいでもよい。 • 砂丘?または森林? はきつい。数m下がっただけでも取 れなくなり、見通しが必要。
  14. 14. 使用した設定 Node : EndDevice (Coordinator 側も同じ) Band Width : 125kHz Spreading Factor : 7 Effective Bitrate : 5469bps Channel : 1 PAN ID : 2222 Own Node ID : 0002 Destination ID : 0001 (Coordinator は 0002) Acknowledge : ON Retry count : 3 Transfer Mode : Payload Receive Node ID information : OFF RSSI information : OFF Config/Operation : Configuration UART baudrate : 115200 Sleep Mode : No Sleep Sleep Time : 50 Output Power : 13dBm
  15. 15. 反省点 • 置く位置が地上10m程度、標高差を合わせても海面から15m程度しかあげなかったので、 ごく緩やかな地面の起伏でも蹴られてしまった。 • 県庁の展望台や、古町NEXT21、朱鷺メッセのてっぺんにおけば、多分ものすごく広い範 囲で拾える。(けど1日ではきっと回りきれない • 通信できないとき「だめです」と言われる。信号待ちだとどうしようもないのに何度もい われて精神的にきついので違う言葉にした方がよかった。(いや、位置が変わらなければ 発話しないようにしてもいいんだけど) • 子供:"それは(規則で)持っていけない" • 私:"・・。/(@ @);;;"

×