Wio Terminalとラズパイ用Wi-SUNインタフェースボードの接続実験

seeed社製Wio Terminalを買ってみました。40ピンのGPIOヘッダ(ソケット)があり、ピン配置はラズパイ互換となっています。

そこで、Wi-SUNインタフェースボードとの接続実験を行ってみました。

と言っても、繋ぐ信号はUARTのTxD、RxD、(無線モジュール用)リセットの3本のみです。

4連休の後半2日を使って、最終的に疎通確認までできましたが、単純なところで躓いてしまいました。(できれば、もう少し先に進めたかったんですが…)

ハードウェア

  • Wio Terminalと接続するGPIOヘッダには、足の長い連結ソケットを使います。
  • 無線モジュールを載せたところ。載せる部品はこれだけです。
  • Wio Terminalとの接続には、無線モジュールがあって高さが足りないため、連結ソケットを2つ使います。
  • 反対側から見た図

ソフトウェア

  • 開発環境には、いつものVSCode+PlatformIOを使います。
[env:seeed_wio_terminal]
platform = atmelsam
board = seeed_wio_terminal
framework = arduino

ハマったところ

  • 無線モジュールのリセット信号にはGPIO18を使ってるんですが、出力ポートにできず、解決に時間がかかってしまいました。(下記のコードは、GPIO18ポートを100ms間LOWレベルにするもの)
pinMode(BCM18, OUTPUT);
digitalWrite(BCM18, LOW);
delay(100);
digitalWrite(BCM18. HIGH);
  • 結論としては、ライブラリが間違ってました。(具体的には、variant.h)
    • GitHub上では8/14に公開されたv1.7.9で対応されていますが、PlatformIO環境で読み込まれるライブラリのバージョンがv1.7.6となっています。(2020/9/22現在)
  • 最後に、回避コードを示しておきます。(PlatformIO環境のライブラリ・バージョンがv1.7.9以降になったら、BCM18を使えばよい。)
pinMode(PIN_I2S_SCK, OUTPUT);
digitalWrite(PIN_I2S_SCK, LOW);
delay(100);
digitalWrite(PIN_I2S_SCK. HIGH);

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です