「Fitpc2i/usbrh-upload」の版間の差分

提供: fukudat.net
ナビゲーションに移動検索に移動
4行目: 4行目:
  
 
=== ドライバ ===
 
=== ドライバ ===
ある時から、dkms を使わないと、カーネルモジュールが作れなくなったのかな?ビルドできなくなった。
+
[http://green-rabbit.sakura.ne.jp/usbrh/ カーネルドライバ] が、Ubuntu のアップデートに伴って、なぜか遂にビルドできなくなってしまった。
 +
めんどくさいので、理由は追求しない。
  
==== dkmsを使ったビルドの準備 ====
+
代わりに[https://github.com/osapon/usbrh-linux/ ユーザコマンド] をインストール。
1回だけ、以下のパッケージをインストール。
 
<pre>
 
$ sudo apt-get install dkms
 
</pre>
 
 
 
ソースを /usr/src/usbrh-VERSION に置く。
 
 
<pre>
 
<pre>
 
$ cd ~/src
 
$ cd ~/src
$ git clone https://github.com/kimata/usbrh
+
$ git clone [https://github.com/osapon/usbrh-linux.git
$ sudo mkdir /usr/src/usbrh-0.1.1
+
$ cd usbrh-linux
$ sudo chown USER.USER /usr/src/usbrh-0.1.1
+
$ make
$ cd ~/src/usbrc
+
$ sudo cp -p ./usbrh /usr/local/bin
$ cp -r . /usr/src/usbrh-0.1.1/
+
$ sudo chmod u+s /usr/local/bin/usbrh
</pre>
 
 
 
/usr/src/usbrh-0.1.1/dkms.conf を以下のような感じで作る。
 
<pre>
 
PACKAGE_NAME="usbrh"
 
PACKAGE_VERSION=0.1.1
 
AUTOINSTALL=yes
 
 
 
MAKE[0]="make all DKMS_BUILD=1"
 
DEST_MODULE_LOCATION[0]="/extra"
 
BUILT_MODULE_NAME[0]="usbrh"
 
CLEAN="make clean DKMS_BUILD=1"
 
</pre>
 
 
 
Makefile を以下のように書き換える。
 
<pre>
 
あとで書く。
 
</pre>
 
 
 
src/Makefile も書き換える。
 
<pre>
 
あとで書く。
 
</pre>
 
 
 
dkms でソースを登録する。
 
<pre>
 
$ sudo dkms add -m usbrh -v 0.1.1
 
</pre>
 
 
 
ここまで、1回やれば良い。
 
 
 
==== ビルド/インストール ====
 
 
 
ここから、カーネルが新しくなる度に、実行する。
 
<pre>
 
$ sudo dkms build -m usbrh -v 0.1.1
 
$ sudo dkms install -m usbrh -v 0.1.1
 
 
</pre>
 
</pre>
  
リブートする。(ssh-agent の起動を忘れないように。)
+
動くかどうかテスト。
 
 
==== dkmsを使わない方法 ====
 
Ubuntu 18.04.2 LTS kernel 4.15.0-54 以降、エラーになる。
 
 
<pre>
 
<pre>
$ cd ~/git
+
$ /usr/local/bin/usbrh -f 1    # 1コめのセンサー
$ git clone https://github.com/kimata/usbrh
+
28.90 50.60
$ cd usbrh
+
$ /usr/local/bin/usbrh -f 2    # 2コめのセンサー
$ make
+
29.33 48.40
$ sudo make install
 
 
</pre>
 
</pre>
module ができるので、kernel が新しくなるたびに rebuild, install する。
 
  
 
=== スクリプト ===
 
=== スクリプト ===

2019年7月18日 (木) 22:56時点における版

ストロベリーリナックス社製のUSBRHを使って、温度・湿度を測り、クラウドにアップロードする。

インストール

ドライバ

カーネルドライバ が、Ubuntu のアップデートに伴って、なぜか遂にビルドできなくなってしまった。 めんどくさいので、理由は追求しない。

代わりにユーザコマンド をインストール。

$ cd ~/src
$ git clone [https://github.com/osapon/usbrh-linux.git
$ cd usbrh-linux
$ make
$ sudo cp -p ./usbrh /usr/local/bin
$ sudo chmod u+s /usr/local/bin/usbrh

動くかどうかテスト。

$ /usr/local/bin/usbrh -f 1     # 1コめのセンサー
28.90 50.60
$ /usr/local/bin/usbrh -f 2     # 2コめのセンサー
29.33 48.40

スクリプト

$ cd ~/git
$ git clone ssh://fukudat.net/var/git/usbrh-upload
$ cd usbrh-upload
$ sudo make install

設定

crontab を編集して以下の行を追加。

2-59/5 *  * * *		/usr/local/bin/upload-usbrh-data.pl
2-59/5 *  * * *		/usr/local/bin/upload-sensor-data.pl