とりあえずRadioLib使えるようにしてみよっか、ってことで。今回はRaspberry Pi Desktop上でいくよー。言語設定は日本語で。
- Arduino IDEをダウンロードして、root権限でinstall.shを実行してインストール。Raspberry Pi Desktop、カーネルの32bit/64bitはインストール時に自動的に選択されるもののユーザーランドは32bitなので、Arduino IDEはLinux 32bitを選択。
- Arduino IDEはデスクトップ上のアイコンから起動できるが、LXTerminalからarduinoでも起動できる。
- ボードの設定はツール→ボードでArduino UnoだのLeonardoだの使っているものを設定。
- スケッチ→ライブラリを管理でライブラリマネージャを起動し、テキストボックスにRadioLibと入力すると絞り込まれるので、最新版をインストール。
- サンプルのスケッチはファイル→スケッチ例→RadioLib→Morse_Transmit等のようにして呼び出せる。
Morse_TransmitもRTTY_TransmitもSX1278向け(NSS=pin10, DIO0=pin2, RESET=pin9, DIO1=pin3)に書かれているので、SX1278の載ったボードを指示通りに繋げればコードをいじることなく電波を出して試せるってことみたいですね。
いちいち繋げるのが面倒なら、Adafruit Feather 32u4 with RFM9xとかDIYmall LoRa32u4辺りを買ってくれば良さそうです。しかし、既にArduino持っているのならRFM9xもしくはその類似品を買ってつなげる方がかなりお安いような、でも作りがしっかりしているのは魅力だし…と、結構悩ましいです。
ここから後はアイデアをまとめるために書いているので忙しい人はスルー推奨。長いよ。
LoRa、普通は技適マークの付いた920MHz帯のモジュールを使うものですが…アマチュア無線の周波数帯(433MHz)の高出力なモジュールで遊んでみたいです。アマチュア無線でのLoRaは既に免許された事例もあるものの実際にどんな申請書を書けば良いかについてきちんとまとまった情報は多くない(というか全くない?)ようなので、自分も手探りで挑んでみたいと考えています。TwitterやFacebookには既に挑戦している先達が多くいるようで、かなり出遅れた感はありますが…競争するというよりはじたばたもがいてノウハウを共有する方向で進めたいかなと。
まずは機材がないことには始まらないので、AliExpressで二種類ほどモジュールを注文して到着を待っているところです。最初にeByteのE32-433T30Dを発注したのですが(まだ届いていません)、UARTで接続する物よりもE22-400M30SのようなSPIで接続する(SX1278の信号線がそのまま出ている)物の方が良いと思われます。というのも、E32-433T30D_Usermanual_EN_v1.5(PDF)を見るに周波数を410〜441MHzから1MHz単位で選ぶことしかできないという問題がありますし、RadioLibが使えません。
ということを発注後に気付いたので、別の種類のモジュールも発注しています。切手サイズくらいの基板の上にSX1278が載っているようなアレ…HopeRF RFM96/98(W)(リンク先はRFM95W)は高かったので、似たような感じのInnocellennt PM1280を注文しました。これらの他にも、HR-WT XL1278-SMTというのもあるようです。
RFM9x/PM1280/XL1278-SMT、回路的にはAN1200.19 SX127x Reference Design Overviewと同じか近いものと思われます。SX127x自体に20dBm(100mW)の出力があるため、増幅器を介さずにアンテナへ接続するなら送信機系統図の絵(ブロックダイヤグラム)はJumboSPOTのそれよりも書くことが無さそうです。逆に、字(諸元)についてはあれこれ書く必要がありそうな気がしますが、ここは何を書けば良いのでしょうかね…モジュールが届くには時間が掛かりそうなので、その時間を使って調べていこうと思います。
埋めるべき項目を書く手がかりとして、LoRaに関するメモを読んでみました。
まずはこのメモにあるように、ソラコム、IoT/M2M通信に適したLPWAネットワーク(LoRaWAN)事業に参入の記事にあるLoRaモジュール(AL-010)に書かれた技術基準適合証明番号、001-A07298を技術基準適合証明等を受けた機器の検索で調べてみます。「F1D 920.6〜928.0MHz (200kHz間隔38波) 0.02W」と出てくるので、他のモジュールもちょっと調べてみましょう(単純にコピー&ペーストすると全角半角が混在して見づらいので、直してあります)。
- RFLink RM-92C (001-A11213)
- F1D 920.6〜923.4MHz (200kHz間隔15波), 920.7〜923.3MHz (200kHz間隔14波), 920.8〜923.2MHz (200kHz間隔13波) 0.25W
- RFLink RM-92A (001-A07381)
- F1D 920.6〜928.0MHz (200kHz間隔38波), 920.7〜927.9MHz (200kHz間隔37波), 920.8〜927.8MHz (200kHz間隔36波) 0.015W
- EASEL ES920LR (006-000412)
- F1D 920.6〜928.0MHz (200kHz間隔38波) 0.02W
- i2 LRA1 (001-A16260)
- F1D 920.6〜928.0MHz (200kHz間隔38波), 920.7〜927.9MHz (200kHz間隔37波), 920.8〜927.8MHz (200kHz間隔36波) 0.02W
- RAKwireless RAK811 (211-170504)
- F1D 921-927MHz (100kHz間隔61波) 10mW
- DRAGINO LoRa Mini (203-JN0680)
- F1D 922.4MHz 18.79mW
- kiwi TLM922S (201-170057)
- 0M13 F1D 920.6-923.4MHz(15波) 12.13mW 0M13 D1D 922.4-928.0MHz(29波) 12.19mW
申請書に書くべき変調方式や諸元に書く符号構成などは分かりませんが、電波型式はおそらくF1Dで良いのでしょう。占有周波数帯域幅についてはSX1276/77/78/79のデータシートにこう書かれています。
kiwi TLM922Sの0M13(130kHz)指定はおそらく125kHzの帯域を真面目に書いているだけ、RAK811以外のモジュールでは200kHz間隔xx波とありますがおそらく125kHzの帯域幅で使っている可能性が高そうです。この表は拡散率(Spreading Factor, SF)12の数値なので、同じ帯域幅でもLoRa Link-budget and Sensitivity Calculations – Example Explained!にあるようにSFを下げれば速度は上がります。
以前JumboSPOTでPOCSAG(9kHz)を使うための免許を通したときはF1B(2kHz)ではダメでF1D(30kHz@430MHz)としたという経緯がありましたが、30kHzに収まる範囲となるとデータレートも厳しいものがありますね…
変調方式はRFワールド vol.43の見本、920MHz帯LPWAエア・モニタの仕組みと観測例(浅中 和典)にある、「チャープ・スペクトラム拡散」(変調)になるのでしょうか。諸元はアドソル日進のLPWA LoRaソリューションにある、
- 変調方式
- LoRa変調(スペクトラム拡散)
- 帯域幅
- 31.25kHz〜500kHz
- 拡散率
- 7〜12
- 通信速度
- 73bps〜22kbps
程度の情報で充分なのか、もう少し足さないといけないのかが分かりません…この辺はSX1276/77/78/79のデータシートをしっかり読んで、考える必要がありそうです。56.95kg(21:25)