Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What is going on with this article?
@inachi

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

More than 3 years have passed since last update.

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

3
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
inachi

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
3
Help us understand the problem. What is going on with this article?