LoginSignup
3
0

More than 5 years have passed since last update.

[Node.js]Raspberry Pi のカメラモジュールで撮影した写真をAzure Blob Storageに送る

Last updated at Posted at 2017-09-07

Raspberry Piにカメラモジュールを付け、撮影した写真をAzure Blob Storageに保存します。
OSはRaspbian。言語はJavaScript(Node.js)です。

準備

カメラモジュールを接続したRaspberry Pi(OSはRaspbian)を用意します。
そして、Node.jsをインストールしておきます。

Azureには、Blob Storageを作成します。
作成したら、ConnectionStringとコンテナー名を控えておきます。

コード

以下のコードを実行すると、カメラモジュールが撮影をし、その画像をBlob Storageに保存してくれます。
その際、

  • ConnectionStringとコンテナー名は書き換える
  • date-utils, azure-storageの各モジュールをnpm installする

ことが必要です。

// 写真ファイルパス(ファイル名は現在日時を使う)
require('date-utils');
var dt = new Date();
var fileName = dt.toFormat('YYYYMMDDHH24MISS') + '.jpg';
var filePath = '/home/pi/photo/' + fileName;

// Azureとの連携用モジュール
var azure = require('azure-storage');

// Azure上のBLOBストレージとの接続用サービスオブジェクト
// 引数にBLOBストレージのConnectionStringを設定
var blobSvc = azure.createBlobService('{ConnectionString}');

// カメラモジュールを使って写真を撮影する
var spawn = require('child_process').spawn;
var option = ['-o',  filePath];
var raspistill = spawn('raspistill', option);

// 撮影完了後のコールバックにてアップロードを実行
raspistill.on('close', function() {
    blobSvc.createBlockBlobFromLocalFile('{コンテナ名}', fileName,  filePath, function(error, result, response){
        if(!error){
            console.log('アップロード成功');
        } else {
            console.log(error);
        }
    });
});

たったこれだけでクラウドカメラができました。お手軽ですね。

参考

Node.js から BLOB ストレージを使用する方法

3
0
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
3
0