各ブロックの説明

メイン

main_main

プログラムを開始します。

変数

数値処理

int_make

上記で数値を代入できる数値変数を作成できます。クリックして、名前を入力してください。
以下ブロックの説明です。

int_all

① 数値を直接代入し使用します。

② 左被演算子(左オペランド)と右被演算子(右オペランド)に数値変数もしくは数値ブロックを代入し、真ん中の演算子を選択し、計算ができます。このブロックを以下のように入れ子にすると「2x(3+4)」と括弧付きの計算式として計算出来ます。
k_i_we_edit

③ 数値変数もしくは数値ブロックを代入し、平方根を計算できます。

④ 左被演算子と右被演算子に数値変数もしくは数値ブロックを代入し、割り算の計算ができます。値は小数で返ります。

⑤ 左被演算子と右被演算子に数値変数もしくは数値ブロックを代入し、割り算の計算ができます。値は小数以下を切り捨てた整数で返ります。

⑥ 左被演算子と右被演算子に数値変数もしくは数値ブロックを代入し、割り算の余りを計算ができます。値は整数で返ります。

⑦ 数値変数もしくは数値ブロックを代入し、文字変数に変換ができます。

⑧ 数値変数もしくは数値ブロックを代入し、数値変数の値を更新します。

⑨ 数値変数の値を返します。

小数の取り扱いについて

数値には小数点も代入できますが、数値計算については左被演算子の型が優先されるため、小数を入力する際は左被演算子に代入してください。

小数の左被演算子に対して整数を掛け算すると、リターンされる値は小数になります。

桁数についてはdouble型に準拠します。

文字列処理

str_make

上記で文字列を代入できる文字変数を作成できます。クリックして、名前を入力してください。

以下ブロックの説明です。

str_all

① 文字列を直接代入し使用します。

② 文字変数もしくは文字ブロックを代入し、文字数をカウントします。

③ 文字変数もしくは文字ブロックを代入し、数値変数に変換します。

④ 左辺と右辺に文字変数もしくは文字ブロックを代入し、右側の文字が左側の文字に含まれているかをフラグ変数(true/false)で返します。

⑤ 文字変数を指定byteのサイズで定義します。文字変数を使用する際には事前に必要なブロックです。

⑥ 文字変数もしくは文字ブロックを代入し、文字変数の値を更新します。

⑦ 文字変数の値を返します。

⑧ 2つの文字変数もしくは文字ブロックを代入し、連結できます。

⑨ 文字を置き換えることができます。

⑩ 文字変数もしくは文字ブロックを代入し、指定文字変数にURLエンコードしてセットします。

フラグ処理

flag_make

上記でtrue/falseが代入できるフラグ変数を作成できます。クリックして、名前を入力してください。

以下ブロックの説明です。

flag_all

① フラグ(true/false)を直接代入し使用します。

② フラグ変数の値を返します。

③ フラグ変数に別のフラグ変数を代入し、値を更新します。

マップ処理

map_make

上記でkeyとValueが代入できるマップ変数を作成できます。クリックして、名前を入力してください。

map_all

① マップ変数の全データを削除します。

② マップ変数を初期化します。+ボタンをクリックするとkeyとValueが新規追加できます(上に追加されます)。

③ マップ変数に新たにKeyとそのValueを追加します。

④ Key名を代入し、マップ変数の該当KeyのValueを全削除します。

⑤ マップ変数を文字変数にJSON形式で変換します。

⑥ マップ変数を文字変数にx-www-form-urlencoded形式で変換します。

⑦ Key名を代入し、マップ変数の該当KeyのValueを文字変数にセットします。

⑧ Key名を代入し、マップ変数の該当KeyのValueを数値変数にセットします。

⑨ Key名を代入し、マップ変数の該当KeyのValueを別の変数(文字列)に変更します。

⑩ Key名を代入し、マップ変数の該当KeyのValueを別の変数(数値)に変更します。

⑪ Key名を別のKey名に変更します。

⑫ Key名を代入し、マップ変数の該当Keyのデータが存在するかを返します。フラグ変数(true/false)で返します。

⑬ マップ変数のデータ数を数値で返します。

⑭ マップ変数が空か判定します。フラグ変数(true/false)で返します。

⑮ マップ変数を文字変数に変換し、文字変数で返します。

リスト(マップ型)処理/リスト(数値型)処理/リスト(文字型)処理

これらは上述した数値変数/文字変数/マップ変数をリストとして使用するブロックになります。

基本的に同じ使い方になりますので、代表でリスト(マップ型)処理のみ説明します。

list_make

上記でリスト変数を作成できます。クリックして、名前を入力してください。

以下ブロックの説明です。

list_all

①  空のリストをリスト変数にセットします。

②  リスト変数にデータをセットします。+ボタンをクリックするとkeyとValueが新規追加できます(上に追加されます)。
※ 左上のk_i_we_editアイコンをクリックすると項目の追加が可能となります。左側の「項目」をドラッグして、右側の「リスト」の追加したい位置にドロップしてください。

③  リスト変数のデータを別のリスト変数にセットします。

④  文字変数にリスト変数の値をJSON形式の文字列でセットします。

⑤  マップ変数をリスト変数の指定Indexのデータと置き換えます。

⑥  リスト変数のIndexをマップ変数のデータと置き換えます。

⑦  リスト変数が空かどうか判断し、フラグ変数(true/false)で返します。

⑧  リスト変数のリスト数を数値変数で返します。

⑨  リスト変数の指定Indexを削除します。

バイナリ処理

bin_make

上記でバイナリ変数を作成できます。クリックして、名前を入力してください。

以下ブロックの説明です。

bin_all

① バイナリ変数を指定byteのサイズで定義します。バイナリ変数を使用する際には事前に必要なブロックです。

② バイナリ変数にデータを代入します。

③ バイナリ変数を返します。

④ データをマスクします。

対象バイナリとマスクデータでAND演算を行った結果を出力します

⑤ データをスライスします。

⑥ 数値変数にバイナリ変数をセットします。

イベント

すぐに一度だけ実行

このイベントブロックが呼ばれたら、このブロックの中に追加したプログラムをすぐに一度だけ実行します。

ミリ秒後に一度だけ実行

このイベントブロックが呼ばれたら、指定ミリ秒後にこのブロックの中に追加したプログラムを実行します。

秒ごとに繰り返し実行

このイベントブロックが呼ばれたら、指定秒ごと にこのブロックの中に追加したプログラムを繰り返し実行します。

曜日時刻指定で繰り返し実行

event_youbi

このイベントブロックが呼ばれたら、指定した曜日・時刻にこのブロックの中に追加したプログラムを繰り返し実行します。

指定時間毎に繰り返し実行

このイベントブロックが呼ばれたら、指定した時間毎にこのブロックの中に追加したプログラムを繰り返し実行します。

イベントトリガーを登録

event_touh

このイベントブロックが呼ばれたら、指定したイベントIDのイベントを登録し、指定したイベントの条件に達したらそのイベントが動作するようになります。

イベントトリガーを削除

このイベントブロックが呼ばれたら、指定したイベントIDのイベントの登録を削除します。

論理

数値論理

ronri_suuti

左辺と右辺で数値の比較をし、フラグ変数(true/false)で返します。

文字列論理

ronri_mojiretu

左辺と右辺で文字列の比較をし、フラグ変数(true/false)で返します。

フラグ論理

ronri_flag

左辺と右辺でフラグ変数の比較をし、フラグ変数(true/false)で返します。

IF

ronri_if

条件ブロックとなります。
条件式Blockを右に、条件に当てはまる場合に実行したいブロックを中に追加していきます。
左上のk_i_we_editアイコンをクリックすることで「そうでなくもし」や「そうでなければ」の条件を追加することが可能です。

ループ

ronri_roop

繰り返しブロックとなります。

条件式Blockを右に追加し、それまで繰り返ししたいブロックを中に追加します。

ループ終了

ronri_exit

繰り返しを終了するブロックとなります。

関数

func_init

関数ブロックを定義できます。
ブロックの接続数が多い場合や、ある機能の塊で関数としてまとめることによりレシピが見やすくできます。
左上のk_i_we_editアイコンをクリックすることで関数への入力の追加、k_i_we_editアイコンをクリックすることで関数の説明を記載することが可能です。

タイマー

現在時刻

現在時刻を取得

timer_now

現在時刻を取得します。

現在時刻を文字変数にセット

timer_format

文字変数に現在時刻をセットします。
- 出力フォーマット
取得時刻の取得フォーマットを指定してください。デフォルトでは「%Y/%m/%d %H:%M:%S」となっています。
この場合、2022年1月1日 12時55分30分に取得した場合は「2022/01/01 12:55:30」となります。

現在時刻をスライスして数値変数にセット

timer_ms
現在時刻から日、分、曜日などをスライスし数値変数にセットします。
現在時刻を取得するだけではミリ秒単位の時刻を取得できません。
そのため、ミリ秒単位の時刻を取得したい場合は本ブロックを使用してください。

ミリ秒待つ

timer_wait

指定した時間だけ処理をとめます。

この処理が動いている間、他の動作はできません。
指定した時間が経過した後に次のブロックが動作します。

数値変数にUNIX時間をセット

timer_unix

数値変数にUNIX時間をセットします。
「現在時刻を取得」ブロックの「実行処理」内で使用してください。

UNIX時間

UNIX時間を文字列に変換

unix_str

UNIX時間を指定したフォーマットの文字列に変換します。

UNIX時間から「年」を取得

unix_year

UNIX時間から「年」情報を取得し数値変数で返します。

UNIX時間から「月」を取得

unix_month

UNIX時間から「月」情報を取得し数値変数で返します。

UNIX時間から「時」を取得

unix_hour

UNIX時間から「時」情報を取得し数値変数で返します。

UNIX時間から「分」を取得

unix_min

UNIX時間から「分」情報を取得し数値変数で返します。

UNIX時間から「秒」を取得

unix_sec

UNIX時間から「秒」情報を取得し数値変数で返します。

UNIX時間から「ミリ秒」を取得

unix_ms

UNIX時間から「ミリ秒」情報を取得し数値変数で返します。

UNIX時間から「曜日」を取得

unix_dofw

UNIX時間から「曜日」情報を取得し月曜が0で日曜を6とする0から6の数値変数で返します。

センサー

振動検知

振動検知の開始

振動検知を開始します。
一時停止中の場合は再開します。

sindokenchi_start

振動検知の一時停止

振動検知を一時停止します。

sindokenchi_stop

振動検知

sindokenchi_sindokenchi

振動検知の開始した上で、振動を検知した場合に、この中に追加したプログラムが実行されます。
振動を検出した回数に達すると、この中のブロックが実行されます。

加速度センサ

加速度データ取得

sensor_acc_init

数値変数に加速度センサデータ(1軸)をセット

sensor_acc_data

数値変数にX軸,Y軸,Z軸から指定した加速度データをセットします。

マップ変数に加速度センサーデータをセット

sensor_acc_map

文字変数に加速度取得時刻をセット

sensor_timer

文字変数に加速度データの取得時刻をセットします。

出力フォーマットと標準時の時差については「マップ変数に加速度センサーデータをセット」を参照してください。

GPS

GPSデータ取得

gps_init

数値変数にGPSデータ(緯度・経費)をセット

gps_data_set

数値変数に緯度・経度から指定したGPSデータをセットします。

マップ変数にGPSデータをセット

gps_data_map

数値変数にGPS取得時刻をUNIX時間でセット

sensor_gps_timer

数値変数にGPS取得時刻をUNIX時間でセットします。

ジャイロセンサ

ジャイロデータ取得

sensor_gyro_init

数値変数にジャイロデータ(1軸)をセット

sensor_gyro_set

数値変数にX軸,Y軸,Z軸から指定した角速度データをセットします。

マップ変数にジャイロデータをセット

sensor_gyro_map

文字変数にジャイロデータ取得時刻をセット

sensor_gyro_time

文字変数にジャイロデータの取得時間をセットします。

出力フォーマットと標準時の時差については「マップ変数にジャイロデータをセット」を参照してください。

IP通信

HTTP

HTTPS Client Auth Request

※内容が重複するので、HTTP Request/HTTPS Requestも以下を参照してください。

数値変数にReturn Status Codeをセット

ip_http_return_num

数値変数にReturn Status Codeをセットします。
HTTP通信のセッションが確立しているときに、「Return Status Code」が取得できます。

文字変数にResponse Dataをセット

ip_http_return_str

文字変数にResponse Dataををセットします。
HTTPの通信成功内で接続できます。

マップ変数にResponse Dataをセット

ip_http_return_map

マップ変数にResponse Dataをセットします。
HTTPの通信成功内で接続できます。

MQTT

MQTT(TLS)セッション接続

※内容が重複するので、ルート証明書/クライアント証明書/クライアント秘密鍵ありなしのBlockについても以下を参照ください。

レベル 内容
QoS0 メッセージを最大で1回送信する。到着確認は行わない
QoS1 メッセージを最低でも1回送信する。到着確認を行う
QoS2 メッセージを正確に1回だけ送信する。到着確認を行う

トピックにメッセージをパブリッシュ

MQTT接続を切断

MQTT接続を切断します。

UDP

Open UDP Socket

ip_udp_open

UDP Socketをオープンします。

設定する内容はHTTPS Client Auth Requestの説明を参照ください。

Send UDP Socket

ip_udp_send

UDP Socketを送信します。

Close UDP Socket

ip_udp_close

UDP Socketを閉じます。

TCP

Open TCP Socket

ip_tcp_open

TCP Socketをオープンします。

設定する内容はHTTPS Client Auth Requestの説明を参照ください。

Send TCP Socket

ip_tcp_send

TCP Socketを送信します。

Close TCP Socket

ip_tcp_close

TCP Socketを閉じます。

Recevie TCP Socket

ip_tcp_recieve

TCP Socketを受信します。

文字変数にTCP受信データ取得してセット

ip_tcp_data_set

TCP Socketで受信したデータを文字変数にセットします。

JSONスタックメモリ

JSONスタックメモリ領域確保

json_memory

JSONスタックのメモリ領域を確保します。
メモリIDと確保するサイズを指定してください。

JSONスタックメモリのデータを1件取得

json_get1

JSONスタックメモリのデータを1件取得します。

メモリIDを指定してください。
データセット先文字変数を選択してください。

また、取得位置を「最初」か「最後」から選択してください。

JSONスタックメモリにデータを追加

json_data_add

JSONスタックメモリにデータを追加します。

メモリIDとデータセット先変数の型と追加データのマップ変数を選択してください。

JSONスタックメモリが空か判定

json_empty

指定メモリIDのJSONスタックメモリが空か判定しフラグ変数で返します。

JSONスタックメモリのデータ数取得

json_data_num

指定メモリIDのJSONスタックメモリのデータ数取得を数値変数で返します。

JSONスタックメモリのデータを削除

json_delete

指定メモリIDのJSONスタックメモリを削除します。

削除位置は最初か最後を選択してください。

JSONスタックメモリ未使用容量の取得

json_size_get

指定メモリIDのJSONスタックメモリの未使用容量を取得しサイズを返します。

JSONスタックメモリのデータを全件取得

json_get_all

JSONスタックメモリのデータを全件取得します。

メモリIDとデータセット先文字変数を選択してください。

デバイス情報

IMEIを取得する

device_imei

本製品のIMEI情報を文字変数に格納します。

IMSIを取得する

device_imsi

本製品に挿入されているSIMのIMSI情報を文字変数に格納します。

電話番号を取得する

device_phone_num

本製品に挿入されているSIMの電話番号を文字変数に格納します。

レシピエンジンのバージョンを取得する

device_engine_ver

レシピエンジンのバージョンを文字変数に格納します。

MCU/BLE/モデムファームウェアのVersionを取得する

device_stm_ver

MCU/BLE/モデムファームウェアのVersionを文字変数に格納します。

製品名を取得する

device_model_code

製品名を文字変数に格納します。

ログ

log_log

ログを保存します。文字列変数を追加してください。
128文字制限があり、それを超える文字列の追加も可能ですが、128文字までしか残りません。
ログレベルは以下を選択できます。
すべてのログレベルがFLASHログに残ります。このログレベルはログの切り分けにお使いください。
キッティングツールにてログの取得が可能です。

例えば文字列を"TEST"でログレベルをINFOとした場合、FLASHログには以下のように出力されます。

[2022/02/24 11:30:36][BLK][M][INFO]TEST

システム

system_reboot

デバイスを再起動させます。

LED

LED点灯

led_init

LEDを点灯させます。

LED消灯

LEDを消灯させます。

モデム

電界強度取得

modem_get_elec

電界強度を取得します。

数値変数に電界強度をセット

modem_set_elec

数値変数に電界強度をセットします。
「電界強度取得」ブロックの「取得成功」内で使用してください。

数値変数に電界強度の取得時間をUNIX時間でセット

modem_set_elec_time

数値変数に電界強度の取得時間をUNIX時間でセットします。
「電界強度取得」ブロックの「取得成功」内で使用してください。

モデムがスリープするまでの時間を設定

modem_off

モデムがスリープするまでの時間を設定します。

モデムが動作した後に、指定した時間が経過すると、モデムはスリープします。

ビーコン

ビーコン共通スキャン設定

ble_kyotu

ビーコン共通スキャン設定を行います。

このブロックは一度だけ設定してください。二度目に設定する場合は一度目の本ブロックの設定が上書きされます。

以下を設定してください。

ble_ex1

1回あたりのアドバタイズスキャンを実行する時間とアドバタイズスキャンの周期を設定します。
上記の例では160ms毎に80ms間スキャンをします。
このため50%の時間スキャンをして半分休む設定となります。100%スキャンをする場合は、スキャン間隔とスキャン時間を同じ値を入れることで実現できます。
常に受信し続けると本製品の電力消費が多くなりますが、ACアダプタから電源を供給する場合、低消費制御が必要ないため受信周期と受信時間を同じにすることによりビーコンの受信失敗を防ぐ事が出来ます。

ble_ex2

アドバタイズスキャン時のRSSIの下限値を-128~0dBm の範囲で設定します。
ここで設定した受信強度より小さな電波は受け取らない設定となります。
上記の例ではビーコンの電波強度が-96dBmより小さかった場合は電波を受け取らないことになります。
この設定を調整することで、ある程度近くにあるビーコンのみ受信する等の設定が可能となります。

ble_ex3

ビーコンは高頻度で発信している為、受信したタイミング毎にイベントを通知すると高頻度でイベントを通知することになります。このため指定時間内でイベントを一度だけ通知する設定をすることができます。

ビーコン機器別設定

ble_kobetu

ビーコン機器別設定を行います。

このブロックはスキャンしたいビーコンの情報からフィルタを作成します。

以下を設定してください。

スキャン開始イベント

ble_scan_start

指定したイベントIDのスキャンを開始します。

スキャン結果受信待ち

ble_scan_wait

設定Indexのスキャンフィルタを用いてスキャン結果の受信を待ちます。

スキャン開始イベントで指定したイベントIDと一致させることで、スキャンが開始され、

データが受信されます。

受信したAdvertiser's Address(6oct)を文字変数にセット

ble_str6

受信したAdvertiser's Address(6oct)を文字変数にセットします。

受信したAdvertiser's Data(31oct)を文字変数にセット

ble_str31

Advertiser's Data(31oct)を文字変数にセットします。

受信したAdvertiser's Address(6oct)をバイナリ変数にセット

ble_bi6

Advertiser's Data(6oct)をバイナリ変数にセットします。

受信したAdvertiser's Data(31oct)をバイナリ変数にセット

ble_bi31

Advertiser's Data(31oct)をバイナリ変数にセットします。

スキャン停止

ble_stop

スキャンを停止します。

シリアル

RS-232C/RS-485

UART通信設定

serial_init

UARTの通信設定を行います。

文字変数を送信

serial_send

文字変数を選択したUARTプロトコルで送信します。

改行コードの有無/種類やタイムアウト時間を設定できます。

データ受信

serial_recieve

選択したUARTプロトコルからデータを受信します。

文字変数に受信データをセット

serial_data_set

受信したデータを文字変数にセットします。

「シリアルUARTのデータ受信を検知」ブロック内で使用してください。

接点信号

接点入力

gpio_in

接点信号の値を取得します。

Close「1」、Open「0」、エラー「-1」で返却されます。

接点出力

gpio_out

指定したPin NoにおけるOpen/Closeを変更します。

ボタン

このブロック内に処理を追加することで、ボタンで発動する機能が作成できます。

1秒以内のボタン検知

button_1

1秒以下のボタン押下によるトリガーブロックとなります。

1秒以上4秒以下のボタン検知

button_1-4

1秒以上4秒以下のボタン押下によるトリガーブロックとなります。

ディスプレイ

display_set

ディスプレイに文字を表示できます。

表示できる文字は半角の大文字英語、半角数字、記号(「 ` 」除く)となります。

表示できない文字を入力した場合には警告が表示されますのでご確認ください。

USBカメラ

カメラの撮影設定をする

カメラの撮影設定を行います。

以下、ムービーを選択した場合についての説明です。

cam_movie

​ 以下、スチールを選択した場合についての説明です。

cam_stil

撮影を開始する

cam_start

カメラの撮影設定に応じて、ムービーを開始、またはスチール撮影を開始します。

カメラをOFFにする

cam_off

カメラをOFFにします。ムービー撮影も終了します。

取得した画像データをサーバに送信する

cam_send

取得した画像をサーバに送信します。

「全て送信」にチェックがあれば、取得できた画像を全て送信します。

「最新 〇枚送信」に指定すれば、最新から〇枚分送信します。

送信失敗時のリングバッファデータ設定はデータを保持かデータを削除が選択できます。

データを保持する設定にしておくと、リトライ処理において再度同じバッファを送信することが可能となります。