uart

uart.start(tx, rx, baud)

UARTによる非同期通信を開始します。

TX, RXに利用するIOの数字と、通信速度ボーレートを指定して開始します。

  • tx: obnizデバイスからの送信に利用するIO数値
  • rx: obnizデバイスへへの受信に利用するIO数値
  • baud: 通信速度 (e.g., 9600, 115200).

uart.send(string)

開始したuartにデータを送信します。

送信が完了するまでは関数を抜けません。

uart.recv()

受信したデータはバッファに蓄積されますuart.recv()を呼ぶことで蓄積されたデータを受け取ることができます。

Example

以下の例はオフライン中のものも含め、オンラインになった段階でuartで受信したデータを随時クラウドへ送信する例となります。


os.log(" - Lua Start");
io.retain(1, true);
io.retain(2, true);
uart.start(1, 2, 115200); -- tx:io1 rx:io2 baud:115200
uart.send("Hello World");

function on_online_loop()

  local ret = uart.recv();
  --  local ret = uart.recv(1); // limit receive buffer. max to 1 byte
  if #ret > 0 then
    -- EchoBack and send to cloud
    uart.send(ret);
    cloud.pluginSend(ret);
  end
end