カテゴリー「RaspberryPi」の23件の記事

2017年5月24日 (水)

RPi テンポラリフォルダが100%

エディタnanoが起動に失敗するので、おかしいと思ったら/tmpフォルダが100%になっている。

中を覗いてみると、libdhcpd-wpaなんとかというファイルが大量にある。なぜか削除できない。固定IPでDHCPは使っていないのに、初回起動時にネットワークがつながっているとdhcpdが起動してしまうらしい。

dhcpデーモンが起動しないように設定する。

sudo insserv -r dhcpcd
sudo insserv dhcpcd,stop=2,3,4,5
再起動。

とりあえず、大量のファイルはなくなった。ところが、まだどんどん大きくなっていくファイルがある。

-rw------- 1 root root 978983 May 23 21:36 fileteJLMa drwx------ 2 root root     60 May 23 21:31 ssh-xogAQbkJfcXK lrwxrwxrwx 1 root root     15 May 23 21:31 xsession-root -> /tmp/fileteJLMa

中身をのぞいてみたところ、lxpanelのエラーなので、起動時にデスクトップ環境を使う設定になっているのかな?raspi-configで起動時テキストコンソールに変更しておいたけど変化なし。

nullにリンクしちゃえ。

sudo rm /tmp/xsession-root
sudo ln -s /dev/null /tmp/xsession-root

ところが、/tmpはラムディスクのため、再起動するとリンクがきえてゴミが復活する。

/etc/rc.local に追加。

sudo rm /tmp/xsession-root
sudo ln -s /dev/null /tmp/xsession-root
sudo rm /tmp/file*

やっぱりなぜか/tmpの空き容量がなくなってしまう。それならエラーの原因であるlxpanelをアンインストールしてみるか。

sudo apt-get autoremove lxpanel

ようやく空き容量が減らなくなった。

まとめ:
dhcpdを起動しないようにする。固定IPなので。
lxpanelをアンインストール。sshでしか使わない。

2016年11月11日 (金)

raspberry pi の空き容量がゼロに

最近、3台のうち、1台のraspberry pi の調子が悪い。時々ネットからアクセスできなくなるけど放置してた。

いろいろ調べていくうちに、空き容量がゼロであることが判明。そんなはずはない、だってSDカードは16Gもあるのに。

Screen1

どのファイルが大きいかを調べる方法をネットで調べたところ次のコマンド。

sudo du -sh /*

そうしたら、/root が11Gもある。なかをのぞいてみると、.xsession-errors が犯人だった。よせばいいのに、中身を見ようとしてnanoしたら反応がなくなった。

Screen2

sudo rm /root/.xsession-errors で削除。無事に空き容量確保。

Screen3

追記:

ネットからアクセスできなくなる原因は、アクセスポイントの設置を行ったためにWifiがいったん切れて再接続できないのが原因だった。なぜかwicdが正常に動作していないようで、再起動して設定をし直した。

sudo /etc/init.d/wicd restart

追記:

また空き容量がゼロに。cronで定期的に削除しようかとも思ったけど、nullにリンクする方法をネットで見つけた。根本的な解決ではないけど。

sudo rm /root/.xsession-errors
sudo ln -s /dev/null /root/.xsession-errors

2015年9月 8日 (火)

エアーブラシとほこりセンサー

ほこりセンサーを設置して、値がほとんど変化しないので面白くないなあと思っていたら、データをみて大きく値が変化していることに気が付いた。ちょうどラッカークリアをエアブラシでたっぷり吹いた時間と一致する。エアブラシを吹いているときはマスクをしたけど、測定値が正しければエアブラシが終了しても1時間くらいは室内にミストが漂っていることになる。もちろん肉眼でミストは全く見えない。外が雨でエアコンを除湿にしているので、窓を開けて換気をしていないのもいけないかもしれない。あとは塗装ブースからなるべくずれないようにエアブラシを使うことを気を付けたい。

Dsc01873sDust_result

2015年9月 1日 (火)

300円のWebCam

自宅の駐車スペースにはTenvisの安いウェブカメラを設置していて、安い割には性能が良いので満足しているけど、Rasberry Piの監視カメラも試してみたくて、秋月電子の300円のウェブカメラを買ってみた。

結論は、感度が悪すぎて、かなり明るくないとまともに画像が撮れないのと、ピントを合わせるのが手動でしかも調節してもボケた画像なので、監視カメラとしてはとても使えない。でも300円なので、Raspberry Piで試しに遊んでみる分にはちょうど良いかもしれない。
Dsc01849s

Photo4_2

自分のPCの前に設置して、試しに部屋の侵入者を記録してみようと思っていたけど、昼間でもカーテンを閉めてしまうと薄暗くて画像が真っ暗。最初動作していないのかと勘違いしたくらい。

2015年8月23日 (日)

ほこりセンサー動作確認

ほこりセンサーの値がほとんど変化しないので、100円ショップで線香を買ってきた。

Dsc01663

センサーに線香を30cmほど近づけてみた。
Dsc01665

煙には反応したので、センサーは一応動作している。でも、着替えや、掃除といったほこりがまいそうな状況でほとんど値が変化しないので、期待したほどの感度はないのかもしれない。火災感知器にはなるが、塗装のためのほこりの判断基準には残念ながら使えそうにない。
Smoke


2015年8月21日 (金)

RPiでほこり測定

Raspberry Piで塗装の大敵埃を測ってみた。ほこりセンサーは、シャープGP2Y1010AUを秋月電子で調達。回路は、日経Linuxの2015年9月号を参考にした。でも、記事のAD変換器だと1.252V以下は測定できないので、MCP3204を使った。MCP3204は5Vで駆動して、SPIのデジタル出力を抵抗で分圧してRPiに与えた。

Dsc01661

測定してみると、センサーの出力は0.5Vくらいなので、0Vから測定できるようにして正解だった。Dsc01662

測定値はばらつくけど、埃のせいなのかどうか、変化が少ないので動作しているのかどうかわからない。タバコを吸わないので、煙で動作確認をすることもできず、試しに爪楊枝を突っ込んでみたら最大出力の3.5Vになったので、一応センサーとしては動作しているようだ。

Result_dust

布団をたたんで、掃除機で部屋の掃除をしてみた。値にほとんど変化なし。ちょっと期待外れの結果。塗装の役には立ちそうにない。
Cleaner1

2015年8月11日 (火)

RPiで起動中のシステムをusbメモリにバックアップ

SDカードが壊れた時のために激速とのうわさのlz4をインストールして運転しながらUSBメモリにバックアップをとってみた。これをcronで1週間に1度くらいの頻度で実行すればいいかな。本当は、起動中のシステムをバックアップしてはいけないらしいけど、DiskImageでも別途バックアップをたまにとることにする。

●lz4のインストール
wget https://github.com/Cyan4973/lz4/archive/r130.tar.gz
tar -xvf r130.tar.gz
cd lz4-r130/
sudo apt-get install cmake
cmake ./cmake_unofficial/
make
sudo cp lz4 /usr/local/bin/

●バックアップのスクリプト

#!/bin/sh
BKDIR=/media/usb0/
BKNAME=`date +%Y%m%d`.img.lz4
dd bs=4M if=/dev/mmcblk0 | /usr/local/bin/lz4 -1 -c > $BKDIR$BKNAME
echo "backup Complete!!"

ウェブのスクリプトをそのままコピペしたら、リダイレクトの記号>が文字化けして>になってた。16GのSDカード(3.1Gが使用中)をバックアップとるのに40分で、ファイルサイズは2.3Gだった。

8GのSDカードだと26分で、サイズは2Gになった。

7969177600 bytes (8.0 GB) copied, 1552.17 s, 5.1 MB/s
backup Complete!!

pi@raspberrypi2 ~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       7.2G  3.0G  4.0G  43% /
devtmpfs        459M     0  459M   0% /dev
tmpfs            93M  548K   93M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           186M     0  186M   0% /run/shm
/dev/mmcblk0p1   56M   20M   37M  36% /boot
tmpfs            32M  4.0K   32M   1% /tmp
tmpfs            16M     0   16M   0% /var/tmp
tmpfs            16M  396K   16M   3% /var/www
tmpfs            32M 1016K   32M   4% /var/log
/dev/sda1        15G  2.0G   12G  15% /media/usb0
毎週月曜日の3:00に実行するようにcronに登録。
0 3 * * 1 sh /home/pi/backup.sh

●バックアップの復元

約1年使ってついにSDカードが逝った。USBメモリに1週間ごとにバックアップがとってあるけど、これを解凍してSDカードに書き戻すのが一苦労。

lz4をウィンドウズで解凍するソフトを探してみたけど、Lhaz 2.4が対応しているはずなのに、実際には落ちる。しょうがないので、raspberryでUSBメモリに解凍してからsambaでWindowsマシンにコピーして、それをImageWriterでSDカードに書き込んでバックアップを復活させた。 復活のコマンドは次の通り。

/usr/local/bin/lz4 -d 20160711.img.lz4

2015年8月 9日 (日)

RPiでUSBメモリを使う

Raspberry PiのデータはRAMディスクに保存するようにしたので、データのバックアップ用にUSBメモリを接続することにした。Windows PCとデータのやり取りはSambaでネットワーク上で行うので、USBメモリはext4でフォーマットする。

Dsc01646


●パーティションを作成
sudo fdisk /dev/sda
d,p,n,p,1,enter,enter,p,w

●ext4でフォーマット
sudo mkfs.ext4 /dev/sda1

●デバイスをマウントするためのディレクリを作成。
sudo mkdir /media/usb0
sudo chmod 777 /media/usb0

●fstabに追加。
/dev/sda1 /media/usb0 ext4 defaults 0 0

●追記:
最初ネットの記述をそのままコピペしていたら、fstabの6番目のオプションでfsckがオンになっていたので、USBメモリを抜いたら起動しなかった。これだと、USBメモリが壊れたらOSが起動しなくなるので危険。fsckは手動でやれば十分なので0でよい。あと、デバイスの増設でデバイス名が変わる可能性があるので、UUIDで書くのが正しいやり方らしいけど、これ以上増やす予定は今のところない。

2015年8月 6日 (木)

RPiでRAMディスクを使う

RPiで10分ごとに測定したデータをSDカードに書き込みしていたけど、こんな使い方をすると数か月でSDカードが壊れるらしい。特に安物を使っているので危ない。

そこで、測定データをRAMディスクに書き込むようにした。でもそうすると、停電とかでデータが失われてしまうリスクがある。データが失われるリスクは多少残るけど、cronで1日1回SDカードに書き戻すようにする。あるいは、USBメモリーなら壊れても交換が楽なので、バックアップに使うのがよいか。

ところが、/etc/rc.local に追加したコマンドが実行されない。しょうがないので、別にスクリプトを書いて、/etc/init.d/に登録した。また、ウェブサーバーの動作がおかしい。リロードしてもデーターが更新されない。/var/www をRAMディスクに変更したのが原因だと思うけど、起動後、データをSDカードから書き戻した後にlighttpdをリスタートするようにスクリプトに追加して解決した。

●スワップワイルの無効化
sudo swapoff --all
sudo apt-get remove dphys-swapfile

●tmp,logフォルダをRAMディスクに割り当て
sudo nano /etc/fstab

tmpfs /tmp tmpfs defaults,size=32m,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,size=16m,noatime,mode=1777 0 0
tmpfs /var/www tmpfs defaults,size=16m,noatime,mode=1777 0 0
tmpfs /var/log tmpfs defaults,size=32m,noatime,mode=0755 0 0
を追加

●起動時の初期化

sudo nano /etc/init.d/init-ramdisk
sudo chmod 755 /etc/init.d/init-ramdisk
sudo chkconfig --add init-ramdisk

#!/bin/sh
### BEGIN INIT INFO
# Provides:       init-ramdisk
# Required-Start: $local_fs
# Required-Stop:  $local_fs
# Default-Start:  2 3 4 5
# Default-Stop:   0 1 6
### END INIT INFO

# 起動時、自動的にディレクトリを作成
mkdir -p /var/log/ConsoleKit
mkdir -p /var/log/samba
mkdir -p /var/log/fsck
mkdir -p /var/log/apt
mkdir -p /var/log/ntpstats
mkdir -p /var/log/lighttpd
chown www-data /var/log/lighttpd
chgrp www-data /var/log/lighttpd
chown root.ntp /var/log/ntpstats
chown root.adm /var/log/samba
# 起動時、自動的にLastlogとwtmp,btmpファイルの空ファイルを作成
touch /var/log/lastlog
touch /var/log/wtmp
touch /var/log/btmp
chown root.utmp /var/log/lastlog
chown root.utmp /var/log/wtmp
chown root.utmp /var/log/btmp
# 起動時バックアップを復元
cp -r -p /home/pi/www /var
service lighttpd restart

●syslog でログを制限
sudo nano /etc/rsyslog.conf

●追記:
/etc/rc.localが実行されない件をネットで調べたら、コマンドはexit 0の前に書けとか、sudoはつけるなとか、的外れな回答しかない。唯一かすってそうなのがあった。確かに、dphys-swapfile を削除した。でもインストールしてみたけど相変わらず/etc/rc.localは実行されない。結局、誰も解決策は知らないということか。

>RE: Running script at boot not working(rc.local)

>I own Raspberry Pi with 256MB ram, and in my case the lack of swap was the problem !?!
>The file rc.local started execute after installing dphys-swapfile  package !?!

>Hope it also helps... Smile

>PS. It also helped with generating locales, which failed every time without swap...

2015年8月 5日 (水)

RPiでエアコンの温度調節

設定温度が28℃で室温30℃、設定27℃にすると23℃まで冷えてしまう馬鹿なエアコンを、RPiの赤外線リモコンで28℃をキープするプログラムを書いてみた。少なくとも23℃にまで冷えすぎることはなくなったけど、あと1℃くらい高くても良いかもしれない。
Result2

int main( int argc, char* argv[] ) {
    st_am2320 measured;
    double temp, humi;

    /*----- 設定温度28℃で電源を入れる。-----*/
    system("sudo /home/pi/ir/sendir air_power_on_28.txt 3");

    while (1) {

        measured = am2320();
        temp = (double)__am2320_temperature( measured )/10.;
        humi = (double)__am2320_humidity( measured )/10.;
        printf( "%d.%d %d.%d\n",
          am2320_temperature_integral( measured ),
          am2320_temperature_fraction( measured ),
          am2320_humidity_integral( measured ),
          am2320_humidity_fraction( measured ) );

        if (temp > 28.0) {
            /*----- 設定温度を27℃にする。-----*/
            system("sudo /home/pi/ir/sendir air_power_on_27.txt 3");
            printf("\nSet to 27 deg.C\n");
        } else if (temp > 27.0) {
            /*----- 設定温度を28℃にする。-----*/
            system("sudo /home/pi/ir/sendir air_power_on_28.txt 3");
            printf("\nSet to 28 deg.C\n");
        } else if (temp > 26.0) {
            /*----- 設定温度を29℃にする。-----*/
            system("sudo /home/pi/ir/sendir air_power_on_29.txt 3");
            printf("\nSet to 29 deg C\n");
        } else {
            /*----- 設定温度を30℃にする。-----*/
            system("sudo /home/pi/ir/sendir air_power_on_30.txt 3");
            printf("\nSet to 30 deg C\n");
       }
        sleep(180);
    }

  return 0;
}


その他のカテゴリー

1/100 リックドム MS-09RS | 1/12 Fairlady240ZG | 1/12 Ferrari 312T4 | 1/12 Honda NSR250 2001 | 1/12 Honda RC211V No.26 2006 | 1/12 Porsche 935 | 1/12 Williams FW14B | 1/12 YAMAHA YZR-M1 '04 No.17 | 1/12 YAMAHA YZR-M1 '05 No.46 | 1/12 YAMAHA YZR500 OW48 | 1/12 タイレルP34 | 1/20 Beneton Ford B192 | 1/20 Brabham BT46 | 1/20 Brabham BT46B | 1/20 Ferrari 312T2 | 1/20 Ferrari F10 | 1/20 Ferrari F2001 Full View | 1/20 Ferrari F2003 GA | 1/20 Ferrari F2012 | 1/20 Honda RA272 | 1/20 Lotus 25 | 1/20 Lotus78 | 1/20 McLaren Honda MP4-30 | 1/20 McLaren Honda MP4-31 | 1/20 McLaren M23 | 1/20 McLaren MP4-13 | 1/20 McLaren MP4-27 | 1/20 McLaren MP4/4 | 1/20 McLaren MP4/5 | 1/20 McLaren MP4/5B | 1/20 McLaren MP4/6 | 1/20 Porsche 928s | 1/20 Red Bull RB6 | 1/20 Renault RE30B | 1/20 Sauber C30 | 1/20 Sauber C31 | 1/20 Tyrell Honda 020 | 1/20 Tyrrell 003 1971 | 1/20 Williams FW11 Honda | 1/20 Williams FW14B | 1/20 Williams FW14B 2nd | 1/20 Williams FW16 | 1/20 Williams FW24 | 1/20 タイレルP34 1976 | 1/20 タイレルP34 1977 | 1/20 タイレルP34 1977 US GP | 1/24 BMW Z4 GT3 2011 | 1/24 Castrol Tom's Supra GT | 1/24 Celica GT-Four | 1/24 Countach LP400 | 1/24 Dome-0(Zero) | 1/24 Fairlady S30Z | 1/24 Fairlady Z31 300ZX | 1/24 Ferrari 288GTO | 1/24 Ferrari 328GTB | 1/24 Ferrari 512BB | 1/24 Ferrari Enzo | 1/24 Ferrari F10 | 1/24 Honda New NSX | 1/24 Honda NSX Type R | 1/24 Honda Prelude | 1/24 Honda Prelude XX | 1/24 Honda S800 Racing | 1/24 Lancia Stratos | 1/24 Lexus LFA | 1/24 Lexus LFA Full View | 1/24 Mazda 787B No.55 | 1/24 McLaren MP4-25 | 1/24 Nissan R390 GT1 | 1/24 Porsche 935-78 | 1/24 Porsche 936-78 | 1/24 Porsche935 | 1/24 Subaru BRZ | 1/24 Subaru Impreza WRC2001 | 1/24 TOYOTA GT-ONE TS020 | 1/24 Toyota TE71 カローラ | 1/24 Wolf Countach | 1/35 King Tyger Ardennes front | 1/35 M106A1 モーターランチャー | 1/35 Tyger I Late Version | 1/35 戦車 | 1/350 H-II B ロケット | 1/6 Suzuki GSX1100S KATANA | 3Dプリンター | RaspberryPi | TDF-MRI マグマライザー | その他 | カブトムシ | ゲーム | ジャンクパーツ | パソコン・インターネット | ラジコン | 世界の昆虫 DATA BOOK | 和風ドールズハウス | 家を買う | 日記・コラム・つぶやき | 育児 | 資格 | 赤毛のアンの家 | 週刊マイ3Dプリンター | 週刊マクラーレンMP4-23 | 電子工作 | 音楽

カテゴリー

フォト
無料ブログはココログ