logo

Archive for DIY

JQueryが動かない時にチェックする項目

 

今回の記事は簡潔に

半角空白スペースに注意!

 

お役に立てましたら、コメント欄に報告していただければ幸いです。

 

画像はイメージ図です。

ubuntuに話題のブラウザーのfifthをインストールしてみる

巷で話題の

新ブラウザーfifthですが、さっそくubuntu14.04にインストールしてみました。

といいたいところですが、現在のところ、途中で止まっています。

 

11/20

バージョンv0.11が発表されました。

うまく行かなかったパッケージのwebkitfltkも同時に配布されてるようです。

というわけで、いってみましょう。v0.1用に途中までライブラリをインストールしているので

もしかすると手順が変わってしまってるかもしれません。

2014-11-20-113636_1024x742_scrot

これが現在の状態です。まだ、100人以下しかダウンロードしてないようで、かなりこのブログは速報的かもしれません。

というわけで、今後大幅にインストール方法は変わるかもしれませんので、お気をつけ下さい。

ダウンロードサイト

http://sourceforge.net/projects/fifth-browser/files/v0.1.1/

今回実行した環境はi386です。

 

まずはソースをとってきます。

$wget 'http://downloads.sourceforge.net/project/fifth-browser/v0.1/fifth-0.1.tar.xz'

さてそれでは展開です。

どうも.tar.xzという見慣れない形式で圧縮されています。

しらべましたら、tar にJオプションをつければ解凍できるようです。

というわけで解凍します。

$tar Jxvf fifth-0.1.tar.xz

さあ./configureしましょうと、いければいいのですが

怒涛のライブラリインストールの幕上げ

です。

今回の環境にはビルドするのに必要なものがないため、ここでひと通り入れました。

$sudo apt-get update
$sudo apt-get install build-essential

 

さて、libfltk-devというのがいるようなのですが、これはubuntuのパッケージにあるものだとバージョン古いようです。というわけでこちらもソースからビルドします。

$wget 'http://fltk.org/pub/fltk/1.3.3/fltk-1.3.3-source.tar.gz'
$tar zxvf fltk-1.3.3-source.tar.gz
$cd fltk-1.3.3/
$./configure
$make
$sudo make install

これでおkです。

つぎに、liburlmatchとやらをインストールしないといけないようなので、こちらも

こちらはgitで取得できます。

またそれをビルドするには、zlib.hよやらが必要なためそれをapt-get で先にインストールします。

$sudo apt-get install zlib1g-dev 
$git clone https://github.com/clbr/urlmatch.git
$cd urlmatch/
$make
$sudo make install

これでliburlmatchはおkです。

 

それでは残りの依存パッケージをインストールしておきます。

$sudo apt-get install libphysfs-dev
$sudo apt-get install libjpeg-dev
$sudo apt-get install pkg-config
$sudo apt-get install libxslt-dev libsqlite3-dev libpng++-dev libxml2-dev libfontconfig1-dev
$sudo apt-get install libglib2.0-dev libcurl4-openssl-dev libcairo2-dev
$sudo apt-get install libharfbuzz-dev libicu-dev

凄まじい勢いでapt-get installしてますが、これでおkのはずです。

足りないものは./configureした時に出てきます。

 

こちらはインストールしましたが必要なかったかもしれません。

$sudo apt-get install libwebkit-dev libwebkitgtk-dev

もし、なしでうまく行かない場合はこれを入れてみてください。

 

11/20追記部分:

v0.11でfifth謹製のwebkitfltkが公開されたようなので、続きを進めたいと思います。

それでは、webkitfltkなるものを入れます。

インストールする前にbisonなるものをインストールする必要があるようです。

といくことで、インストールします。

sudo apt-get install bison

完了したら、webkitfltkを入れます。

ソースをダウンロードしてコンパイルです。

これはかなり時間がかかります。CF-R5ですべてコンパイルに1時間程度かかりました。

$wget 'http://downloads.sourceforge.net/project/fifth-browser/v0.1.1/webkitfltk-0.1.1.tar.xz'
$tar Jzxf webkitfltk-0.1.1.tar.xz
$cd webkitfltk-0.1.1/
$make -C Source/WTF/wtf
$make -C Source/JavaScriptCore gen
$make -C Source/JavaScriptCore

$make -C Source/WebCore
$make -C Source/WebKit/fltk

 

しかし、またもやWebCoreで停止です。(11/21)

進めるようになったら再開したいと思います。

 

 

 

以下はv0.11になる前ににあった文章です。

といけるとおもったのですが、ここで、WebCoreで引っかかりました。

フォーラムに行くと同じバグが報告されていまして、

It’s a known issue and will hopefully be resolved soon.

と書いてあるので、多分そのうち治るのでしょう。

ということで今回はここまでです。

進めるようになったら記事を更新したいと思います。

CF-R5のリチウムイオンバッテリーをセル交換と基板交換で治す

 

 

 

 

 

CF-R5をもう一台オークションで落札したのですが,電池パックが

充電できず,赤ランプ点滅状態になります.

どうしようか考えていましたが,

以前使っていたバッテリーの残骸と二個一できるんじゃないかと思いついたので,さっそくやってみます.

 

 

 

 

こちらが前に分解して,ゴミ箱に入れてあったリチウムバッテリー

 

 

 

IMG_1827

IMG_1828

 

今回はこれを故障したバッテリーパックを治す部品として使います.

 

 

バッテリーパックの分解の仕方は,そのやり方を知るまで,非常に大変でしたが

どこかのサイトで,捻じればよいということを知りました.

 

というわけで,おもいっきりねじります.

何度もねじっているとだんだん隙間が開いてきて

IMG_1829

こんなかんじで,少しずつ隙間が空いていきます.

 

 

IMG_1830

 

今回最も苦労したのはこの部分で,これはなかなか外れませんでした.

どうも接着剤がついてたようです

 

 

 

IMG_1831

こちらはすこし力を入れすぎて曲がってしまった部分

しかし,今回ねじったことで,カッターなどを使うより綺麗に分解出来ました.

 

 

IMG_1833

こちらが中身

上の開いたものと全く同じ作りです.

 

 

IMG_1834

外れたケース,ねじって外したので,塗装剥げもなく再利用できます.

 

 

 

さてここで,どの電池がだめなのだろうということで,試しに電流を流してみました.

そうすると,電流が流れないセルがあります.

 

IMG_1835

とりあえずこれを交換です.

 

 

 

IMG_1837

セルは直接はんだづけするのが大変そうなので,ある程度タブを残して切り取りました.

 

ところが,交換しても充電ランプは赤のままです,そこで,基板を取り替えることにしました.

 

基板とセルは金属板でつながっています,金属板を基板から抜くのは結構大変です.そこで,金属板を途中で切ってではんだづけすることにしました.

 

IMG_1840

基板に行く金属板はフラックスを塗って,はんだごてで溶かしながら貼りあわせてはんだづけします.

なかなか強引な感じですが,外れなければおkということで,

 

 

IMG_1838

ねじって分解した弊害もあります,タブが切れてます.

そこで,これは上のように線でつなぎました.

多分問題無いと思います.

 

さてそれでは,元に戻します.

IMG_1839

カチッカチッとうまいことは入りました.

 

 

 

IMG_1841

写真では赤に見えますが,

電源ランプは充電中の黄色になりました!!

バッテリー再生です.

 

これで,バッテリーについては問題がなくなったので,長いこと使えそうです.

バッテリーの充電ICに何かしないといけないかと思いましたが,なにもしなくても特に問題なく使えています.

太陽光発電で自立運転するrasberrypiサーバーの構築

というわけで,太陽光発電でなにかできないかということで

思いついたのが,RaspberryPiを使った完全電源独立のサーバーです.

つまり太陽光で動くサーバーをつくろうというわけです.

電源のない畑でサーバーを動かそうというある意味,壮大な計画です.

といっても,どこかの山荘では実際にこのタイプでサーバーが動いてるようです.

今回はとりあえず,プロトタイプができたので,概要です.

 

ネットで見てると同じようなことをされてる素晴らしい先人がいました.

 

というわけで,考えてみました.

 

everlightv0.8

 

こんな構成で行こうと思います.

ちなみに,陽光悠久発電電子演算器という立派な正式名称はチキュー工房の中の人がつけてくれました.

 

太陽光パネルの台はこれを作るためにあるのです.

 

というわけで,部品が揃ったので早速,製作開始です.

 

回路の説明は単純に

太陽光で発電します.

充電コントローラーでバッテリーと負荷をコントロールします.

充電コントローラーの負荷に自作の電源電圧監視機能付き5V電源をつけます.

5V電源でUSBの電圧を作ってこれでRaspberryPiを駆動させます.

RaspberryPiは日中は太陽光で動き,夜はバッテリーからの電源で動きます.

 

こんなかんじです.

ここで,今回突如として,世界が暗黒に包まれたあとでも,自動で復帰するように

5V電源に電源電圧を監視してリレーを動かす機能をつけました.

しかし,これがなかなかうまいこと行かず・・・・苦労することになりました.

 

そんなこんなで写真はないですが電源回路は出来ました.

テスト中に電源監視用のIC M51957Bを何度も壊してしまい,いまのところ最後の一個でなんとか,電源の主電源監視のみできています.

 

RaspberryPiで,ソーラーパネルの発電量や消費電力を知りたいということで

StrawberryLinuxのINA226の電力計モジュールをつけることにします.

それは下のようなものです.

 

IMG_1740

RaspberryPIとはI2Cで接続できます.

ということで,データー送信用のSDA,SCLと3V電源とGNDの4本で接続できます.

I2C接続なので,同じラインにIDがかぶらない限り何個でもつけることができます.

このキットではジャンパのところをはんだづけすることでIDがセレクトできるようになっていました.

 

ということで,これをバッテリーとRaspberryPiの負荷側に,取り付けます.

 

IMG_1741

 

試行錯誤の末できたもの,外に置くため箱のなかに入れます.

このケース,台所用品として売ってるものでおおきい字でUnixと書いてます,ちょうどいい名前です.

いれるのはLinuxですが・・・・・

I2Cの接続は後でいらえるように,上の汎用基板を両面テープでくっつけてます.

 

いろいろな問題が発生しましたが,電源の多重化するためにモバイルバッテリーを挟むつもりでしたが,充電が500mA放電が1.5Aなので

充電電流が足りず,さらに,USB電源を逆につないでしまい,焼損しました.・・・・

というわけで今のところなしです.

 

 

IMG_1753

出来上がった図

上に張り付いてるのが電源監視ボードと5V電源です.

黒い機械はソーラーパネルの充電コントローラーです.

 

 

 

IMG_1754

これがサーバーが入った本体です.

 

 

 

IMG_1755

ここでで問題発生です.

スイッチを入れなくてもこのコンピューターついてしまいます.!!

最初は謎のエネルギー源で動いてるのかと焦りましたが,

INA226のキットが回路図をちゃんと見ていなかったため,どうも,なぞの閉回路ができてしまい,

スイッチを入れなくても,どっかから電流がバックして起動してるようです.

 

これをあれこれやってるうちに,INA226は両方共,壊れてしまいました.

というわけで,現在は取り付けず稼働させています.

電力量がわからないのが残念ですが,これはそのうち対策を考えます.

 

 

IMG_1756

 

これが,あれこれ考えた末に,2つの設定した電源電圧でリレーが入ったり入らなかったりするUSB5V電源回路

電源電圧が落ちる前に,ラズベリーパイの電源を安全に落とすために作りました.

これは設定した電圧でリレーをオン・オフしRaspberryPIのGPIOかリセット端子を自動で押すためにあります.

 

現在,リセットICが焼けてしまい,主電源のみリレーのみ動いています.

ということはいまのところ9V以下になるとUSB5V電源が落ちるだけの,全く無意味な回路です.

 

現在は太陽光で稼働させることはできています.

とりあえずプロトタイプとしては成功でしょうか.

 

電源容量は足りるのかということですが,実際にどうなるかを現在テスト中です.

 

ちなみに,ラズベリーパイは稼働時で実測3.6W程度でした.参考までに

 

 

ソーラーパネルの最適な向きについて考える

ソーラーパネルを設置しようとしています.

そこでこのような台

IMG_1701

を作りました.

そこで,ソーラーパネルを南向きに取り付けるのが一番だというのはすぐわかるのですが,角度が何度がいいのだろうという問題が出てきました.

そこで,相談して考えてみた結果,

多分太陽が通る平均高度をあたりにすればいいだろうという事で,

春分と秋分の時の正午の太陽の高度に垂直な角度,つまり例えば西日本岡山では経度が134度,緯度34度ですから詳しい図解はおいておいて結論として

34度でいいだろうということで30度で台を作りました.

 

ところで作った後で少し気になったので,試しに太陽の高度と位置を計算して太陽光パネルの角度と発電量の関係を計算して見ました.

 

まず最初に計算するには太陽が天球をどのように動くかを知る必要があります.

ということで,太陽の位置を計算するところから始めます.

計算式は

中川清隆@立正大学地球環境科学部環境システム学科さんのHPから

http://www.es.ris.ac.jp/~nakagawa/met_cal/solar.html

を使いました.

 

まず太陽の軌道が正しく導けれてるか確認します.

設置場所である経度143.146度,緯度34.617度の正午の太陽高度グラフです.

sunlight1

軸が書かれてないですが,横軸が元旦からの経過日数で縦軸が正午における太陽の高度を表しています.夏至である172日あたりにピークが見られます.

計算はなんとなくあってそうです.

 

とここまではいいですが,これから,角度30度で南向きに置かれたパネルがどの程度の有効面積をもつか計算して見ます.

太陽から見た時,太陽光パネルがどの程度の面積に見えるかで計算しました.

正面からあたった時は有効受光面積は1としています.

 

 

sunlight2

この図は経度134度,緯度34度におかれた,南向きで角度30度の平面な太陽光パネルの一日の有効受光面積の変化を表しています.

縦軸が有効受光面積で,正面からあたった時1になります.

背面から受けたら有効受光面積は0になるのと,高度が0以上にならないと発電しないのでグラフが途中で切れています.

横軸は時刻を表しています.

 

青色夏至赤色冬至における有効受光面積の一日の時間変化をあらわしています.

図を見ると,夏至ではたしかに有効面積が正午に最大になることがわかりますが,

冬至でもそれほど面積で行くと変わらないように見えます.

 

さて,このような計算ができたので今度は角度によってどうなるのかをみてみたいと思います.

 

積分が結構大変ですが,数値計算ソフトmathematicaのNIntegralをつかってやると,なんとか計算ができたようで,結果として

こんな図ができました.

sunlight3

横軸が元旦からの経過日数で,縦軸は一日の有効受光面積の平均を表しています.

青色は,45度に置かれたソーラーパネル

赤色は,30度に置かれたソーラーパネル

黄色は,地面に水平に0度で置かれたソーラーパネル

それぞれを表しています.

不思議なことに,夏至の付近で有効受光面積の日平均が下がるようです.

もしかしたら計算がおかしいかもしれません.

 

ということで,これを元に角度によって一年間の有効受光面積の平均がどのように変わるか図を作成しました.

sunlight4

The electric power generation v.s. the angle of flat solar panel

 

 

横軸が南向きに置かれたソーラーパネルの地面に対する角度,

縦軸が一年間の有効受光面積の平均値です.

図を見ると,55度付近にピークがあるように見えます.

 

結果としては

経度134度

緯度34度

南向きに置かれたソーラーパネルの

最適な角度は55度付近

となりました.

 

となると,今回作った台の

30度というのは低すぎるのかもしれません.

 

また,この結果を使うと大体55度であると

正面からあたった時の最大発電量は次の関係を

最大発電量*0.26=年間の平均発電量

を満たすことがわかります.

 

この結果を使えば,

例えば正面からあたった時の最大発電量が100Wだとすると

年間の平均発電量は最大で26Wとなることがわかります.

 

ただし,ここで行った計算は55度が最適となっていますが,

メーカーのHPに行くと最適な角度は30度と書かれてあるので

一致してないように思います.

 

この計算が正しいのか,だれかソーラーパネルに詳しい方教えてください.

 

 

 

追記

と思ったのですが非常に便利なサイトがありました.

日射量データーベース

過去の日照から実測値を出してるのでしょうか.

このサイトによるとやはり最適な角度は30度付近のようです.

特に岡山を選ぶと南向きぴったり30度が最適な角度のようです.

 

また上のHPによれば季節によっても最適な角度は変わるようです.

特に冬は50度超えるような角度,夏は非常に浅い5度がいいようです.

それらを平均すれば30度という事のよう.

 

答えがわかったのでもはや計算する必要はないですし,

上の計算結果もどこか間違ってる可能性があります.

 

とにかく岡山で最適なソーラーパネルの角度は南向き30度ということで一見落着です.

ソーラーパネルの台もドンぴちゃでOKです.

bashの脆弱性 CVE-2014-6271のパッチをソースに当ててbashをupdateする

patchの当て方を書き直しました.

 

先日公開されたbashの脆弱性

 

参考になった情報源はこちら

BASHの脆弱性でCGIスクリプトにアレさせてみました

http://www.walbrix.com/jp/blog/2014-09-bash-code-injection.html

先程から騒ぎになっているbashの脆弱性について

http://blog.ueda.asia/?p=3967

はかなり深刻なようなので,パッチを当ててみます.

パッチの当て方がはじめよくわからなかったので,記しておきます.

 

 

今回yumが使えない環境ですので,ソースからビルドします.

参考にしたサイト

Bash 4.0 のインストール CoLinux日記

 

$ bash --version

で現在のbashのバージョンを確認しておきます.

今回はせっかくなので4.0から4.3にします.

 

まず最初にダウンロードしたファイルの検証をするために公開鍵をインポートします.(これはなくてもいいです.)

$gpg --keyserver pgp.mit.edu --recv-key  64EA74AB

 

次にソースをダウンロードします.

 

$wget "http://core.ring.gr.jp/pub/GNU/bash/bash-4.3.tar.gz"
$wget "http://core.ring.gr.jp/pub/GNU/bash/bash-4.3.tar.gz.sig"

 

検証します.

$gpg --verify bash-4.3.tar.gz.sig

gpg: 2014年02月25日 23時36分04秒 JSTにDSA鍵ID 64EA74ABで施された署名
gpg: “Chet Ramey <chet@cwru.edu>”からの正しい署名
gpg: 警告: この鍵は信用できる署名で証明されていません!
gpg: この署名が所有者のものかどうかの検証手段がありません。

OKなら次に進みます.

 

展開します.

$tar xvzf bash-4.3.tar.gz
$cd bash-4.3

 

ここでパッチをダウンロードします.

CVE-2014-6271

http://seclists.org/oss-sec/2014/q3/651

 

ここは書き直しました.

現在

該当パッチ

CVE-2014-6271 Patch (第一弾)->
http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-02

CVE-2014-7169 Patch (第二弾)->

 

現在は
http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-029

まで出ているようです.

どこまで出ているからはここにアクセスして見てください.

 

どうもパッチは001から順番に当てないといけないようなので,まずパッチを001から順番にダウンロードします.

$wget http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-0{01..29}

(追記:上の連番ファイルの指定方法が間違っていました.[]ではなく{}です.)

 

そして適用します.

$cat bash43-* | patch -p0

ワイルドカードで指定していますが,001 002・・・と展開されるようで今回はこれでうまくいきました.

全部適用できたらmakeしてインストールです.

 

終わったら,ソースをビルドしてインストールです.

$ ./configure
$ make
$ su 
$ make install 2>&1 |tee Install.log
$ exit
$ which bash
/usr/local/bin/bash
$ ldconfig
$ bash --version

最後にbashのバージョンが更新されているか確認できればOKです.

これで無事bashの更新が出来ました.

 

さてそれでは肝心なパッチが効いてるか確認します.

$ x='() { :;}; echo vulnerable' bash -c 'echo this is a test'
bash: 警告: x: ignoring function definition attempt
bash: `x' の関数定義をインポート中にエラーが発生しました
this is a test

となって

vulnerable
this is a test

と表示されず.

エラーがでればOKです.

 

 

 

DIO AF34 中国製のデジタルタコメーターを取り付ける

さてそれでは

前の記事の続きを始めましょう.

前の記事でタコメーターを取り付けようと思ったら,ショートさせて電装を壊したかと思いましたが

ヒューズのお陰でヒューズを交換したら治りました.

ということっで,問題はタコメーターですが,どうも故障してたのか,故障させてしまったのかどちらにしても動きません.

というわけで新しく,中国製のデジタルタコメーターを買いました.

送料入れて2500円でした.

 

というわけで早速取り付けです.

インターネットを検索すると

まず,動かない不良品が多いということで,とりあえず電源を入れてみます.

IMG_1270

これは,バッテリーのみをつないでのテストです,動きました.

 

 

さてそれでは,メーターを裏を開けます.

IMG_1273

青と黄色の線が前回引いた線で0.75mmです.

しかし,今回のタコメーターは0.2mm程度の線です.

つまり,同じカプラーが使えません.

ということで線自体を引き換えることも考えましたが,

異線径配線コネクター

というのがあるようなので

それで対応します.

 

 

 

IMG_1274

異線径配線コネクター

それぞれ,違う大きさの径の電線同士で接続できるようになっています.

 

 

 

そしてもうひとつ,タコメーターをはるのに,両面テープを買います.

 

IMG_1275

こちらがその両面テープ

 

 

 

IMG_1276

というわけで,タコメーターを設置してみます.

ここで,タコメーターのパネルの周りに隙間があって雨水が入りそうだったので,瞬間接着剤で隙間を埋めました.

メーターの近くで真っ直ぐな平面がなかったのでメーターそのものに貼りました.

0キロの針ギリギリまで寄せてるので,この角度からは見えなくなります.

 

 

 

 

IMG_1277

メーターの裏の配線,結局古いカプラーを残したままあたらしく接続したので線だらけになってます.

残った古いカプラーもまあ,新しい何かを取り付けるときにすぐ使えるのであってもいいかなと思います.

 

 

IMG_1279

タコメーターの配線,線が通るようにすこしカバーを削りました.

 

IMG_1281

電源を入れたところ,問題なく動きます.

回転数の表示がおかしいという情報が何件か出てましたが,

正確にはわかりませんが,回転数とエンジン音からいろいろな動画で見比べてみたところ,それほど大きく狂ってるようではなさそうです.

ちなみにこのタコメーターは,Zhongyiという聞きなれない会社の製品です.

表示の更新速度は0.5秒感覚くらいですこし遅いです.