2016年5月7日土曜日

Raspberry Piでowncloudを動かす試み



パッケージの問題


owncloudのパッケージがapacheとphpとapache用phpモジュールに依存しているのに,owncloudをインストールしても,自動で入れてくれない.



とりあえずインストールする


root@raspberrypi:/home/pi# apt-get install apache2 php5 libapache2-mod-php5 owncloud


心配ごと


  • 以前webdavベースのファイルシステムを運用していた人から聞いたのは,『ファイルの保存の度に新バージョンのファイルとしてアップロードされるため,バージョン管理のログが膨らみ,サーバ側のファイルシステムが圧迫されて苦しい』ということなので,そこが少し心配.

  • 今回のインストールでは,SSLを入れていない(どうせ自宅LANだし)ので,そこが外部のサーバでやるときに,どの程度インストールや設定の手間が増えるか少し心配


2016年1月17日日曜日

seeed studio grove

seeed studio groveがどの程度使えるのか(ハードだけではなく,公開されているライブラリやサンプルアプリの出来栄えまで)を検証するため,国内に在庫がある(スイッチサイエンス,秋月,千石,マルツ)分だけでも買ってみた.

groveについてはこことかここを参照してね.

簡単に言うとarduinoなんかのシールドみたいなものをもっと使いやすく,もっと多くの機種で使えるようにするもの.

Arduinoのシールドとしてベースの基板を挿すと,そこにドータを指す端子が山盛りついていてgroveのモジュールを端子に挿して使うというもの.

下は,Arduino用のベースの基板.


いくつかのモジュールについて公開されているライブラリやサンプルプログラムを使って動くかどうかやってみているがベース基板では使えない端子を利用するよう指定しているもの,そもそもバグっているものなど微妙な修正が必要なものが結構あった.

ただ,公開しているソースが「公式wikiに貼ってある」だけ,「githubで管理されている」とその両方の場合ときちんと管理されていない風なのが使いにくい.

あと追加するコメントとしては,「公開するソースはきちんと自社のボードで使えることを確認してからにしましょう」かなぁ.

groveはArduino以外にもRaspberry PiやTI launch Pad, mbedなどにも対応しており(各機種用ベース基板を販売している),各モジュールもArduino以外のモジュール用のプログラムを公式Wikiに貼ってあるが,モジュールがほとんど対応していないプラットフォームがあったり,もう少しサンプルプログラムを充実させて欲しい(モジュールのプラットフォーム対応とかソースの管理とか).

でも,なにかセンサ等を使いたい場合に,Arduino等で動くセンサをぐぐって,さらにブレッドボードで回路を組んだ上で拾ってきたソースを直して動作を確認し,さらにArduinoのシールドの形にハンダ付けするのに必要な時間を考えると,有用なものだと思う.


2016年1月11日月曜日

Arduino用SdFatとGR-kurumi


GR-kurumiでSDカードを利用するため,Arduino用のSDのライブラリを触ってみた.


標準のSDライブラリは「ファイルのmvやrename」すらないので,
SDライブラリの後継にあたるSdFatを試してみた.

使えないカードとか出るものの,ライブラリのソース(設定)を修正すれば,
とりあえず,使えるということがわかった.

SdFatの最新版置き場


https://github.com/greiman/SdFat


問題

SPIの問題

githubから落とせるソースは独自のSPIのルーチンを経由するため,ヘッダファイル「SdFatConfig.h」を編集して標準のSPIライブラリを経由してSDカードにアクセスするように
変更する必要がある.

SDカードとの組み合わせ

上記の修正をしたためか否かテストしていないが,SdFatはClass4のマイクロSDカードは
対応できるものの,Class 10やUHS表記のあるカードは処理できないようだ.

SdFatの「SdFatConfig.h」修正

要は「カードにアクセスするSPIのルーチンを標準のSPIライブラリに変更する」修正を
すること.

    /**
     * The symbol SD_SPI_CONFIGURATION defines SPI access to the SD card.
     *
     * IF SD_SPI_CONFIGUTATION is define to be zero, only the SdFat class
     * is define and SdFat uses a fast custom SPI implementation.
     *
     * If SD_SPI_CONFIGURATION is define to be one, only the SdFat class is
     * define and SdFat uses the standard Arduino SPI.h library.
     *
     * If SD_SPI_CONFIGURATION is define to be two, only the SdFat class is
     * define and SdFat uses software SPI on the pins defined below.
     *
     * If SD_SPI_CONFIGURATION is define to be three, the three classes, SdFat,
     * SdFatLibSpi, and SdFatSoftSpi are defined.  SdFat uses the fast
     * custom SPI implementation. SdFatLibSpi uses the standard Arduino SPI
     * library.  SdFatSoftSpi is a template class that uses Software SPI. The
     * template parameters define the software SPI pins.  See the ThreeCard
     * example for simultaneous use of all three classes.
     */
    #define SD_SPI_CONFIGURATION 1


Fritzingの部品データを作ってみた


Fritzingを使って,仕事で回路図を作った際に,Fritzingには部品データが
なくて困ったので,幾つかのパーツについて,部品データを作ってみた.

GR-kurumi以外はとりあえず使えるレベルかと.GR-kurumiは
A4~A7がちゃんと定義されていない(というか,元データのpro mini
から変更していない)

秋月電子通商のDC/DCコンバータ

以下の2種類のDIP化されたDC/DCコンバータ.

3.3V出力コイル一体型昇圧DCDCコンバータ




5V出力コイル一体型昇圧DCDCコンバータ




Fritzingの部品データ






電源端子

ブレッドボード用DCジャックDIP化キット


Fritzingの部品データ



マイクロSDカードスロットDIP化キット



Fritzingの部品データ





Sparkfun DeadOn RTC module



Fritzingの部品データ




GR-kurumi



Fritzingの部品データ


DS3234SとArduino

SPI接続のRTCをArduinoで使う必要があったため,とりあえずぐぐってみたら
秋月でDS3234S(リンクは下)が見つかった.とりあえず,アキバに出撃して
買ってきたが,うまく動作せず.

「その他参考にしたページ」につけたリンクの記事も読んで試したがダメだった.

「ダメ」の症状だが,RTCから時刻を読むとデータ化けがひどくて訳の分からない時刻となる.
SPIの動作モードなど変えてみてもだめだった orz

仕方がないので,お値段5倍ほどになったが,spark funが売っている「DS3234」使用の
breakout モジュールを買ってみた.ソフトもsparkfunのモジュールで動作させたらこちらは動く.
ただし,githubのソースではSPIのモードは1でも3でも動くはずと書いてあるが,
手元の端末ではmode3でしかまともに動作しなかった.

さらに,SDカードと組み合わせると,どちらかしか使えない orz

仕方がないので,端末起動時にRTCから値を読んで,時刻は本体の時計に保存し,
以後はSPIはSDしか使わない方向で組み直して使っている.

Arduinoでは無理だが,GR-kurumiは内蔵RTCがあるので,そちらの機能で
割り込み処理なども可能.この場合,DS3234Sはバッテリバックアップのある
時刻保存装置みたいなもの.


ハード

秋月のDS3234Sのページ



spark funが売っているDS3234Sのモジュール



Arduino用ソース

spark funのソース置き場




その他参考にしたページ




2015年9月22日火曜日

Arduinoの消費電力

具体的な数字はかけないけど,幾つか機種の消費電力を測定してみた感想.

Pro miniのように,USB端子を持たないものはいいけど,USB端子がついてる機械は何もしてなくても,電気バカ食い.

CPUを低電力モードにしても,UnoやMEGAは20mA以上流れている.ARMコアの機種(M0 pro, Due)はCPUの低電力モードが無い上に,メインの処理の内容をなし(空っぽの無限ループ)にして,測定した場合に3桁のmAの消費電力.

これじゃあ,電池だけで動かすのはつらいよね~

ただし,Pro miniのCPU(MCU)をパワーダウンモードにしても,数百マイクロA流れているので,電池駆動でRTCで定期的に起こして使う場合でも,結構な電力消費量になりそう.

本当に消費電力を下げるためには,RTCと電源制御マイコンを使って,Arduinoに供給する電力をArduinoの外側でON/OFF制御しないと無理かも~

マイコンの消費電力測定用のお買い物



背景


ArduinoはVIN端子とGND端子に安定化電源を繋げば動作するが,Raspberry PiやArduino互換機の一部(ルネサスのがじぇるねSAKURAなど)はUSB給電でないといろいろ面倒なため,USB端子を改造できる部品が必要.

安定化電源から,ブレッドボード経由でUSB端子からマイコンとブレッドボードから測定器に接続することにした.

購入した部材

お買い物

とりあえず,Aメスの端子だけあればいけるはずだが,もののためしにマイクロBメスも買った.

秋月の店内が改装されており大変広くなった(入り口から奥の方の店員のスペースがすべて売り場に変わった).

ただし,どこに何が置かれているが置き場所とかも全部変わったため,わけかわめ.さらに,広くなったはずなのに,やはり大混雑で,もう大変.

昼食

あいも変わらず,かんだ食堂に行ったところ,しょうが焼き定食がサービスだったので,しょうが焼き定食をおいしく頂いた.ただし,高血圧の人間としては,少々塩辛いがたまにはいいか.

以前,息子の買い物の時にかんだ食堂に連れて行ったら比較的気に入ったようだった.(息子は唐揚げ定食ご飯大盛り)