5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Raspberry Pi から kintone にデータを書き込む

Posted at

Raspberry Pi から kintone にデータを書き込む

Raspberry Pi(Node-RED)から、kintone へAPI経由でアプリにデータを書き込みます。
今回は、以下の2つのフィールドを持つアプリを作成し、Raspberry Pi(Node-RED)からデータを書き込みます。
・日時
・文字列(1行)

kintone アプリの作成

kintone にアプリを作成します。
今回は、「はじめから作成」にて作成します。

フィールドの設定

以下の2つのフィールドを配置します。
・日時
。文字列(1行)
001.jpg

フィールドコードを以下のように変更します。

フィールド フィールドコード
日時 date
文字列(1行) data

002.png

003.png

APIトークンの作成

APIトークンを作成します。
アプリの[設定]から[APIトークン]を選択します。

004.png

REST APIのエンドポイントやアプリIDを確認します。

項目 確認箇所
エンドポイント https:// から record.json まで https://<ドメイン名>/k/v1/record.json
アプリID app= の後の数値 1

[生成]を選択し、APIトークンを生成します。
また、[レコード追加]のアクセス権を付与し、保存します。

005.png

最後に、アプリを公開します。

Raspberry Pi(Node-RED)の設定

日時と文字列を HTTP Request にて kintone に送信します。
フィールド形式の仕様は以下に掲載されています。
フィールド形式 – cybozu developer network

101.jpg

送信するデータの作成(functionノード)

「日時」と「文字列(1行)」のデータを作成します。

・日時
日時は以下の形式に成形ます。
YYYY-MM-DDTHH:MM:SSZ

・文字列(1行)
「データ」と記します。

var getCurrentTime = function () {
    var date = new Date();
    date.setHours(date.getHours() - 9);
    var d = date.getFullYear() + '-';
    d += ('0' + (date.getMonth() + 1)).slice(-2) + '-';
    d += ('0' + date.getDate()).slice(-2) + 'T';
    d += ('0' + date.getHours()).slice(-2) + ':';
    d += ('0' + date.getMinutes()).slice(-2) + ':';
    d += ('0' + date.getSeconds()).slice(-2) + 'Z';
    return d;
};
msg.date =getCurrentTime() ;
msg.data ="データ";
return msg;

102.jpg

JSON body の作成(functionノード)

作成した送信するデータをJSON形式にします。
"app"には、APIトーク生成時に確認したアプリIDを記載します。

var payload={
 "app":"1",
 "record": 
  {
  "date":{"value":  msg.date  },
  "data": {"value": msg.data }
}
}
msg.payload=payload;
return msg;

103.jpg

APIトークン の設定(templateノード)

APIトーク生成時に確認したAPIトークンを設定します。

| 項目 | 設定値 |
|:--|:--|:--|
| 設定先 | msg.headers.X-Cybozu-API-Token |
| 形式 | Mustacheテンプレート |
| テンプレート | <APIトークン> |
| 構文 | なし |

104.png

データの書き込み(http requestノード)

APIトーク生成時に確認したエンドポイントを設定します。

| 項目 | 設定値 |
|:--|:--|:--|
| メソッド | POST |
| URL | <エンドポイント> |
| 出力形式 | JSON |

105.png

データの書き込み

inject し、データの書き込みが成功すると、http requestノードからデータレコードのIDが出力されます。

{ id: "1", revision: "1" }

201.jpg

kintone にデータが書き込まれました。

202.jpg

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?