LoginSignup
5
3

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-01-28

※ 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)

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3