NEQTO Docs
  • Languages icon日本語
    • English
  • ドキュメント
  • API
  • FAQ

›neqto.js

Getting Started

  • NEQTO Hello World!
  • Tutorial Step 1. NEQTO Console設定
  • Tutorial Step 2. デバイス設定とサービスの開始 (NEQTO Bridge)
  • Tutorial Step 2. デバイス設定とサービスの開始 (STM32 Discovery)
  • Tutorial Step 2. デバイス設定とサービスの開始 (SPRESENSE)
  • Tutorial Step 3. スクリプトを使ったアプリケーション開発

NEQTO

  • NEQTO アカウント登録
  • サブアカウント
  • APIの利用
  • NEQTO Engineファームウェアリスト
  • お問い合わせに関するガイドライン
  • NEQTO 製品を安全に安心してご使用いただくために
  • 脆弱性開示ポリシー

NEQTO Console

  • はじめに
  • 基本情報
  • 管理者専用の操作
  • デバイス管理
  • Linuxデバイス管理
  • 一括登録
  • スクリプト
  • アクション & コンタクト
  • Consoleでデータを表示
  • NEQTO Apps

    • NEQTO Apps について
    • NEQTO Infinitypool
    • NEQTO Insights
    • NEQTO Custodia
    • NEQTO Flow
  • Machine Driver
  • 推奨ブラウザ
  • 請求情報

SPRESENSE

    ハードウェア仕様

    • 01. About Spresense

    ソフトウェア仕様

    • 01. 動作フロー
    • 02. 初期インストール
    • 03. Spresense Wi-Fi 初期設定
    • 04. Spresense LTE-M 初期設定
    • 05. デバッグログ取得方法
    • 06. システムLED動作
    • 07. イベントメッセージ
    • 08. ファームウェア更新方法

    neqto.js

    • 01. About neqto.js
    • 02. Log
    • 03. Timers
    • 04. HTTP
    • 05. HTTPS
    • 06. MQTT
    • 07. Secure
    • 08. Storage
    • 09. Sleep
    • 10. RTC
    • 11. GPIO
    • 12. UART
    • 13. SPI
    • 14. I2C
    • 15. ADC
    • 16. GNSS
    • 17. Camera
    • 18. Utils
    • 19. nqSpresense
    • 20. nqService
    • 21. nqMqtt
    • 22. nqFOTA
    • 23. nqWiFi
    • 24. nqLte

STM32 Discovery

    ハードウェア仕様

    • 01. About STM32 Discovery Kit (B-L4S5I-IOT01A)

    ソフトウェア仕様

    • 01. 動作フロー
    • 02. 初期インストール
    • 03. STM32 Discovery Wi-Fi 初期設定
    • 04. デバッグログ取得方法
    • 05. システムLED動作
    • 06. イベントメッセージ
    • 07. ファームウェア更新方法

    neqto.js

    • 01. About neqto.js
    • 02. Log
    • 03. Timers
    • 04. HTTP
    • 05. HTTPS
    • 06. MQTT
    • 07. Secure
    • 08. Storage
    • 09. Sleep
    • 10. RTC
    • 11. UserSW
    • 12. GPIO
    • 13. UART
    • 14. SPI
    • 15. I2C
    • 16. ADC
    • 18. Utils
    • 19. nqDiscovery
    • 20. nqService
    • 21. nqMqtt
    • 22. nqFOTA
    • 23. nqWiFi

NEQTO Bridge

    ハードウェア仕様

    • 01. NEQTO Bridge Module
    • 02. NEQTO Bridge Wi-Fi Module
    • 03. NEQTO Bridge LTE-1 Module
    • 04. NEQTO Bridge LTE-M/NB Module
    • 05. NEQTO Bridge IO Board
    • 06. NEQTO Bridge Digital IO Board
    • 07. NEQTO Bridge Connector Board

    ソフトウェア仕様

    • 01. 動作フロー
    • 02. NEQTO Bridge Wi-Fi Module 初期設定
    • 03. NEQTO Bridge LTE Module 初期設定
    • 04. デバッグログ取得方法
    • 05. システムLED動作
    • 06. イベントメッセージ
    • 07. ファームウェア更新方法

    neqto.js

    • 01. About neqto.js
    • 02. Log
    • 03. Timers
    • 04. HTTP
    • 05. HTTPS
    • 06. MQTT
    • 07. Secure
    • 08. Storage
    • 09. Sleep
    • 10. RTC
    • 11. UserSW
    • 12. GPIO
    • 13. UART
    • 14. SPI
    • 15. I2C
    • 16. ADC
    • 17. BLE
    • 18. Utils
    • 19. nqBridge
    • 20. nqService
    • 21. nqMqtt
    • 22. nqFOTA
    • 23. nqWiFi
    • 24. nqLte
    • 25. nqLAN
    • 26. nqEx

Linux-based device

    ソフトウェア仕様

    • 01. システム要件
    • 02. インストール
    • 03. ソフトウェア構成
    • 04. 動作フロー
    • 05. デバッグログ取得方法
    • 06. イベントメッセージ
    • 07. ソフトウェア更新方法

    neqto.js

    • 01. About neqto.js
    • 02. Log
    • 03. Timers
    • 04. HTTP
    • 05. HTTPS
    • 06. MQTT
    • 07. Secure
    • 08. Storage
    • 09. RTC
    • 10. UNIXSocket
    • 11. FileSystem
    • 12. SubProcess
    • 13. SubTask
    • 14. Queue
    • 15. Utils
    • 16. nqLinux
    • 17. nqService
    • 18. nqMqtt
    • 19. nqFOTA
    • 20. nqLAN

neqto.js Libraries

  • About neqto.js Libraries
  • UART

    • GM65 Barcode Reader
    • SRF Ultrasonic Range Finder - Serial Mode

    I2C

    • HTS221 v2 Temperature and Humidity Sensor
    • LIS2DW12 v2 Accelerometer
    • SRF Ultrasonic Range Finder - I2C Mode
    • [Archive] HTS221 Temperature and Humidity Sensor
    • [Archive] LIS2DW12 Accelerometer

    Utils

    • RTC Alarm Synchronized Scheduler

    Integration

    • AWS S3 v2
    • AWS IoT Core v2
    • Azure IoT v2
    • [Archive] GCP IoT Core
    • [Archive] AWS S3
    • [Archive] AWS IoT Core

neqto.js Snippets

  • About neqto.js Snippets
  • DataDog
  • Dropbox
  • Google Sheets
  • InfluxDB
  • Oracle Cloud Object Storage
  • Salesforce
  • Splunk
  • Niagara
  • [Archive] SAP Cloud Platform Internet of Things

Release Notes

  • NEQTO Console アップデート
  • NEQTO Firmware (Bridge Wi-Fi/LTE Module) リリース
  • NEQTO Firmware (STM32 Discovery Wi-Fi) リリース
  • NEQTO Firmware (Spresense Wi-Fi/LTE-M) リリース
  • NEQTO Engine Linux版 リリース
  • neqto.js Libraries リリース

12. UART

UARTオブジェクトは、UART通信機能を提供する組み込みオブジェクトです。



Abstracts

Methods()/PropertiesSummaryVersionNote
new UART()UARTインスタンスを生成します。01.00.00+

{UART} Instance

Methods()/PropertiesSummaryVersionNote
.open()通信を開始します。01.00.00+
.close()通信を終了します。01.00.00+
.send()データを送信します。01.00.00+
.receive()データを受信します。01.00.00+
.setRecvEvent()データ受信コールバック処理を登録します。01.00.00+
.setBufRecvEvent()バッファリング型データ受信コールバック処理を登録します。01.00.00+
.releaseRecvEvent().setRecvEvent()又は.setBufRecvEvent()で登録したデータ受信コールバック処理を解除します。01.00.00+
.checkSendComp()データの送信完了を確認します。01.00.00+
.waitSendComp()データの送信が完了するまでウェイト(ブロック)します。02.00.00+
.checkRecvData()受信可能なデータが存在しているか確認します。01.00.00+
.checkRecvError()受信エラーを確認します。02.00.00+


Details

new UART(nodeNo)

UARTインスタンスを生成します。

NameTypeM/OSummaryNote
nodeNonumbermandatory使用するUARTインタフェースのノード番号を指定します。
Pinoutを参照してください。
return{UART}-{UART} : 生成された{UART}

.open(baudrate,flow,parity[,dataBit[,stopBit]])

通信を開始します。

NameTypeM/OSummaryNote
baudratenumbermandatory通信速度
通信ボーレート[bps]を指定します。
設定値: 1200、2400、4800、9600、19200、38400、57600、115200、230400、460800、921600
flowbooleanmandatoryハードウェアフロー
true: 有効
false: 無効
paritynumbermandatoryパリティビット
0: 無し
1: 偶数
2: 奇数
dataBitnumberoptionalデータビット
0: 8ビット
1: 7ビット
デフォルト値は0となります。
Version 02.00.00+
stopBitnumberoptionalストップビット
0: 1ビット
1: 2ビット
デフォルト値は0となります。
Version 02.00.00+
returnboolean-true: 成功
false: 失敗

.close()

通信を終了します。

NameTypeM/OSummaryNote
returnboolean-true: 成功
false: 失敗

.send(data,block)

データを送信します。

NameTypeM/OSummary                            Note
dataArrayBuffer,
string
mandatory送信データ
ArrayBuffer : ArrayBufferサイズ分、送信されます。
string : 指定された文字列が送信されます。
一度に送信可能な最大サイズは512バイトです。
blockbooleanmandatory送信のブロッキング処理を指定します。
true: ブロッキング有効
false: ブロッキング無効
無効が指定された場合、一度の処理で指定された全てのデータが送信されない場合があります。送信されたデータのサイズを確認し、必要であれば続きのデータから再度送信してください。
returnnumber-送信されたデータサイズ送信が失敗した場合は-1を返します。

.receive(isBin,recvLen)

データを受信します。
ノンブロック処理で実行されますので、受信待ちは行われません。

NameTypeM/OSummaryNote
isBinbooleanmandatory受信データの形式を指定します。
true: バイナリデータ形式で受信
false: 文字列形式で受信
recvLennumberoptional最大受信サイズ[byte]を指定します。
設定範囲: 1~512
デフォルト値は512バイトです。
returnArrayBuffer,
string
-受信データ
戻り値の型はisBinで決定されます。
trueを指定した場合はArrayBuffer型、falseを指定した場合は、string型となります。
データ長はrecvLenで指定したサイズ以下となります。
受信データがない場合はサイズが0となります。

.setRecvEvent(callback,isBin,recvLen)

データ受信コールバック処理を登録します。
データを受信した際にコールバック処理を実行します。
受信データがない場合、コールバックは発生しません。
尚、データ受信コールバック処理の中で、コールバック処理を再登録することはできません。

.setBufRecvEvent()と同時使用はできませんが、排他的であれば使用可能です。

NameTypeM/OSummaryNote
callback(data)functionmandatoryデータ受信時にコールバック処理を実行します。
data : {ArrayBuffer|string}
受信データ
引数の型はisBinで決定されます。
trueを指定した場合はArrayBuffer型、falseを指定した場合は、string型となります。
データ長はrecvLenで指定したサイズ以下となります。
isBinbooleanmandatory受信データの形式を指定します。
true: バイナリデータ形式で受信
false: 文字列形式で受信
recvLennumberoptional最大受信サイズ[byte]を指定します。
設定範囲: 1~512
デフォルト値は512バイトです。
returnboolean-true: 成功
false: 失敗

.setBufRecvEvent(callback,buff)

バッファリング型データ受信コールバック処理を登録します。
受信データが指定されたバッファサイズ分、蓄積した時にコールバック処理を実行します。
コールバック後、データ受信コールバック処理は解除されます。継続してデータ受信待ちを行う場合は、コールバック処理を登録し直してください。
尚、データ受信コールバック処理の中で、コールバック処理を再登録することはできません。

受信データは指定されたバッファに直接書き込まれます。効率的ですが、書き込みと読み出しが競合することになりますので、受信データ長が固定的かつ受信タイミングが保証されている同期式制御である場合に活用できます。

.setRecvEvent()と同時使用はできませんが、排他的であれば使用可能です。

NameTypeM/OSummaryNote
callback(dataLen)functionmandatory受信データが指定されたバッファサイズ分、蓄積した時にコールバック処理を実行します。
dataLen : {number}
受信データ長
dataLenは必ず指定されたバッファサイズとなります。
buffArrayBuffermandatory受信データを書き込むためのバッファを指定します。受信データは指定されたバッファに直接書き込まれます。
returnboolean-true: 成功
false: 失敗

.releaseRecvEvent()

.setRecvEvent()又は.setBufRecvEvent()で登録したデータ受信コールバック処理を解除します。

NameTypeM/OSummaryNote
returnboolean-true: 成功
false: 失敗

.checkSendComp()

データの送信完了を確認します。

NameTypeM/OSummary                    Note
returnboolean-送信状態
true: 送信完了
false: 送信中
UART送信バッファが空かつハードウェアが送信完了状態となった場合、送信完了と判断します。

Version 01.03.02以前の場合:
number型が返却されます。
1: 送信完了 / 0: 送信中
UART送信バッファが空の場合、送信完了と判断します。

.waitSendComp()

データの送信が完了するまでウェイト(ブロック)します。

NameTypeM/OSummary                Note
returnundefined-UART送信バッファが空かつハードウェアが送信完了状態となった場合、送信完了と判断します。

.checkRecvData()

受信可能なデータが存在しているか確認します。

NameTypeM/OSummaryNote
returnboolean-true: 受信データあり
false: 受信データなし

.checkRecvError()

受信エラーを確認します。
エラー要因はビットフラグで表されます。
受信エラーを検出した時点で対象のビットフラグが1となります。
尚、本メソッドコール後、全てのビットフラグが一度0クリアされます。

本機能は非サポートとなります。常に0が返却されます。

NameTypeM/OSummaryNote
returnnumber-エラー要因
bit 0: パリティエラー
bit 1: フレーミングエラー
bit 2: ノイズ検出フラグ
bit 3: オーバーランエラー
受信エラーが発生していない場合は
常に0となります。



オブジェクトの使用例

Sample 1

文字列データを送受信するサンプルです。
.setRecvEvent()メソッドを使用して、受信データを表示します。

var NODE_NO = 2;
var BAUDRATE = 115200;

var uart = new UART(NODE_NO);
uart.open(BAUDRATE, false, 0);

uart.setRecvEvent(function(data) {
    print('recv: ' + data);
}, false, 128);

while(1) {
    uart.send('Hello World!\r\n', true);
    setTimeout(1000).wait();
}

uart.releaseRecvEvent();
uart.close();

Sample 2

バイナリデータを送受信するサンプルです。
.setRecvEvent()メソッドを使用して、受信データを表示します。

var NODE_NO = 2;
var BAUDRATE = 115200;

var uart = new UART(NODE_NO);
uart.open(BAUDRATE, false, 0);

var sendCnt = 0;
var sendBuff = new ArrayBuffer(1);
var sendArr = new Uint8Array(sendBuff);

uart.setRecvEvent(function(buff) {
    var arr = new Uint8Array(buff);
    var dump = '';
    for(var i=0; i<arr.length; i++) {
        dump += ('00' + arr[i].toString(16).toUpperCase()).substr(-2) + ' ';
    }
    print('recv(' + arr.length + '): ' + dump);
}, true, 128);

while(1) {
    sendArr[0] = sendCnt;
    uart.send(sendBuff, true);
    setTimeout(1000).wait();
    sendCnt++;
    sendCnt &= 255;
}

uart.releaseRecvEvent();
uart.close();

Sample 3

データを送受信するサンプルです。
.setBufRecvEvent()メソッドを使用して、受信バッファへのデータ受信が完了するまで待ちます。

var NODE_NO = 2;
var BAUDRATE = 115200;

var uart = new UART(NODE_NO);
uart.open(BAUDRATE, false, 0);

var received = false;
var recvBuff = new ArrayBuffer(8);

uart.setBufRecvEvent(function(dataLen) { //one-shot
    var arr = new Uint8Array(recvBuff);
    var dump = '';
    for(var i=0; i<arr.length; i++) {
        dump += ('00' + arr[i].toString(16).toUpperCase()).substr(-2) + ' ';
    }
    print('recv(' + dataLen + '): ' + dump);
    received = true
}, recvBuff);

while(!received) {
    uart.send('Waiting for ' + recvBuff.byteLength + ' bytes of data to be received.\r\n', true);
    setTimeout(1000).wait();
}

print('finished');

uart.close();



Updated: 2022-06-02
← 前次 →
  • Abstracts
    • {UART} Instance
  • Details
    • new UART(nodeNo)
    • .open(baudrate,flow,parity[,dataBit[,stopBit]])
    • .close()
    • .send(data,block)
    • .receive(isBin,recvLen)
    • .setRecvEvent(callback,isBin,recvLen)
    • .setBufRecvEvent(callback,buff)
    • .releaseRecvEvent()
    • .checkSendComp()
    • .waitSendComp()
    • .checkRecvData()
    • .checkRecvError()
  • オブジェクトの使用例
    • Sample 1
    • Sample 2
    • Sample 3
NEQTO とはニュースサービスFAQプライバシーポリシー脆弱性開示ポリシー
NEQTO Console
はじめに基本情報管理者専用の操作デバイス管理NEQTO Apps
NEQTO Bridge
NEQTO Bridge ピン配置NEQTO Bridge Wi-Fi ModuleNEQTO Bridge LTE-1 Moduleデバッグログ取得方法イベントメッセージ
APIのドキュメント
APIの利用グローバル APIリージョン APIAPIサービス利用規約
Jigsaw, Inc.
© 2025 JIG-SAW INC.