<   2015年 12月 ( 4 )   > この月の画像一覧

覚えておきたい 国の借金について(12/29)

借金1000兆円とか国の借金の話はよく聞くけど、どういう構成なのかよくわかっていない。

あるサイトでこんな話が。
「日本の借金1000兆円」はやっぱりウソでした~それどころか…なんと2016年、財政再建は実質完了してしまう! この国のバランスシートを徹底分析

もちろん、自分で検討しなければならないが、こういう議論が出来るようになることは、健全だと思う。
自分も変なプライドを持って周りの方から疎ましがられないよう、気を付けていこう。
[PR]
by k1segawa | 2015-12-29 11:00 | Comments(0)

RaspberryPi バックアップ (12/23)

ラズパイを使っていくと、SDカード(microSD)の耐久性に不安を持つ。

RAMディスクを作るのも、メモリをどれだけ割けばいいかわからないし、/tmpをRAMディスクにすると32MB程度だと、ソースビルドやアプリケーションによってはワークファイルを/tmpに保存するので、ワークファイルを作れなくなって、エラーになったり、プログラムが異常終了したりする。

そうすると一度電源OFFして、SDカードを抜き差ししなければならない。

それは面倒だから、SDカードをもう一枚同じ物を複製してrsyncという差分バックアップをする。

こちらのサイト様で詳しい説明があります。
ものづくりエクスペリメント

ただし、SDカードは同じメーカの全く同じ製品で揃えないといけない。
なぜかというと、メーカによってSDカードのセクタ数やトラック数が微妙に違うから。

[手順]
(1) 起動前にSDカードリーダは差しておく。SDカードはあとでもよい。
(2) カードリーダがOSに認識されているか、lsusbやdf -hで確認する。
7Gとか15Gとか書いてあって、20~60%とかになっている場所があってメーカー名があれば大丈夫。

(3) 初回の手順としてrsyncの対象外を設定する。
cd /
sudo nano rsync-exclude.txt
(以下ファイルに記述)
/proc/*
/sys/*
/dev/*
/boot/*
/tmp/*
/run/*
/var/tmp/*
/var/log/*
/media/*
(ここまで)
(/mnt/*は外しました)
(4) sudo rsync -aEv --delete-during --exclude-from=/rsync-exclude.txt / /media/root
/と/media/rootがコピー元、コピー先となる。
(5) sudo umount /medita/*

(3)は次回以降必要ない。

メディアを抜き差しできない場合や、ネットワーク越しにもバックアップ取れるから便利かも。
[PR]
by k1segawa | 2015-12-23 19:02 | Comments(0)

RaspberryPi WebIOPi が かなり使える件について(12/23)

今RaspberryPi 2でSPIとI2Cで環境センサを5つ動かそうとしているのだが、
MQTTとか新しい軽量プロトコルを使った方法を検討したのがとても難航していた。
で、上記の件「WebIOPi」という、python3で書かれたフレームワークを使って、
apache2+PHPなどよりは、少し高級な、ラッパーを使って組んでみている。

これが、上のMQTTがNode.jsを駆使しているのに対し、WebIOPiはjQuery.jsとPythonでWebサーバを実現しており、従来のHTTPプロトコルでとっつきやすい。

具体的には、他のサイトにも載ってるので、そちらを参照してもらえばいいが、本サイトでは、特にWebIOPiのサポートしているサンサーでないものも(つまりWebIOPiがサポートしているセンサーなら、定義ファイルにセンサーデバイス名を記述するだけで、汎用的にWebIOPiの固定デバイス名で設定や入出力が出来る)、pythonでセンサーの機能を呼び出す関数を作成してそれをWebIOPiで呼び出してやれば、サポートを待たずにそのセンサーを使うことが出来るので、結構Raspi標準のpythonで組まれたセンサープログラムを流用出来て、拡張性があるように思う。

ん、やることは結局python側でsetup(),loop()を書いて@webiopi.macroを使って宣言してやるだけなのだが、今MCP3002でCDSと水分センサを2チャンネルAD変換して取り込み、温度湿度気圧のI2Cセンサで3データ取り込むことを、基本のWebIOPiのインストールだけで出来る。

これは、個人でやるのに大げさなクラウドとか使わなくても出来るので、結構優位性があるんじゃないかな。
7.0.1になってMCP3X0XシリーズのMCP3002が入って使い勝手もよくなったし。
最初I2Cが使えなかった(I2Cのpython2.7用のライブラリpython-smbusしかなかった)のだけど、2015/9になってRaspi公式フォーラムにpython3用I2Cのpython3-smbusがパッケージ化されたことを知り、それをインストールすると、従来のpythonソース資産で動くようになったのが大きい。

もちろん、SPI用の関数(analogRead)はpython3でもサポートされていたので、さあこれでpythonでデータの入出力は出来た、じゃあWebインターフェースは何がいい?となったところで、クラウドやWebIOPi、apache2を試してきた。

そうそう、それとWebIOPiは自宅LAN内に公開する簡易Webサーバなのだが、これを普通のインターネットからアクセスする方法も、WeavedというVPNサービスをWebIOPiのセットアップで標準で出来るので、アカウントさえあればいつでも拡張することが出来る。ここも切り口がはっきりしていていいね。セキュリティも自分がアクセスする分にはVPNで確保されているし。

万能感あるわー

P.S.
12/31 追記:
12/30のは勘違いだったようだ。
Raspi上のEpiphanyブラウザだと動かないだけで、FireFox互換のIceweaselではきちんと動いた。
全く~標準ブラウザがJavascriptサポートしてないってなんだよ~
標準はやっぱり重くても世の中の標準をインストールしておいて欲しいよ。
軽量ソフトが入っているかなんてパッと見にはわからないのだから。
最近のディストリはどうかなんて、気にしてないし、ましてや入門者はわからない。
だったらWindowsみたいに自分で軽量化させてくれ~

P.S.
12/30 追加:
どうもwebiopi().createButtonのcallMacroが効かないようだ。
tutorials/2.macroのsendButtonがどうしてもsetLightHoursを呼び出してくれない。
Raspberry Pi 2 のサポートは、日本人の方がpatchをフォーラムに提案し、最初のHeadPinのWeb ON/OFFのが動くようになったが、まだそれだけなのかもしれない。
まあwebiopi -sで動かしてるから、サーバプロセスなら動くのかな。
仕方ない。webiopi備え付けのボタンクリエイト関数はやめて、普通のonClickイベントでcallMacroを呼び出して対処しよう。
[PR]
by k1segawa | 2015-12-23 11:41 | Comments(0)

Raspberry Pi Zero (12/8)

11/25だか24だかにラズパイの新しいのが出た。

大きさが前のラズパイ2の1/3強、価格が1/7、速度が3.6倍遅い、WiFi無し、USBポート3ポート減少、
メモリ1/2減少、CPUがマルチコア→シングルコアにスペックダウン、CPUの種類が古くなって自分でソースを入手してmakeし直さないといけない。

んー、微妙だ。

安いのは、大量購入割引で単価を下げればいいことだし、小ささはもうこれ以上小さくても他の部分(電源、ケーブル、アダプタ、ケース)がそれなりのサイズなので、全体としては小さくならない。価格だって必須なHDMImini変換コネクタや出来ればセルフパワーUSBハブを1個毎に追加しなきゃならない。

はっきり言って、素人が手を出すものじゃないし、本当のプロも手を出すものじゃない。だってLinuxなんだからリアルタイムOSじゃない。

性能が6倍になったのがラズパイ2なのに、性能そのままで小さくはならなかったの?

周辺装置とメモリは数や容量が減ってもいいけど、CPUがダウンして、遅くなって、バイナリ互換性も無くなったら、どうなの?

次のCPUがラズパイ2と同じになったやつが出たら買ってもいいかな~

日本じゃ受けないと思う。ハードの手直しが入るはず。特にCPUの。
それまで待とう。

(素人:お金も時間もないから、これ一つであれもこれもしたい、出来れば簡単に手間ひま掛けずにっていう人)

P.S. 12/23訂正
やっぱり互換性はないみたい。というかVFxって数値演算コプロセッサじゃん。普通上位CPUでコンパイルしたら当然コプロを使った実行形式になるから、下位CPUがそのバイナリ実行できるわけない。
どっちかというと、今までのソフト資産がRPi1で圧倒的だったので、今年からRPi2に徐々に移行しつつあるという感じ?Debian OSの周辺ソフトはRPi1だろうがRPi2だろうがARMなら動くので、そういう意味でOS周辺のソフト互換性はあるってこと。
最近のRPi2対応ソフトや自分でコンパイルしたRPi2のソフトはRPi1を意識しないと動かないよってこと。ここが互換性がないという部分。
◎◎◎ それよりRaspberry Zeroが40ピンのピンヘッダーを、素人が自分ではんだ付けしなきゃならないのは敷居が高すぎるよ~

P.S. 12/15訂正
バイナリは互換性があるようだ。ARM6(RPi1/ZERO)とARM7+VFx(GPU)(RPi2)では、元となったDebianがほぼ全てARM7用にビルドされたディストリビューションに移行しているが普通に動く。Raspbian OSはGPUであるところのVF何とかが載ってないARM6ベースの方は速度は遅いらしい。デスクトップなどの描画が遅いのは致し方ない。とりあえず自分でビルド(make)する必要はなさそうだ。
でもピンヘッダってZEROだと40個も半田付けしなきゃならないんだけど。素人にできるかな?
[PR]
by k1segawa | 2015-12-08 23:35 | Comments(0)