WiFi非搭載のM5StickVをネットにつなげる方法を紹介します。

結論

Groveコネクタ経由でM5StickCと接続するのが一番おすすめです。
M5StickVからUARTでデータを送信し、M5StickCで受信したデータをWiFiでネットに飛ばします。
Wi-FiがないM5StickVを、M5StickCと繋ぎLINEに投稿してみるまでの手順 – Qiitaで詳しく解説されています。

その他の方法

M5StickC以外の方法も考えてみました。

GroveコネクタでESP32と接続する

ようはUARTでデータを受けられてネット接続機能があるデバイスならOKです。
ラズベリーパイやESP32でも動きます。
ただ、小型・バッテリー内蔵・Groveコネクタ搭載しているM5StickCがやっぱりお手頃です。

microSD/SD変換コネクタでFlashAirを使う

WiFi搭載したSDカードの東芝 FlashAirはどうでしょうか?
SDカードにデータを書き込むだけなら、M5StickVより手軽に使えそうです。

M5StickV+FlashAir(W-04)の組み合わせで試してみました。
以下がMaixpyのサンプルスクリプトです。
Aボタンを押すとカメラの画像をSDカードに保存します。

import lcd
import sensor
import image
import time

#ディスプレイ初期化
lcd.init()
lcd.rotation(2)
#イメージセンサー初期化
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
#sensor.skip_frames(time = 2000)

#初期設定
from Maix import GPIO
from fpioa_manager import *
fm.register(board_info.BUTTON_A, fm.fpioa.GPIO1)
but_a=GPIO(GPIO.GPIO1, GPIO.IN, GPIO.PULL_UP)
path = "/sd/image.jpg"

while True:
    img = sensor.snapshot()
    lcd.display(img)
    #Aボタンを押したらSDカードに保存
    if but_a.value() == 0:
        img = sensor.snapshot()
        sensor.run(0) #電圧降下対策
        print("save image")
        time.sleep(1) #電圧降下対策
        img.save(path)
        time.sleep(1)
        sensor.run(1)

検証してみた結果、安定的に動作させることはできませんでした。
内蔵バッテリーが満充電状態かつモバイルバッテリーから給電している状態だと動作しました。ただ、100%成功するわけではなく、内蔵バッテリーの充電状況によっては動作しないときもありました。
また、内蔵バッテリーやPCからのUSB給電だと失敗します。

FlashAirは通常のSDカードより消費電力が大きいことが影響していると思われます。
M5StickVはmicroSDカードの相性問題がシビアですが、やはり電源(AXP192)が少し弱いのかもしれません。

電源関連はM5StickVのmicroSDカード相性問題で検証しています。

Maixduinoを使う

そもそもWiFiが必要なら、ESP32-WROOM-32を搭載しているMaixduinoを使うのも一案です。
同じK210チップなのでソフトウェアは互換性があります。

M5StickV+を待つ

WiFi機能を追加したM5StickV+が近いうちに発売予定です。
技適の関係上、日本ですぐに使えるかは分かりませんが。