Vol.879 29.Sep.2023

M5StickC(10)〜Pythonスクリプトを利用 モバイル・ルーター

M はじめての M5StickC_Plus (10) 〜Pythonスクリプトを利用

by fjk

 M5StickC(Plus)で種々のセンサーを使う場合、別途記述されたMicroPythonスクリプトを利用すると、複雑な処理を簡単に記述するだけすむ。そこで、UIFlowでpythonスクリプトを利用する方法を、I2C接続環境センサーであるBME680(秋月電子 K-14469)用のMicroPythonスクリプト用いて試した。

  1. BME680用のMicroPythonスクリプトを準備する
     「Micropython Driver for a BME680 breakout」をダウンロード。zipファイルを展開後、今回はM5stickC(Plus)で、bme680.pyを使用。
    bme680.py
    浮動小数点演算を使用するドライバー
    bme680i.py
    BOSCH データシートに従って、内部計算に整数演算を使用するドライバーで、
    最終結果に対してのみ浮動小数点演算が使用される
    bmetest.py
    サンプルテスト・スクリプト
  2. ハードウェア
     I2C接続テストはabc878のi2c-test.m5fを利用。
     bme680のi2cアドレスは0x77として検出できた。

    BME680使用I2C通信テスト回路

    応答はFalseだが0x77を検出
  3. pythonスクリプトをM5stickC_Plusに以下の手順でダウンロード
    @ UIFlow画面右上のResouceManagerを開く
    A ResouceManagerは画像データをM5StickCにダウンロードするツールだが、「ファイルの種類」を「全てのファイル」にすると、画像ファイル以外もダウンロードできる。
    B pythonスクリプトファイルを選んで「開く」をクリックするとM5StickCにダウンロードされる。 なお、ダウンロードしたファイルはM5StickCのフラッシュROM(/flash/res)に保存される。

    ResourceManager画面
    ★ ダウンロードしたファイルは電源を切っても消えないが、UIFlowを再起動するとダウンロードしたファイルがResouceManagerで表示されないことがある。
     (画像ファイルしかリストされない。−>REPLで確認)
  4. REPLでファイルの確認
     REPLを立ち上げ、下記を入力すると、bme680.pyがチャンと保存されていることを確認。(REPLはabc876を参照)

    REPLでbme680.pyファイルの確認
  5. pythonスクリプトの利用
     bme680.pyを使うには、検索パスを指定する必要があり、
    import sys
    sys.path.append('/flash/res')

    検索パスの設定
     と、bme680.pyの利用環境を設定し
    from bme680 import *
    from machine import I2C, Pin
    i2c = I2C(0, scl = Pin(26), sda = Pin(0))
    bme = BME_I2C(i2c)
     と、I2C接続を完了すると、bme.temperatur、bme.humidty、bme.pressure、bme.gas でBME680の測定データを取得することが出来る(bme680のbmetest.pyを参照)。

     なお、測定していることが判るように、測定に合わせてLEDを約1秒間隔で点滅させた。

    bme680.pyスクリプトを用いたblockly画面(bme680.m5f)
     その結果、温度(℃)、湿度(%)、気圧(Pa)、空気質(抵抗値、Ω)が取得出来た。

    BME680を使った環境測定例
    ※ BME680のGASデータは、「気体の導電率データ」で、特定のガスの濃度を表すものではなく、50〜50,000Ω(?)程度で(対数的に)変化し、空気が綺麗なほど大きな値となる。センサーに息を吹きかけると値が変化した。なお、一般的にガスセンサーは長時間未使用の場合、値が安定するまでエージングが必要。導電率データは湿度や温度にも依存するため、標準的な計算方法は無いようだ(詳しくは下記を参照)

●MicroPythonスクリプトの利用については以下を参考にした
「UIFlowで大きめのMicroPythonスクリプトをimportする」
●IAQ(屋内空気質)については以下も参照
「BME680キャリブレーションとIAQ」
「BME680 IAQ Example」


R モバイル・ルーター 〜FS030WB1(富士ソフト)

by fjk

 旅行時にスマホより広い画面で地図などを見るため、microSIMカードをタブレット(Zenpad Z581KL)に差し込んで利用しているが、コロナの影響で旅行する機会が少なく、最近はタブレットをほとんど使用していない。
 折角、公衆回線が使えるSIMがあるのにもったいないと思い、microSIMカードでWiFiが使えるようにと「モバイル・ルーター」を探してみると、nanoSIM対応の物は多くあるが、microSIM対応の物は少なく、富士ソフトのFS030WMB1(10,667円、4G/LTE)が見つかり、入手した。今のところ4Gのサービス終了期限がアナウンスされていないので、しばらくは使えそう。
 なお、nanoSIM対応なら FS040W、eSIMで5G対応なら FS050W が選べる。
 使い方の詳細はFS030W_UserGuide.pdfを参照。

【仕様】
1.サイズ: 74x74x17.3mm、128g
2.周波数: LTE(バンド1,3,8,11,18,19,21)、3G(バンド1,6,19)
3.通信速度: LTE(50M/150M)、3G(5.7M/42M)、WiFi(IEEE802.11a/b/g/n/ac、max433M)[送/受]
4.端末同時接続最大数: 15台(WiFi)、5台(Bluetooth)
5.連続通信時間: 20時間
6.対応OS: windwos7〜11、MacOSX10.8〜10.11、iOS8.3〜10.1.1、AndroidOS4.4.2〜6.0
【準備】
1.裏蓋をずらして開ける
2.SIMカードを取り付ける
3.電池パックを取り付ける
4.裏蓋を閉め、電源ボタンを長押しする
【WiFi端末からの接続】
1.FS030WのQRコードで接続
 @ FS303Wのボタンを押してQRコードを表示
 A 画面の指示に従う
2.マニュアル設定で接続
 @ 端末の設定アイコンをタップ
 A 「無線とネットワーク」からWi-Fiをタップ
 B Wi-FiがOffなら、Wi-Fiをオン
 C 本製品のSSID「FFS030W _ XXXXXXJ」をタップ
 D パスワードに本製品の暗号キーを入力して、接続をタップ
3.WPSで接続
 @ 本体側面のWPSボタンを3秒以上押すとWPSが開始
 A 画面の指示に従う
【各種設定】
1.wifi接続後、「192.168.100.1」に接続
2.「パスワード」に本体に記述された”パスワード”を入力
3.「モバイルネットワーク設定」で接続するプロファイルを登録
  (プロファイル設定例: NifMoの場合、ここを参照)

※ 本体のUSB端子とパソコンを繋ぐとテザリングモードで自動的にインターネットに接続される
(通信料金が発生する。USBテザリングをOFFに設定することもできる)。

裏蓋を外した状態(SIMは電池の下)

ネット(LTE)に接続中


※ 本レポートの参考・利用は、あくまでも自己責任でお願いします。


M5StickC(10)〜Pythonスクリプトを利用 モバイル・ルーター