Wio Terminalは国内でもさまざまな場所で入手できるようになってきました。
- 秋月電子通商:http://akizukidenshi.com/catalog/g/gM-15275/
- スイッチサイエンス:https://www.switch-science.com/catalog/6360/
- マルツパーツセンター:https://www.marutsu.co.jp/pc/i/1633550/
Wio Terminalの付属品は、以下の写真の通りですが、マニュアルに日本語も書いてあるのがちょっとびっくりでした。
今回は、Wi-Fiに繋ぐ手順を試してみます。
初めて触る方は、Wio Terminalを触ってみたを参照ください。
手順はオフィシャルのwikiページに掲載されていますが、ここでも簡単に手順を載せておきます。
RTL8720のファームウェアアップデート
Wi-FiのチップであるRTL8720を最初にアップデートする必要があるようなので実施します。
- ファームウェア書き換え用のプログラムをダウンロード、解凍し、ArduinoIDEで開く
- ファームウェア書き換え用のプログラムをWioTerminalに書き込む
- ファームウェア書き換え用のアプリケーションをダウンロード、解凍する
- アップデートファームウェアをダウンロード、解凍する
- ファームウェア書き換え用のアプリケーション
ImageTool.exe
を実行する - アプリケーションの以下の項目を設定
-
Chip Select
をAmebaD(8721D)
にする -
Serial
のCOM
をWio TerminalのCOMポートに設定 -
Flash Erase
のAddr
を0x08000000
、Size
を2048
に設定
-
-
Erase
をクリックし、Falsh erase done!
が表示されたら完了 -
Image Path
のBrowse
ボタンからダウンロードしたアップデートファームウェアの指定、Address
を以下のように設定します- 1行目
Image Path
:km0_boot_all.bin
、Address
:0x08000000
- 2行目 そのまま
- 3行目
Image Path
:km4_boot_all.bin
、Address
:0x08004000
- 4行目
Image Path
:km0_km4_image2.bin
、Address
:0x08006000
- 1行目
- 1、3、4行目のチェックボックスにチェックを入れる
-
Download
をクリックし、All images are sent successfully!
が表示されればRTL8720のファームウェアアップデートは完了です。
ライブラリのインストール
以下のライブラリが必要になりますので、ZIPでダウンロードしてArduinoIDEに取り入れます。(リンクはすべてZIPファイルへのリンクになってます。)
- Seeed_Arduino_atWiFi
- Seeed-Arduino-FreeRTOS
- Seeed_Arduino_atUnified
- Seeed-Studio/esp-at-lib
- Seeed_Arduino_mbedtls
- Seeed_Arduino_atWiFiClientSecure
Wi-Fiに繋ぐ
Wi-Fi周りの扱いやTCP、Http通信の行い方はオフィシャルのWikiページに書いてあります。
簡単にWi-FiのAPに繋ぐサンプルを試してみます。
プログラム
ssid
とpass
はWi-FiのAPに合わせて変更してください。
#include "AtWiFi.h"
const char* ssid = "ssid";
const char* password = "pass";
void setup() {
Serial.begin(115200);
while(!Serial); // Wait for Serial to be ready
delay(1000);
// Set WiFi to station mode and disconnect from an AP if it was previously connected
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(2000);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.println("Connecting to WiFi..");
}
Serial.println("Connected to the WiFi network");
Serial.print("IP Address: ");
Serial.println (WiFi.localIP()); // prints out the device's IP address
}
void loop() {
}
結果
Wi-Fi APに接続し、IPアドレスが割り当てられたことがシリアルモニタに表示されました。
実はこの手のボードには珍しく5GHzのWi-Fiに対応しています。
これを試した時も5GHzのWi-Fi APに繋ぎました。
Connecting to WiFi..
Connecting to WiFi..
Connecting to WiFi..
Connected to the WiFi network
IP Address: 192.168.2.181
WikiではHttps通信の例まで記載されていますが、ちょっと扱いづらいです。
ほかにHttpClientレベルのライブラリが無いかと探しましたが、Wio Terminalに合うものは見つかりませんでした。気が向いたら作りたいと思います。
とはいえ、Wio Terminalに搭載された機能を使うサンプルはオフィシャルのWiki(左のメニューからPlatform - Wio Terminal)が一番情報量が多いと思うので、いろいろ参考になります。