FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ThingSpeakにCPU温度を送信する

目的: FreeBSDで数分おきに、IoTサーバーのThingSpeakにCPU温度を送信して蓄積する。

手順1  FreeBSDでCPUの温度を取得できるようにする。

取得できる場合
$ /sbin/sysctl dev.cpu | grep temperature
dev.cpu.0.temperature: 48.0C

取得できない場合は、下記サイトを参照して boot.confを書き換える。
http://wiki.bsdforen.de/howto:cpu_stepping

Intel CPUの場合
$ vi /boot/loader.conf
coretemp_load="YES"
$ reboot

2) ThingSpeakの設定
 ThingSpeakのアカウントを取得後、チャネルの設定をして、API Keysを入手する。

3) FreeBSDでIoTサーバーのThingSpeakにCPU温度を送信するスクリプトを作成する。

CPU温度の送信は、スクリプトのボーンシェル(sh)とwgetを組み合わせる。
下記のスクリプト内の***Insert API Keys***に入手したAPI Keysを置換する。
CPU温度は、field1の変数値($TEMP)としている。

1CPUバージョン
$ vi ./temperature.sh
#!/bin/sh
TEMP=`/sbin/sysctl dev.cpu | grep temperature | awk '{print $2}' | sed 's/C//'`
#echo $TEMP
#/usr/local/bin/wget -qO - 'http://api.thingspeak.com/update?key=***Insert API Keys***&field1=100'
WEB='http://api.thingspeak.com/update?key=***Insert API Keys***&field1='
echo $WEB$TEMP
/usr/local/bin/wget -qO - $WEB$TEMP


4) crontabで、数分毎にIoTサーバーにCPU温度を送信して、蓄積する。

$ crontab -e
*/5 * * * * /home/user/temperature.sh 1> /dev/null

 頻度は例として5分毎とした。
標準出力のメッセージが数分毎にmailで届かないように 1> /dev/nullを加える。
スポンサーサイト
プロフィール

まつばば

Author:まつばば
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。