【軸の秤】WiFi接続方法
軸の秤はESP32を使っているので、地味にWiFi接続もできるようになっています。接続の手間はありますが、ブラウザから測定データを閲覧できたりするので、知っていただいておいて損はない機能です。何より、せっかく実装したので(笑)。
また、ネットに接続するとNTPサーバーから時刻を設定できるようになります。時刻設定しておくと測定データファイルにタイムスタンプがちゃんと付くので地味に便利です。もっとも、時刻設定はネットに接続しなくても手動で可能ですが、NTPサーバーからの方がだいぶ楽です。
接続手順は2通り
一般的なスマホなどのデバイスのようにアクセスポイントを検索してからパスワードを入力して接続する方法の他に、パスワード入力の手間を省くためにSDカードに置いたファイルを利用する方法を用意しました。マイクロSDカードがある場合は後者の方が圧倒的に楽だと思います。
本体のみで接続する場合
トップメニュー(タイトルに
〈軸の秤〉とあるメニュー)から
〈Settings〉 →
〈WiFi〉を選択します。
〈Search Access Points〉でアクセスポイント一覧が検索できます。ESP32はa/acなど5GHz帯には接続できないので表示されません。
接続したいアクセスポイントが表示されたら、そちらを選択して下さい。パスワード入力用のソフトウェアキーボードが表示されます(全然関係ないけど、キーボード画面可愛く実装できたと思うんですよ~♪ ちなみにPassportになっているのは誤植ではないです。好きな古い映画のネタ)。
ソフトウェアキーボードはカーソルキーでカーソル移動、決定キー( ● キー)で入力です。他にメニューキー( ■ キー)はシフト、キャンセルキー( × キー)はバックスペースとしても機能します。入力が終わったらソフトウェアキーボード上のエンターキー(右下のひとつ上)で入力完了となります。
少し面倒だとは思いますが、パスワードを入力完了していただくと、軸の秤はアクセスポイントへの接続を試行します。問題なく接続できると
〈Connected!〉と表示されるハズです。
なお、ここでIdleなどと表示されてしまう事がありますが、その場合は一見接続できているようでも接続できてないので、お手数ですがもう一度上記の接続作業を繰り返して下さい。
これはバグなのでいずれ直したいと思っております(←Idle状態がなんなのかよくわかってない)。
SDカードを使う場合
SDカードのルートに下記のようなテキストファイルを用意して下さい。ファイル名はap.toml
とします。
- apはアクセスポイントの略。拡張子は
.toml
になっていますが実体はTOMLでもなんでも無い、せいぜいINIファイルです。シンプルに間違えました、スミマセン。いずれ修正しますが、今はファイル名決め打ちになってしまっているので、気持ち悪いですが我慢して下さい。
ssid=AccessPoint-G-Name
password=accesspoint_password
あとは本体のみで接続する時と同様、トップメニュー → 〈Settings〉 → 〈WiFi〉のWiFiメニューで、今度は 〈Use SD card〉を選択します。
あとはap.toml
に記載されたアクセスポイントとパスワードを使ってイイ感じに接続してくれます。ただこちらも手動接続同様、Idleなどと表示された場合は接続できていないので、
〈Connected!〉と表示されるまで繰り返して下さい。
WiFi接続時にできること
Webサーバー機能
軸の秤をWiFi接続した状態でWiFi Settingsの画面を見ると、IPアドレスが表示されているはずです。このアドレスに同じネットワークに繋がったPCからブラウザでアクセスすることで、軸の秤のWebサーバーにアクセスできます。
ここで出来るのはSDカードに保存されている測定データファイルの閲覧と、一部の設定変更です。大したことは出来ませんが、フォースカーブは押下とリリースが色分けされたよりわかりやすいグラフを閲覧できる他、CSVデータそのものもコピペ出来るよう表示されるので、SDカード経由で抜き差ししてPCにコピーする必要がなくなります。
NTPサーバーからの時刻取得
WiFiに接続した状態だと、トップメニュー →
〈Settings〉 →
〈Date & Time〉でSet via NTP serverが使えます。
日付時刻は手動でも設定できますが、設定しておくと測定データファイルにタイムスタンプが書き込まれるので、エクスプローラーで見た時などにスッキリします。なおNTPサーバーは下記3箇所固定です。
- ntp.nict.jp
- time.google.com
- ntp.jst.mfeed.ad.jp
余談
軸の秤では気を使ってSSIDやパスワードを保存しない実装にしたのですが、ESP32の仕様としてそれらが意図せず本体に残ってしまうみたいな話も見つかりました。
ESP32 は SSID と パスワード を内部で保持する - ブログ/こばさんの wakwak 山歩き
https://wakwak-koba.hatenadiary.jp/entry/20180515/p1
上記を知ったからというわけでもないのですが、今は考えがちょっと変わって、どうせしがない同人ハードなんだし、利便性を優先してアクセスポイント情報を本体に保存した方がいいかなという気になっています。そうすれば起動時に自動的に接続する事も出来ますし……
そしたら毎回自動的にNTPサーバーに接続して正しい時間を取得することもできるし、時間が設定されていれば測定データファイルにも正しいタイムスタンプが書き込まれるし……
うん、そうしよーっと。
この記事はここで終わりです。
読んでいただきありがとうございました。
良かったらシェアしてね!
That's all for this article. Thank you for your reading.
Please share this if you like it!