Raspberry-Pi

目次

概要

USB接続型温度センサーをRaspberry-Piにて使用する場合のノウハウ。

ハードウェア

取り付け

USB端子に温度計を取り付けた際には以下のメッセージが記録される。

ソフトウェア

pcsensor

概要

制御用ソフトウェア「pcsensor」はARM用のバイナリが存在しないため、ソースコードよりコンパイルする。
Fedora 21 Remixにはソースコードをコンパイルするための環境が不足しているため、以下の手順に従い環境を整備する。

環境構築



コンパイル

pcsensorのコンパイルを行う。
バージョンや派生型においても、同じ手順でコンパイルすることができる。

# tar xfvz pcsensor-1.0.2.tar.gz
# cd pcsensor-1.0.2
# make
cc -DUNIT_TEST -o pcsensor pcsensor.c -lusb

バイナリが生成される。

-rwxr-xr-x  1 root root 17870 Jun 17 14:51 pcsensor

温度測定

バイナリを実行することで、測定された温度が表示される。

# ./pcsensor 
YYYY/MM/DD HH:MM:DD Temperature 101.98F 38.88C



引数「-d」をつけることで、接続されているバスの情報が付加される。

# ./pcsensor 
YYYY/MM/DD HH:MM:DD Bus 001 Device 004 Temperature 101.98F 38.88C

Zabbix連携

概要

Zabbix Agentを経由した温度測定を行う場合のTips。

権限付与

本機能を実行するためにはroot権限が必要となることから、適切な権限付与とアイテム設計が必要となる。

# visudo

## Zabbix
zabbix ALL=(root) NOPASSWD: /usr/local/bin/pcsensor

アイテム設定

値を収集するアイテムは、system.runキーを使用して作成。

sudo -u zabbix sudo /usr/local/bin/pcsensor -D0 | cut -d' ' -f5 | sed 's/[A-Z]//g'
system.run["sudo /usr/local/bin/pcsensor -D0 | cut -d' ' -f5 | sed 's\/[A-Z]\/\/g'"]

参考

コンパイルエラー

declaration of function‘isprint’

Raspbian GNU/Linux 9にてコンパイル時に発生するエラー。

pcsensor.c: In function ‘main’:                                                                                                                           
pcsensor.c:426:14: warning: implicit declaration of function ‘isprint’  [-Wimplicit-function-declaration]
         if (isprint (optopt)) 

ライブラリ不足と思われるが、解決方法不明。
実際上の動作には問題は無い。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-03-16 (日) 23:20:38