Evernoteプレミアムをお得に

普通に契約すると毎月数百円かかりますが、ソースネクストさんの次のパッケージを使うとお得になります(2016用と書いてありますが、現行版で利用出来ることを2019/05/02に確認しました)。

パッケージ内に封入されているリンクに飛んで、書かれているコードを投入後、その画面からログインし、チャージされたポイントを有効期限に充当して下さい。有効期限が、1パッケージあたり、1年、延びます。

在庫限りと思われますので、Evernoteを長く使う予定があるなら、買い溜めしてまとめてチャージしてしまっても良いかもです。

AWS EC2 ブラウザでコンソール

GCPはブラウザなコンソールがインスタンス画面に統合されていますが、AWSでは、ぱっと見、どこにいるかがわかりにくい感じです。Proxy超えでsshを使うのも面倒だったので、繋ぎ方を調べてみた自分用メモです。

IAMロールの作成

コンソールアクセスを行うためのIAMロールを作成します。

  1. AWSコンソールからIAMを選択します

  2. ダッシュボードから、『ロール』を選択します


  3. IAMロールの概要画面で『ロールの作成』をクリックします


  4. サービス対象として『EC2』をクリックします


  5. EC2→EC2と辿り、『次のステップ:アクセス権限』をクリックします


  6. ポリシーのフィルター欄に『AmazonEC2RoleforSSM』を入力し、フィルタされたポリシーにチェックを入れ、『次のステップ:タグ』をクリックします


  7. タグの追加画面で『次のステップ:確認』をクリックします


  8. 確認画面の『ロール名』欄にロール名を投入し、『ロールの作成』をクリックします


  9. IAMロールが作成されました


既存インスタンスへのIAMロールの割り当て

※IAMロール作成後にインスタンスを作成する場合は、この段落はスキップして下さい

  1. インスタンス一覧から対象インスタンスを選択し、『アクション』→『インスタンスの設定』→『IAMロールの割り当て』と進みます

    ※この時点では、インスタンスのプロパティのIAMロールはブランクです(上記画像下部)

  2. IAMロール欄の下向き▲をクリック、前段落で作成したロール名を選択し、『追加』をクリックします


  3. ロール割り当て完了画面となります


新規インスタンスへのIAMロールの割り当て

新規インスタンスへ前々項で作成したIAMロールを割り当てます。

  1. インスタンス作成時、インスタンスタイプを選択後に『次の手順:インスタンスの詳細の設定』をクリックします


  2. IAMロールとして、前々項で作成したIAMロール名を指定し、『確認と作成』または『次の手順』に進み、インスタンスの作成を行います


SSMエージェントのアップデート

SSMエージェントのアップデートを行います。

  1. AWS Systems Managerから、『ランコマンド』を選択します


  2. コマンドの実行画面で、『コマンドの実行』をクリックします


  3. 検索欄に『AWS-UpdateSSMAgent』と入力し、コマンドをフィルタリングします
    フィルタされた『AWS-UpdateSSMAgent』をラジオボタンで選択→ターゲットインスタンスをチェック→『実行』をクリックします


ブラウザコンソールの起動

  1. AWS Systems Managerから、『セッションマネージャー』を選択し、『セッションの開始』をクリックします


  2. 対象インスタンスをラジオボタンで選択し、『セッションの開始』をクリックします


  3. 次のようなかんじになります

Netatmoの値をMRTGで表示してみる

Netatmoのデータ(温度・湿度)をMRTGでグラフ化してみます。

必要な物

  • MRTGな環境(手元にサーバがない場合は、AWSやGCPの無償枠でw)
  • curlとjq
  • Netatmo Weather Station(←Amazonへのリンク)
  • Netatmoのアカウント

Client idとClient secretの取得

※取得済みの場合はこの手順はパスして結構です。

  1. まずはNetatmo公式にログインします
    https://auth.netatmo.com/en-us/access/login
  2. 次にNetatmo Connectに移動します
    https://dev.netatmo.com/myaccount/createanapp
  3. CREATE AN APPをクリックします
  4. NameにはNetatmoのログイン用メアドを入力します
  5. Descriptionには適当な説明を入力します
  6. Data Protection Officer nameには自分の名前を入力します
  7. Data Protection Officer emailにはNetatmoのログイン用メアドを入力します
  8. I accept Netatmo APIs Terms and Conditionsにチェックを入れて、SAVEをクリックします
  9. Client idClient secretが表示されるので、記録します

データ取得用スクリプトの作成

適当な場所に適当な名前で次の内容のスクリプトを置きます。

#!/bin/sh
export LANG=C
temp=/tmp/netatmo.$$
export LANG=C
token=`curl -X POST https://api.netatmo.com/oauth2/token -d "grant_type=password&client_id=[前項で取得したClient id]&client_secret=[前項で取得したClient secret]&username=[Netatmoログインメアド]&password=[Netatmoログインパスワード]" | jq -r '.access_token'`
curl -X GET "https://api.netatmo.com/api/getstationsdata?access_token=$token" | jq '.body.devices[0].modules[0].dashboard_data | .Temperature, .Humidity' > $temp
ibytes=`head -1 $temp | awk '{print $1*10}'`
obytes=`tail -1 $temp | awk '{print $1*10}'`
echo $ibytes
echo $obytes
echo 0
echo "Temp/Hum monitoring"
rm -f $temp
exit 0
  • 小数点1位なデータをMRTGで表示するため、値を10倍して取得しています
  • アクセストークンの有効期限は3時間です
    このため、この例では毎回取得しています
  • jqの出力からダブルクォーテーションマークを外すときは、-rオプションを付けます(上記スクリプト5行目)
  • jqで同時に複数の値を抽出するときは、親キーの後にパイプ文字を入れて、子キーをカンマで並べます(上記スクリプト6行目)

取得できるデータ

室内用デバイスについて
jqのパラメータ 内容
.body.devices[n-1] n番目のデバイス
一つしかない場合は0を指定
.body.devices[n-1].dashboard_data.Temperature 気温(℃)
.body.devices[n-1].dashboard_data.Humidity 湿度(%)
.body.devices[n-1].dashboard_data.CO2 CO2濃度(ppm)
.body.devices[n-1].dashboard_data.Noise 騒音(dB)
.body.devices[n-1].dashboard_data.Pressure 気圧(mb)

外部モジュールについて
jqのパラメータ 内容
.body.devices[n-1].modules[m-1] n番目のデバイスのm番目の外部モジュール
一つしかない場合はそれぞれ0を指定
.body.devices[n-1].modules[m-1].dashboard_data.Temperature 気温(℃)
.body.devices[n-1].modules[m-1].dashboard_data.Humidity 湿度(%)

mrtg.cfgの設定例

mrtg.cfgに次の内容を追加します。
先程のスクリプトは/root/netatmo.shという名前で保存しているものとします。
先程10倍で値を取得しているため、表示するときに0.1を掛けています。

Target[test_temp]: `/bin/sh /root/netatmo.sh`
MaxBytes[test_temp]: 1000
Options[test_temp]: growright,gauge,nopercent,noinfo,noo
Title[test_temp]: 某所の気温
ShortLegend[test_temp]: ℃
YLegend[test_temp]: Celsius
YTicsFactor[test_temp]: 0.1
Factor[test_temp]: 0.1
LegendI[test_temp]: 温度
LegendO[test_temp]:
PageTop[test_temp]: <h1>某所の気温</h1>

Target[test_hum]: `/bin/sh /root/netatmo.sh`
MaxBytes[test_hum]: 1000
Options[test_hum]: growright,gauge,nopercent,noinfo,noi
Title[test_hum]: 某所の湿度
ShortLegend[test_hum]: %
YLegend[test_hum]: %
YTicsFactor[test_hum]: 0.1
Factor[test_hum]: 0.1
LegendI[test_hum]:
LegendO[test_hum]: 湿度
PageTop[test_hum]: <h1>某所の湿度</h1>

出来上がりはこんな感じになります。

Echo Inputを買ってみました

一瞬気絶したあと、気付いたら手元にEcho Input(←Amazonへのリンク)が存在していました。

外部スピーカーには節電機能(オートパワーオフ)で使える物と使えない(時間が経つと切れてしまう)物があるようですが、手元にあった次のスピーカー(Anker SoundCore←Amazonへのリンク)はAUX直結でご機嫌に動いているようです。

Bluetooth搭載スピーカーは、(連続稼働させる場合)結構相性があるようなので、参考になればと思います。


Inputは小型薄型で場所を取らなくてよいですね。
相性のチャレンジをしたくない場合はdotでも良い感じもしますが、このコンパクトさは、素敵です(↓大きさ比較のために並べてみました)。

  

2019.05.05追記
純正ACアダプタ以外の物を使用して、音声出力にノイズが混じる場合は、ACアダプタを変更してみて下さい。ACアダプタから拾っている場合があります。

超音波加湿器のぬめり防止

そろそろ加湿器を片付ける時期なので、来年に向けてのTipsです。

加湿器をかけると鼻づまりになってしまうので、対策してみました。
アロマ系を使ったり液体の物も試してみましたが、こちらの方が効き目とコスパが良いようです。

これを使うことで一発でぬめりと鼻づまりが消えたので(当社比)、来シーズンに備えて準備しておくか、その時が来たら思い出してみて下さい。

アイスリー工業 ヨードのミストで空気きれい
http://www.i-three.jp/product/dtl.html?id=56

ご参考まで。