micropython
M5stack

M5Stack MicroPython API調査記録 ネットワーク編

※ 2018年1月28日現在

M5Stack版MicroPythonのnetworkモジュールを本家版と比較してみると、追加のクラスとして、telnet, ftp, mqtt, mDNS があります。また、有線LANは使わないという割り切りからか、network.LAN クラスが除かれています。

network.telnetクラス

関数

network.telnet.start(user='micro', password='python', timeout=300)

telnet タスクを起動する。

引数:

  • user - リモートログインする際のユーザ名。
  • password - リモートログインする際のパスワード。
  • timeout - 接続のタイムアウト時間を秒数で指定。

戻り値:
成功すれば True、失敗すれば False

start()すると、telnetコマンドを使って無線でREPLに入れるようになる。

>>> import network
>>> network.telnet.start()
True

スクリーンショット 2018-01-28 18.48.29.png

network.telnet.pause()

telnet タスクを休止する。

戻り値:
成功すれば True、失敗すれば False

network.telnet.resume()

telnet タスクを再開する。

戻り値:
成功すれば True、失敗すれば False

network.telnet.stop()

telnet タスクを停止する。

戻り値:
成功すれば True、失敗すれば False

network.telnet.status()

telnet タスクの状態を返す。

0: サービス無効
1: サービス始動中
2: サービス受付状態
3: 接続完了
4: ログイン状態
-1: サービス休止/停止状態

network.telnet.stack()

telnet タスクの最大スタックサイズを返す。

network.ftp クラス

関数

network.ftp.start(*, user='micro', password='python', buffsize=1024, timeout=300)

ftp タスクを起動する。

引数:

  • user - リモートログインする際のユーザ名。
  • password - リモートログインする際のパスワード。
  • buffsize - バッファサイズ
  • timeout - 接続のタイムアウト時間を秒数で指定。

戻り値:
成功すれば True、失敗すれば False

start()すると、ftpコマンドを使って無線でファイルを転送できるようになる。

>>> import network
>>> network.ftp.start()
True

スクリーンショット 2018-01-28 18.54.28.png

network.ftp.pause()

ftp タスクを休止する。

戻り値:
成功すれば True、失敗すれば False

network.ftp.resume()

ftp タスクを再開する。

戻り値:
成功すれば True、失敗すれば False

network.ftp.stop()

ftp タスクを停止する。

戻り値:
成功すれば True、失敗すれば False

network.ftp.status()

ftp タスクの状態を返す。

0: サービス無効
1: サービス始動中
2: サービス受付状態
3: 転送完了
4: ファイル送信中
5: ファイル受信中
6: 接続完了
-1: サービス休止/停止状態

network.ftp.stack()

ftp タスクの最大スタックサイズを返す。

network.mqtt クラス

コンストラクタ

mqtt = network.mqtt(

name,
server,
user=None,
password=None,
port=1883 (secure=False時) / 8883 (secure=True時),
autoreconnect=0,
clientid=None,
cleansession=False,
keepalive=120,
qos=0,
retain=0,
secure=False,
data_cb=None,
connected_cb=None,
disconnected_cb=None,
subscribed_cb=None,
unsubscribed_cb=None,
published_cb=None

)

MQTTクライアントを作成し、タスクとして始動する。

戻り値:
MQTTクライアントオブジェクト

メソッド

mqtt.config(

clientid,
autoreconnect,
cleansession,
keepalive,
qos,
retain,
secure,
data_cb,
connected_cb,
disconnected_cb,
subscribed_cb,
unsubscribed_cb,
published_cb)

network.mqtt.publish(topic, msg)

network.mqtt.subscribe(topic)

network.mqtt.unsubscribe(topic)

network.mqtt.status()

-1: Destroyed
0: Disconnected
1: Connected
2: Stopping
4: Stopped

network.mqtt.stop()

network.mqtt.start()

network.mqtt.free

network.mDNS クラス

コンストラクタ

mdns = network.mDNS(if)

メソッド

mdns.start(name, instance)

mdns.stop()

mdns.queryHost(hostname)

mdns.queryService(service, protocol)

mdns.addService(service, protocol, port, instance, txdata)

mdns.removeService(service, protocol)