Step by Step!

logicbaseのブログ

Mac OS X Yosemiteを入れてみた

OS X Yosemite をいれてみた。

f:id:logicbase:20141106152857j:plain

ネット上でも多数報告されていたが僕の場合もインストールの途中「残り22分」と表示されてから「21分」と「22分」を繰り返し、結局90分以上も費やしてインストールが終わった。

f:id:logicbase:20141106154427j:plain

 

"昼休み中には終わるだろう"と始めたら更新してJavaやら何やら入れて・・・、落ち着くまでに3時間以上もかかってしまいました。

f:id:logicbase:20141106161746j:plain

Yosemiteをインストールする場合は気長に待つことです。

  

 

今のところ不具合報告が多いので壊れちゃいけない環境がある人は要注意です。


【要注意!】Mac OSX Yosemite(10.10) 新機能・不具合・バグまとめ - NAVER まとめ

 

 

 

Mercurialをインストールしてみる(Mac OS)

まずはHomeBrewをインストールする

Homebrew — OS X用パッケージマネージャー

f:id:logicbase:20141024130427j:plain

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

ターミナルに文字列を貼り付けて実行

つぎにMercurialをインストールする

$ brew install mercurial

で、動作確認する

f:id:logicbase:20141024165148j:plain

 

以上、Mercurialのインストール備忘録でした。

モバイルネットワークアダプタSTM-Pro2/Rの録画画像再生

モバイルネットワークアダプタSTM-Pro2/Rはカメラ映像を1枚/秒で本体内蔵のSSDに連続録画することができます。

再生はカメラ>時間帯を選択し再生ボタンをクリックするだけでとても簡単です。(↓ムービーをご覧ください)

1FPSでも十分使えると好評です^^)/

 

PoE(Power Sourcing Equipment)のはなし

f:id:logicbase:20140919130323j:plain

PoE給電HUBはLANケーブル(Cat.5以上)を通じて電力を供給する装置です。(100Mまで給電可能)

弊社もよく使いますがネットワークカメラや無線LANアクセスポイントなど近くに電源をとれないようなシーンでの利用に適しています。

ちょっと心配なのが「PoE給電ポートにPoE受電タイプじゃない機器を繋いでも大丈夫?」ということです。

 

答えは・・・

PoE給電ポートにPoE受電タイプじゃない機器を繋いでも大丈夫です。

PSE(給電側機器)はPD(受電側機器)を検知してから給電を始めます。またLANケーブルが抜けると給電を停止するので安全ですね。

 

本日はPoEのお話でした^^)/

 

 

 

データマネージメント

f:id:logicbase:20140821143813j:plain

ブラッド・ピット主演の「マネーボール」を借りてきました。
B・ピットは若い時のロバート・レッドフォードそっくりで驚きです。

 

ご存知の方も多いと思いますが、B・ピットの役どころは球団経営の厳しい球団(オークランド・アスレチックス)のGMです。
年俸が低くてもパフォーマンスのよい選手(打率は低くても出塁率が高い選手とか)を集めデータマネージメントでこれまでの勘と経験といった常識を覆そうというストーリーです。(日本でいうと野村監督のID野球でしょうか)

 

さて夏の高校野球新潟県代表の日本文理高校はベスト4入りしました。

高校野球にデータマネージメントはつまらないですね。

次の試合もおもいっきり楽しんで戦ってもらいたいです ^^)/ 

 

 

カメラプリセットコントローラ「巡回くん」の添付画像を自動保存してみた^^ (Googleドライブ編)

f:id:logicbase:20140718093200j:plain
前回のカメラプリセットコントローラ「巡回くん」の添付画像を自動保存してみた^^ (Thunderbird編)ではメーラーThunderbird」とアドオン「AttachmentExtractor」の組み合わせでカメラプリセットコントローラ「巡回くん」のメール添付画像をローカルフォルダに保存する方法を説明しました。


今回は「巡回くん」のメール添付画像をGoogleドライブに自動保存してみます。
noriaki blog はてな出張所の記事を参考にさせていただきました)

概要

スクリプトは指定の送信元メールアドレスとメールタイトルに一致するメールの添付JPGファイルをGoogleドライブ(フォルダ名:GmailAttachments)に自動保存するスクリプトです。(「巡回くん」の巡回画像送信先メールアドレスにはGmailを指定します)

Google Apps スクリプト

Googleドライブ>作成>スクリプトで空プロジェクトを作成後、以下のスクリプトをコピペします。

/*
 
    Auto-Save your Gmail Image Attachments to Google Drive
    ======================================================

    Fork written by Akio Higuchi on 17/07/2014
    
    The default Google Drive folder for saving the image
    attachments is "GmailAttachments" match the email-add
    ress(to),email-address(from) and email-subject.
    once the message has been processed, Gmail applies the
    label "Processed" to that message.
    You can change the defaults in line 43 & 44.   


    Auto-Save your Gmail Image Attachments to Google Drive
    ======================================================
    
    Fork written by Noriaki Uchiyama on 11/05/2013 

    The default Google Drive folder for saving attachments
    is "GmailAttachments" only has GMail label "@gdrive" 
    and once the message has been processed, Gmail applies 
    the label "Processed" to that message.
    You can change the defaults in line 38 to 40.
    
    
    Auto-Save your Gmail Image Attachments to Google Drive
    ======================================================
 
    Written by Amit Agarwal on 05/28/2013 
    
    To get started, choose Run -> Authorize and grant the 
    necessary permissions. Then choose Run -> StartProgram. 
    
    The default Google Drive folder for saving the image
    attachments is "Gmail Images" and once the message has
    been processed, Gmail applies the label "Processed" to 
    that message. You can change the defaults in line 26 & 26.
 
*/
 
var FROM_MAIL_ADDRESS = "higuchi.akio@gmail.com"
var MAIL_SUBJECT = "[巡回]BB-HCM100"

// Authorize the Google Apps Script
function Authorize() {
  StartProgram();
}
 
// Initialize the Script
function StartProgram() {
  
  var DRIVE_FOLDER = "GmailAttachments";  
  var GMAIL_LABEL  = "Processed";
  
  createGmailLabel(GMAIL_LABEL);
  createDriveFolder(DRIVE_FOLDER);  
  createTrigger();
 
}
 
// The script will check your Gmail mailbox every minute
// with the help of a CLOCK based trigger.
function createTrigger() {
  
  var triggers = ScriptApp.getScriptTriggers();
  
  for(var i in triggers) {
    ScriptApp.deleteTrigger(triggers[i]);
  }
  
  ScriptApp.newTrigger('saveGmailAttachments')
   .timeBased()
   .everyMinutes(1)
   .create();   
 
}
 
// If the Gmail label is unavailable, create one.
function createGmailLabel(name) {
  
  if ( ! GmailApp.getUserLabelByName(name) ) {
    GmailApp.createLabel(name);
  }
  
  ScriptProperties.setProperty("LABEL", name); 
}
 
 
// If the Google Drive folder is not present, create one.
function createDriveFolder(name) {
  
  var folders = DriveApp.getFolders();
  var folder, found = false;
 
  while (folders.hasNext()) {
    folder = folders.next();
    if (folder.getName() === name) {
      found = true;
      break;
    }
  }
  
  if ( ! found ) {
    DriveApp.createFolder(name);      
  }
  
  ScriptProperties.setProperty("FOLDER_ID", folder.getId()); 
}
 
// This will auto-save the image attachments from Gmail to Google Drive
function saveGmailAttachments() {
  
  var from_mailaddress = FROM_MAIL_ADDRESS;
  var mailsubject = MAIL_SUBJECT;
  
  var label_name = ScriptProperties.getProperty("LABEL");  
  var label = GmailApp.getUserLabelByName(label_name);   
  
  var folderID  = DriveApp.getFolderById(ScriptProperties.getProperty("FOLDER_ID"));
  
  // Scan for threads that have image attachments
  var threads = GmailApp.search("in:all -in:spam -in:trash -in:" + label_name
                                + " has:attachment filename:jpg"
                                + " from:" + from_mailaddress
                                + " subject:" + mailsubject
                                , 0, 10);      
  
  try {
    
    for (var x=0; x<threads.length; x++) {
      
      var messages = threads[x].getMessages();
      
      for (var y=0; y<messages.length; y++) {
        
        var attachments = messages[y].getAttachments();
        
        for (var z=0; z<attachments.length; z++) {
          
          var file = attachments[z];
          
          // Only save image attachments that have the MIME type as image.
          if (file.getContentType().match(/image/gi)) {
            folderID.createFile(file);
          }
        }       
      }
      // Process messages are labelled to skip them in the next iteration.
      threads[x].addLabel(label);
    }  
  }
  catch (e) {
    Logger.log(e.toString());
  }
}

43行目を送信元メールアドレス、44行目を「巡回くん」の送信メールタイトルに書き換えてください。

var FROM_MAIL_ADDRESS = "送信元メールアドレス"
var MAIL_SUBJECT = "「巡回くん」メールタイトル"


また、124行目あたりでGmailの検索を行っています。クエリを書き換えて検索条件をかえることができます。(Gmail 詳細検索の説明はこちら

スクリプトに権限付与

スクリプトGmailGoogleドライブの権限を付与します。
f:id:logicbase:20140718083551j:plain

スクリプトを定期実行

スクリプトを定期実行させます。
f:id:logicbase:20140718083802j:plain
これで本スクリプトが1分毎に自動実行され「巡回くん」から送信されたメールの添付画像がGoogleドライブ上の「GmailAttachments」というフォルダに自動保存されるようになります。

もちろんスマートフォンでも

Googleドライブに画像が自動でUPされるので外出先でも簡単に画像を時系列で確認できイイ感じです。
f:id:logicbase:20140718085744j:plain

スクリプトの定期実行をストップさせたい場合

スクリプトの実行を停止したい場合は次のように操作してトリガーを削除してください。

リソース>現在のプロジェクトのトリガーをクリック
f:id:logicbase:20140718084138j:plain

xをクリックして現在のトリガー(saveGmailAttachments)を削除します。
f:id:logicbase:20140718084145j:plain
これでスクリプトの定期実行はストップします。

カメラプリセットコントローラ「巡回くん」の添付画像を自動保存してみた^^ (Thunderbird編)

f:id:logicbase:20140711163945j:plain

カメラプリセットコントローラ「巡回くん」はカメラプリセットポジションの自動巡回をスケジュールできます。

カメラを見にいかなくても各プリセットポジションの画像がメールで送られてくるのでとても便利です。(左の画像を参照)

 

 

今回は「巡回くん」が送信してくる添付画像を任意のフォルダーに自動保存する方法を説明します。

 

 

メーラは「Thunderbird」を使います。

そしてアドオン「AttachmentExtractor」をインストールします。(ここから↓ダウンロードしてください)

AttachmentExtractor :: Add-ons for Thunderbird

「AttachmentExtractor」は添付ファイルを指定フォルダに一括保存できるアドオンです。

  

 

 

 

 

 

 

Thunderbirdツール>メッセージフィルタで「巡回くん」から送られてきたメールに”タグ”をつけます。

フィルタ機能(メールタイトルにそれと判るキーワードを含ませ「巡回くん」から送られてきたメールと認識させるとか送信元メールアドレスで認識させるとか)でタグ付けします。(タグ名を”巡回くん”とします)

 

 次にアドオン「AttachmentExtractor」の設定です。

Thunderbirdツール>AttachmentExtractor Settingsをクリックします。

 

[General]の設定

添付画像の保存フォルダーを設定します。

f:id:logicbase:20140711172942j:plain

 

[Filenames]の設定

初期値のままです。

f:id:logicbase:20140711172950j:plain

 

[After Extraction]の設定

全てチェックを外します。

f:id:logicbase:20140711173003j:plain

 

[Auto-Extract]の設定

↓のようにチェックを入れ、タグ名には”巡回くん”をセットします。

f:id:logicbase:20140711173012j:plain

 

[Advanced]の設定

添付画像はJPGファイルだけにします。

f:id:logicbase:20140711173020j:plain

 

以上で「巡回くん」から送信された添付画像が指定フォルダーに自動保存されるようになります。(指定フォルダーに抽出し続けるとストレージの空きがなくなることもありますので十分注意してご利用ください)