LTE

lte関数は、LTEでインターネットに接続する製品のセルラーモデムを操作します。

OS7.1.0以降


lte.at(command, timeout_ms)

任意のATコマンドをLTEモデムへ送信し、その応答を返します。

この関数は、セルラー回線で接続しているときにのみ利用できます。現在のネットワークインターフェースがセルラーでない場合は、すぐにfatalのステータスを返します。

引数

引数 説明
command string 送信するATコマンドです。
timeout_ms number 任意。応答を待つ時間(ミリ秒)です。既定値は10000です。

返り値

応答とステータスコードの2つの値を返します。

返り値 説明
response string | nil モデムからの応答です。正常に完了しなかった場合はnilです。
status number ステータスコードです(下表を参照)。
ステータス 意味
0 正常です。
1 モデムがエラーを返しました。
2 タイムアウトしました。
3 致命的なエラーです(モデムがない、回線がセルラーでない、またはモデムが処理中)。

Example: 電波強度を問い合わせる

以下の例では、obniz.jsからコマンドを受け取るたびに、モデムへ電波強度を問い合わせるAT+CSQコマンドを送ります。

function on_command(command)
  os.log("command received: " .. command);

  -- obniz.jsから受け取ったATコマンドをモデムへ送信する
  local resp, status = lte.at(command);
  os.log("response: " .. tostring(resp));
  os.log("status: " .. tostring(status));

  -- 応答をobniz.jsへ返す
  if resp ~= nil then
    cloud.pluginSend(resp);
  end
end

obniz.jsからは、ATコマンドをプラグインのデータとして送信します。

// Javascript Example
obniz.plugin.send("AT+CSQ");