2015年9月29日火曜日

むっちゃ仕事してるように見える

Arduinoのスケッチを見ながらWebIOPiのソースを修正し、NASA-TVの中継をみつつISSトラッキングサイトで位置を確認。

むっちゃ仕事してるみたいに見えるのでオススメです。
もちろん作業は進んでいません。

昨日の、ログデータの欠ける現象について
データ取得の命令の間に100msecのウエイトを挿入したところ、
修正前 16か所 → 修正後 10か所
に減少。
減ったものの、まだ残ってるし、まだ原因の特定に至っていません。(後日、特定できました)


あまり良くない解決策なのですが、通信にウエイトを挿入してみることに。
それぞれの通信に対し200mSecのウエイトを挿入。つまりこのスクリプトの実行に、合計1秒かかることになります。(あほな・・・

ブラックボックスのままで開発をすると、こんな悲惨なことになりますので、マニュアルはきちんと読みましょう。

2015年9月27日日曜日

RaspberryPiでラズベリー栽培 いろいろ改善

先日置いたセンサ2つの調子ですが、

このように、ちゃんと動作している模様。
ただし土壌水分センサがほぼ一定なのが気になります。

RaspberryPi2に起こっていた、いくつかの不具合を改善しました

●WiFiが止まる不具合
crontabで1時間おきにルータへPingを飛ばすようにしてみたところ、WiFiのシャットダウンはなくなりました。(たぶん)
設定はこんな感じ
#wakeup! WiFi
00 */1 * * * ping -c 1 192.***.***.***
→後の調査で、あまり意味がないことが分かりました。

●日照センサの感度
抵抗値を間違えてました。およそ200Luxで最大値が出るよう、10kに変更しました。

Luxと実際の明るさのイメージですが、
100Lux センサのテスト環境
400Lux 明るいオフィス環境
1000Lux スタジオ
とのこと(wikipediaより)

屋外に出すのだから1000Luxか10000Luxくらい測定できたほうが良さそうですが、あえて今回、200Luxで最大となるようにしました。
理由は、長時間測定しないといけないので、1000Luxとか10000Luxを直接測定してると、照度センサのプラスチックパッケージが早く痛むからです。
実際に測定してみると、だいたい750くらい、フルスケールのおよそ70%の数値が出ているので、
しばらくこの設定でいってみます。
実際のグラフを見てみると、10時くらいに急激に日照が落ちていますが、おそらく室内で測定しているせいでしょう。この時間あたりで太陽が屋根の影になったのだと思われます。その後11時半付近、12時付近あたりで急激な変化がみられるのも、サッシなどの影に入ったり出たりしているせいかと。明日も同じパターンで変化するなら、間違いありません。

そして不具合も発生。
●データが抜ける
土壌センサと日照センサのデータが、いくつか取れていません。
RaspPi側のI2Cモジュールか、Arduino側のI2Cモジュール(TWIモジュール)のどちらかでタイムアウトが起きているものと思われる。
とりあえずパラメータの読み込みあたりに100mSecのウエイトを挿入して様子見です。
これで修正できなかったら、もう一度Aruduino側のアドレスポインタ計算を256に戻すことにします。→後の調査で、ArduinoのI2C通信まわりで不具合がありました。


●NJL7502Lの指向性の問題
砲弾型パッケージの特性なのか、正面から20度傾くと、感度はおよそ半分になる
80%以上の感度を確保できるのはおよそ10度
(詳細はNJL7502Lのデータシート参照
地面への反射光を先端で測定する感じにしたら良いのかしら・・

2015年9月26日土曜日

RaspberryPiでラズベリー栽培 土壌センサと日照センサ

ひととおりセンサ類全て揃いました。これで一人気象庁の完成!(゚д゚)b
と思ってたのですが、降水量センサ(アメダス)作ってないことに気付いた。ちなみにアメダスの仕組みは、漏斗+シシオドシ+カウンタ+タイマーなので、外側さえ出来ればArduinoで作れそうです。



CPUの温度センサ、BME280のからの、温度、湿度、気圧データに加え、土壌水分センサ、日照センサの値が記録されるように。
gnuplotでは問題なく表示されましたが、センサを付ける12時以前のデータを0で埋めておいたほうが良いかもしれません。面倒なのでやりませんけどね!

データのサンプリングは1分おきなので、気象庁のデータよりハイレゾなデータが取れます(どやぁ
1日のデータ量は、以前の温度湿度気圧のデータでおよそ12kByte(gzipした状態)、今回の2つのセンサを足しても14kとかじゃないかと予想してます。(gzipするので多少変動します)


現在の測定環境がこちら

真ん中の赤い箱がRaspberryPi2、その右のArduinoが、昨日作ってたI2CsensorHUB、その右のブレッドボードにBME280(気温、気圧、湿度センサ)と、日照センサが乗ってます。そしてArduinoから長いケーブルを通して土壌水分センサが、左側の鉢に刺さってます。

今のところ、日照センサがディジタル値で16くらいしか出ないのが気になりますが、いちおう2つのセンサは両方とも計測出来ているようです。

さて、そろそろラズベリー本体の購入ですが。。。
もうちょっと涼しくなってからのほうがいいかしら。

RaspberryPiでラズベリー栽培 GPIOをSHELLで使う

RaspberryPiでGPIOを使う方法は、ざっと調べた結果、

  • Pythonでやる
  • SHELLでやる
  • Wireing piを使う

の3つの方法があるようです。

・Pythonでやる方法
公式に出てるのですが、読むのがめんどくさいのでやりません。
というかPythonがめんどくさい

・Wireing piを使う
I2Cについてはこちらでやってみました→
https://pitslaboratory.blogspot.jp/2018/05/raspberrypii2cc.html
GPIOについては・・たぶんやらない

・SHELLでやる
一番簡単な方法みたいなので、今回はこの方法を使おうと思います。
I2Cとかログファイル作成もSHELLでやってますし、なにかと便利そうです


GPIOにLEDを接続

http://pi.gadgetoid.com/pinout
ここでどのポートを使うか確認します。
今回はI2Cのポートに近い、4番を使ってみます。GNDはその隣です。

とりあえず、その辺に散らかっているLEDと、適当に460Ωをくっつけてみます。

適当にLEDと抵抗を決めましたが、いちおう計算の仕方を示しておきます。
R = (Vdd - Vf)/If

■Vdd  RaspberryPiの場合3.3V。Arduinoなら5V
■Vf  順方向に電圧を加えた場合、LEDの端子間でどれだけ電圧が降下するかの値。LEDのデータシートを見ます。普通の赤色LEDだと、だいたい2Vです。
■If  LEDに流れる電流で通常2~20mA程度。インジケーターに利用するだけなので3mAで十分です。
■計算 これを式に当てはめると、
R=(3.3-2.0)/0.003=433Ω
偶然にも、テキトーに選んだ460Ωに近い値になりました。(棒

ちなみにArduinoで使う場合は
(5.0-2.0)/460=0.0065=6.5mA
そのまま使っても大丈夫です。

LEDに接続する抵抗は設計する人によって様々ですが330~470Ωあたりを付ければ間違いないでしょう。定格の20mAを超えないことに注意すれば壊れることはありません。

RasPiからGPIOを動かす

とりあえずGPIO4を動かしてみます

GPIO4を使えるようにする
> echo 4 > /sys/class/gpio/export

GPIO4を出力にする Arduinoの pinMode(4, OUTPUT)に相当
> echo out > /sys/class/gpio/gpio4/direction

点灯する  digitalWrite(4, HIGH)に相当
> echo 1 > /sys/class/gpio/gpio4/value

消灯する digitalWrite(4, LOW)に相当
> echo 0 > /sys/class/gpio/gpio4/value

終了するには
> echo 4 > /sys/class/gpio/unexport

あら簡単(゚д゚)
最初と最後のexportやunexportは、GPIOを仮想ファイルを使ってコントロールするやり方らしいのですが、Raspbianの仕様で、そういうものだ。ということで理解しておきましょう。

動かしてみた

というわけで、先ほどのLEDのかわりにソリッドステートリレーを付けます。これでRaspberryPiから100Vのデバイスを制御できるようになりました。

ソリッドステートリレーキット http://akizukidenshi.com/catalog/g/gK-00203/
放熱板を付けなくても、200Wくらいのデバイスなら制御可能。
今回使う予定のポンプは4W(金魚用のアレ)~12W(お風呂ポンプ)なので、けっこう余裕があります。

普通のリレーでも良いのですが、ソリッドステートリレーのほうが
  •  壊れにくい
  •  低電圧小電流(3.3V 5mA)で動く
  •  応答速度が速い
などのメリットがあります。
デメリットとしては
  •  リレー特有のカチカチ音がしないので寂しい
  •  多少お高い
など。

今回、水やりをするのに金魚用ポンプを選択したわけですが、実は最初、電磁バルブを考えてました。お値段はお風呂ポンプとあまり変わらない程度。せめて5Vで動けば・・

2015年9月25日金曜日

RaspberryPiでラズベリー栽培 I2CSensorHubレジスタマップ変更

昨日アップロードしたばっかりなのに、もう修正とは・・・orz
 というわけでVer0.3です。

  • 修正箇所は デバイスレジのレジスタマップ修正 
  • スレーブアドレス修正 
  • 13番ピンをBusyインジケータに

の3か所。
あと、GitHubにID作ってみたので、こちらからクローンできます。

●デバイスレジのレジスタマップ修正
Ver0.1では、256Byteまるまる確保していましたが、実際に使っているのは16Byte分でしたので、減らしました。ただしアドレス変換が上位4bitを不定にするだけの簡単処理なので、RaspPi側からはループしたような見え方をします。 (ぶっちゃけ、この修正はやらなくてよかったと思ってる)

●スレーブアドレス修正
0x50から0x72へアドレスを修正。0x50でも問題なかったのですが、BME280とか8x2液晶とか、EEPROMのアドレス、SMBusV3.0の仕様書等を参照した結果、0x50は使わないほうがよさそうなので、BME280と並べて0x7Xのあたりに配置変え。(まぁArduinoなのでアドレスは好きに変更できるんですけどね。)


●13番Pinをインジケータに
ArduinoUNOには13番PinにチップLEDがついているので、初心者でも簡単にLチカが楽しめますが、Setupに何も書かないと点灯しっぱなしです。(デフォルトでONになってる)
せっかくなので、AD変換中に点灯するようにしてみました。(正確には、スタートフラグを確認したらON,AD変換と全てのレジスタ処理を終えたらOFF)
これでAD変換にどのくらい時間がかかるのか視覚的に分かるので、STARTフラグが落ちるのをPi側でポーリングしなくても、なんとなくカンで変換終了時間に読みにいけるようになります。
ただし一瞬なので、なんとなく点灯してるなー程度にしか確認できません。

●現時点で確認されている不具合 温度計LM35の一発目の測定がうまくいってないみたいです。なので最低でも2回以上はSTARTしてやらないと測定できません。 ●今後の修正
Vrefの切り替え後にダミーのADCを一発かましてますが、これが果たして意味あるのか自信がないので、このあたりを検証してみたいと思います。もし必要ないのなら、多少変換速度が上がるので。

フィルタ挿入とか変換値補正関数とか。 RaspPi側でやってもいいのですが、Arduino側のメモリも余りまくってるので、もうちょっと機能を盛り込みたいです。よく使うLM35とかLM61とか、このへんの設定をRaspPi側で気にしなくても使えるようになると便利ですし。RaspPi側から変換コードを送信して自由に書き換えられるようになればベスト。(やりすぎ)

全体のパラメータを1か所で確認できるように
現時点で、それぞれのポートの変換スタートは任意のタイミングで実行できますが、どのポートが変換中なのかはそれぞれのポートのSTARTレジを確認するしかありません。1か所で確認できるとアクセス回数を減らせそうです。まぁ相手が温度計とかなので、通常は1min周期とかでアクセスするので、I2Cバスが重くなることはないと思うのですが。

デバイスIDとか、うまく動作してる場合は全く使わないのですが、初めて導入する際にはレジスタマップに何かしら固定の文字があったほうが安心して使えます。なので、何かしら文字を埋め込もうかと考えてます。ちなみに現時点では、電源投入時は全レジスタが0なので不安になります。


2015年9月24日木曜日

RaspberryPiでラズベリー栽培 I2Cセンサハブ(仮名

I2Cセンサハブなるものを作ってみた。

  • 最高4つまでのアナログセンサを、I2Cデバイスにできる。
  • SMBus準拠(準拠とは言っていない)、BME280と同様にRaspPi側からレジスタアクセスしてデータが読める。
  • Vrefを設定できるので、LM35のようなVref1.1Vで使うセンサとか、水分土壌センサのような、Vref=5Vで使うセンサとかを一緒にできる。
  • スリープモードで、ADCをしていないアナログセンサの電源を自動で落とす。
  • センサ電源を立ち上げたあとVoが落ち着くのに時間がかかるセンサ用に、ディレイを設定できる


機能を盛り込んだせいで、便利なのか不便なのか分からないものが出来てしまった。

今更気づいたんですけど、ArduinoってPCにつながってなくても動くんですね。(´・ω・`)
PCから書き込んだあと、RaspPiの5V端子とArduinoの5V端子を繋いで、PCなしで動くようになった。(あれ、ひょっとしてAtmelStudioいらなくない??)
写真はRaspPi ModelBでテスト中のI2Cハブです。

下にスケッチとスクリプトを置いておきます。自己責任でご自由にお使いください。
(GitHubにうpしておこうかしら。誰かがもっと使いやすくしてくれるかもしれないし)

なお、使用しているFlash領域は4.8kByte(14%)なので、ATmega88、ATmega168にも移植できると思います。(AtmelStudioで書き直せばATmega48も可能?)

●Arduino スケッチ



● RaspPi側のスクリプト
A0ポートに土壌水分センサ、A1に日照センサ(NJL7502L)、A2にLM35DZをつけた状態で
次のスクリプトを実行するとADCの値が読めます。

#!/bin/bash
sudo i2cset -y 1 0x50 0x00 0x03
sudo i2cset -y 1 0x50 0x04 0x13
sudo i2cset -y 1 0x50 0x08 0x13
sleep 0.2
echo A0
sudo i2cget -y 1 0x50 0x02
sudo i2cget -y 1 0x50 0x03
echo A1
sudo i2cget -y 1 0x50 0x06
sudo i2cget -y 1 0x50 0x07
echo A2
sudo i2cget -y 1 0x50 0x0A
sudo i2cget -y 1 0x50 0x0B

●接続
RaspberryPi側の、GPIO2(SDA1)、GPIO3(SCL1)、GNDを、
Arduino側のA4(SDA)、A5(SCL)、GNDに接続する
5Vは、ArduinoのUSBポートを使わないときに接続してください。(大丈夫だと思うけど)
写真はModelBですが、 ModelB+、Pi2も同じです。
5V  5V  GND
3V3 SDA SCL

●Arduino側 センサとの接続

私が動作を確認したものは、
土壌水分センサ http://akizukidenshi.com/catalog/g/gM-07047/
温度センサ LM35DZ http://akizukidenshi.com/catalog/g/gI-00116/
日照センサ NJL7502L http://akizukidenshi.com/catalog/g/gI-02325/
です。

A0,A1、A2、A3をそれぞれのセンサのVoutと接続
ArduinoのGNDを、それぞれのセンサのGNDと接続
センサのVddは、初めて使うときは、Arduinoの5Vと接続してください。(センサの仕様に従ってください。)
動作確認ができたら、ディジタルピンに繋ぎかえてください。(電流を気にしないのであれば5VのままでOK)
Digital11 A0に繋いだセンサの電源
Digital10  A1
Digital09  A2
Digital08  A3
注)Digitalピンは、5Vから多少ドロップしていると思います。正確に5Vじゃなきゃ困る!な人は使わないようにしましょう。
注2)Digitalピンは、LEDくらいならふつうにドライブできますので、殆どのセンサは接続可能だと思います。40mA以上流れるセンサとかを接続したい場合は、直接電源に繋ぐか、ソリッドステートリレーを使うようにしてください。
日照センサの回路図(まだFritzingを使いこなせてない)
後日、R1=10kΩにしました。

2015年9月22日火曜日

RaspberryPiでラズベリー栽培 自動でグラフを作成(gnuplot)

CSVファイルをエクセルで開いてグラフを作るのが面倒なので、RaspberryPi側でgnuplotを使って自動的にグラフを作るようにしてみた。

gnuplotの使い方メモ


公式→http://www.gnuplot.info/
gnuplotはコマンドラインで操作するグラフ作成ユーティリティーです。

インストール

> apt-get install gnuplot

apt-getでインストールされるのは、Version4.6のようです。 最新版はVersion5.0の模様。(2015年9月22日現在)

基本的な使い方

> gnuplot
gnuplotを起動して、コマンドラインで命令していくのが基本的な使い方らしいのですが、スクリプトを読み込んでバッチ処理できるので、そちらを利用します。

スクリプトを実行する方法。
スクリプトファイルを用意します。
plotTemp.gs

set terminal png
set datafile separator ","
set xdata time #x軸を時間フォーマットにする
set timefmt"%H:%M" #入力データのフォーマット
set format x "%H:%M" #出力データのフォーマット
set xrange["00:00":"23:59"] #データの範囲
set yrange[00:60] #温度の範囲設定 0℃から60℃

set xl "time" #x軸ラベル
set yl "temp[c]" #y軸ラベル

set grid #グリッド表示

plot "senslog2015-09-22.txt" using 1:2 with line title "CPU" #cpu温度を表示
replot "senslog2015-09-22.txt" using 1:3 with line title "Temp" #気温を表示
set out "tempgraph.png"
replot

このスクリプトでは、完成したグラフをpngでファイルに書き出しますが、
set terminal png
set out "tempgraph.png"
あたりを弄れば、GUIで見ることもできると思います。

コマンドラインから実行

> gnuplot -e "load \"plotsample.gs\""

これでgnuplotのスクリプトを実行するのですが、途中でいっぱいゴミが出ます。気にしなくてもいいです。

出来たファイルを確認する

tempgraph.pngが生成されていますが、今はSSHで接続しているため見れません。
何等かの方法でWindows側にファイルをダウンロードします。
WinSCPとか、SAMBAとかを使うと良いでしょう。
xrdpデーモンを起動して、リモートデスクトップ接続しても良いかもしれません。
今回はRaspberryPiにあまり負荷をかけたくないこともあり、WinSCPでダウンロードして読み込んでみました。(最初の図)

(注)現時点でApache2、ty-rss、BME280ロギングスクリプトなどが起動していますが、xrdpでリモート接続しても、RaspberryPi2では割と余裕で表示できます。今回は試していないけどRaspberryPiModelBでは、xrdpリモート接続だけでも重かったのでストレスが溜まると思います。

あとはApacheを使ってWebページからブラウザで見れるようにすれば、いちいちコマンドラインとかを弄らなくても、タブレットとかからでもグラフが見れる筈ですが・・・

グラフをWebページに表示する方法が他にあるので、そちらを試してみたいと思います。
(決してgnuplotの表示がダサイとかそういうのではない)

2015年9月21日月曜日

RaspberryPiでラズベリー栽培 ログのフォーマット

およそ半日のセンサーログを2回ほど取ってみましたが、いくつか問題が発生しました。
1:ファイルが大きい
2:読みにくい(表計算的な意味で)

古いログファイルはセンサーから取得したデータをただ書き込んだだけなので、タイムスタンプ、CPU温度、環境温度、気圧、湿度が縦に並んでいます。読みにくいだけでなく、無駄にファイルサイズも増えます。

センサーログスクリプトの修正
ログファイルのフォーマットを、次のように修正しました。
1:1行にタイムスタンプ、CPU温度、環境温度、気圧、湿度を表示
2:タイムスタンプは時:分のみ。(秒は捨てる)
3:temp,presなどのラベルや、単位℃などはヘッダに纏める。



修正した結果がこちら
人間が読みやすいかはともかく、1行に纏まってるので表計算にインポートしやすくなりました。拡張子を.csvにするだけで一発変換できます。

無駄な文字の出力を省いたのでログファイルの大きさも、かなり小さく出来ました。
修正前 1日分でおよそ130kB 1年で45MB
修正後 1日分でおよそ43kB 1年で15MB

あとは1日のログ出力が終わったら自動でZIPするなどしたら、さらに小さくなります。
スクリプトはこちら

sensorlog.sh
#!/bin/bash
#write your log dir
LOG_DIR=/home/pi/sensorlog/log
#write your log filename
FILENAME=senslog
#write bme280 python script dir
BME280_PYTHONSCRIPT=/home/pi/sensorlog/bme280_sample.py

#filepass of a logfile
timestamp=`date +%F`
LogFilePass=$LOG_DIR/$FILENAME$timestamp.txt

#write index if logfile is not exist
if [ ! -e $LogFilePass ]; then
  echo "timestamp,cpuTemp[c-deg],Temp[c-deg],Pressure[hPa],Humidity[%]" > $LogFilePass
fi

##### -- get sensor parameter and logging ---
#getTimestamp
timestamp=`date +%H:%M`

#get CPU tempereture
temp=`/opt/vc/bin/vcgencmd measure_temp`
#trimming format
temp=${temp//temp=/}
temp=${temp//\'C/}

#getBME280 parameter
bme280param=`python $BME280_PYTHONSCRIPT`
#trimming format
bme280param=${bme280param//邃・}
bme280param=${bme280param//hPa/}
bme280param=${bme280param//・・}
bme280param=${bme280param//temp/}
bme280param=${bme280param//pressure/,}
bme280param=${bme280param//hum/,}
bme280param=${bme280param//:/}

#write to logfile
record=$timestamp,$temp,$bme280param
echo $record | tr -d "[:blank:]" >> $LogFilePass




スクリプトの実行には、前回紹介したBME280用PythonScriptが必要です。ダウンロードしてsensorlog.shのファイルパスを変更してください。 http://pitslaboratory.blogspot.jp/2015/09/raspberrypibme280.html

> mkdir sensorlog
> cd sensorlog
> mkdir log
上記sensorlog.shをコピー。必要に応じてファイルパスを修正
BME280_sample.pyをコピー

> ./sensorlog.sh
logのなかにログファイルが作成されていたらOK。

あとはこのスクリプトをcronで1分おきまたは10分おきに起動すればログが取れます。

> crontab -e

ファイルの最後の部分に書き足す
*/1 * * * * /home/pi/sensorlog/sensorlog.sh

10分おきに設定したい場合
*/10 * * * * /home/pi/sensorlog/sensorlog.sh

1時間おきに設定したい場合
00 */1 * * * /home/pi/sensorlog/sensorlog.sh

編集が終わったら、logに移動して1,2分待ってみます。
senslog****-**-**.txt
が出来ていたらOK
拡張子は.txtで出力していますが、最初から.csvにしても良いかもしれません。


2015年9月19日土曜日

RaspberryPiでラズベリー栽培 環境測定

温度計、湿度計、気圧計の動作テストをしてみました。

前回も書きましたが、使用しているセンサは以下の通り
BME280センサモジュール
http://akizukidenshi.com/catalog/g/gK-09421/
BME280  BOSCH
電源電圧1.71~3.6V
消費電流 Max714uA@pressure measurement, sleepMode 0.3uA, standby Max0.5uA
通信 I2C(デバイスアドレス0x76、0x77)、SPI
温度 -40~85度 ±1度 分解能0.01度
湿度 0~100% ±3% 分解能0.008%
気圧 300~1100hPa ±1hPa、 分解能0.18hPa
パッケージ 2.5x2.5x0.93mm LGA (ブレッドボードのピンピッチくらい)
http://akizukidenshi.com/download/ds/bosch/BST-BME280_DS001-10.pdf


実際の温度、湿度、気圧にするためには変換式に当てはめて補正が必要ですが、3つのセンサが1つのパッケージに入っており、データはI2CかSPIでレジスタにアクセスします。小型で高性能な環境センサです。
最初はLM61とかLM35とかで測定しようと思ってたけど、必要な部品を全部寄せ集めると1000円くらいになるうえ、AVRなどのADC入りマイコン必須なので、めんどくさいので、少々値段は高いですがワンパッケージのBME280にしました。というかむしろ安くなりました。
計測結果からも分かるように、精度もばっちしです。超オススメ。

計測結果

気温 (+CPU温度)
MSNの天気予報によると、今日の我が家付近の最高気温は27度。実測は29度。誤差が2度ほどありますが、PCを常時まわしてる部屋の中で計測したので、そのせいでしょう。CPU温度は周囲の温度より15度ほど高くなるらしい。

湿度
MSN天気予報では、朝(6時頃)の湿度は94%、夜(20時頃)78%でした。やはり室内計測なので10%~20%ほど低く出ていますが、おおむね一致してる模様。湿度計は基本的に誤差が酷いですからね。許容範囲。 16時頃にカクンと下がってるのは、エアコン入れたからです。

気圧
MSN天気予報では、朝(6時頃)1013hPa、夜(20時頃)1011hPaでした。
完全に一致!(゚д゚)
気象庁の天気図(3時間周期)と比較してみると、12時前後に1010hPaの等圧線が横切ってました。すばらしい。

結果
ドイツの技術は世界一ィィィ!(゚д゚)







2015年9月18日金曜日

RaspberryPiでラズベリー栽培 水分センサをI2C化

ちょっと、ゴチャゴチャしてきましたが・・w

水分センサが付きました。
まだ試作の段階なので、もうちょっとシンプルに収まる予定です。
Arduinoを使ってるのは、水分センサのアナログ値をAD変換するためと、I2Cバスに接続するため。
(他にも使う予定ではありますが・・)変換するだけならI2C対応ADコンバータなるチップがあるので、そっちを使うほうが楽です。
参考 → http://akizukidenshi.com/catalog/g/gI-07638/

これで環境センサと同じ要領で、RaspberryPi側からのコマンドを受けて水分センサの測定値を返すことができます。

スレーブデバイスアドレスを0x50に設定。0x03に0x01を書き込んでダンプすると、0x00と0x01にADCの結果が出てきます。
私の指の湿度は0x0132=306。湿った泥と同じらしい。

センサーのホームページに簡単なArduinoのサンプルコードがあったので、参考にしました。
http://www.dfrobot.com/wiki/index.php?title=Moisture_Sensor_(SKU:SEN0114)


次は日照センサーだ!




2015年9月17日木曜日

Raspberry Piでラズベリー栽培 I2Cが停止

RaspberryPiの無線化とか、いろいろ設定したら、I2Cが動かなくなりました。
raspi-configでI2Cを再度イネーブルにしても動かず。
原因はよく分かってないのですが、/etc/modulesにあるはずのi2c-devが消えていました。


> sudo vi /etc/modules

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

snd-bcm2835
i2c-dev

これで動くようになります。

いやー焦った(´・ω・`)

というわけで、LANケーブルが抜けた、うちのRaspberryPi。

LaspberryPi2公式のケースですが、見た目は非常にカッコイイのですが、秋月のブレッドボードジャンパーワイヤ(オスーメス)だと、蓋を閉めた状態ではピンヘッダに挿しにくいです。
ジャンパワイヤ→ http://akizukidenshi.com/catalog/g/gP-03472/

蓋をあけてケーブルを接続したあとで蓋を閉めれば、いちおう大丈夫です。
抜き差しは出来ないけど、逆に抜けにくくて良いかもしれません。

無線LANアダプタは、ELECOM/Logitecの LAN-WH300NU2
300Mbps 消費電流230mA

ModelB+では、小さいWifiドングルを使っていたのですが、
触れないほど発熱していたので、今回は消費電流の一番小さいものを選択しました。
アンテナ部分が長いせいか、小さなアダプタよりも感度が良い感じがします。

いちおう電力をいちばん消費する部分が揃ったので、この状態でシステム全体の消費電流を測定しておいたほうが良いですね。ケーブルを切らずに電流測定する方法・・・ごにょごにょ

2015年9月16日水曜日

RaspberryPiでラズベリー栽培 環境センサBME280

部品が届いたのでさっそく温度測定。
購入したのは、秋月電子のBME280センサモジュール
http://akizukidenshi.com/catalog/g/gK-09421/
他にも2つほど購入しましたが、それはまた別の機会に。

注意 この記事はBME280を使うために試行錯誤した過程ですので、
結果だけ知りたいかたはこちらへ→https://pitslaboratory.blogspot.jp/2018/05/raspberrypii2cc.html

センサモジュールのジャンパ設定

I2Cで接続するので、J3にハンダを盛ります。
J1、J2はI2Cのプルアップ抵抗ですが、RaspberryPi基板がすでにプルアップされている(らしい)ので、オープンのままです。

接続

センサモジュール - RaspberryPi基板
VDD  - 3V3PWR
GND  - GND
NC(J3経由でVDD)
SDI(SDA) - I2C1SDA         
SDO - GND
SCK(SCL) - I2C1SCL
センサーモジュールの3番ピンは、J3を通ってVDDに接続されてるのでオープンにしておく。
SDOはI2CのデバイスIDで、GNDに接続すると0x76になりVDDに接続すると0x77になる。 今回は0x76で。      



RaspberryPi側の操作

まず、raspi-configでI2Cがイネーブルになっているか確かめます。
> sudo raspi-config
8 Advanced optionを選択
A7 I2C → Enableに変更
Would you like the I2C kernel module to be loaded by default? → Yes

I2C-toolsをインストールします
sudo apt-get install i2c-tools

I2Cデバイス接続テスト

/usr/sbin/i2cdetect -y 1
0x76のところが76になっていれば、ちゃんと接続されています。

BME280のレジスタに値をセットする

BME280をコントロールするためのレジスタは3か所
0xF5 ONFIG     t_sb[2:0], filter[2:0], 2'b00
0xF4 CTRL_MEAS     osrs_t[2:0], osrs_p[2:0], mode[1:0]
0xF2 CTRL_HUM       5'b00000, osrs_h[2:0]

まずosrs_h,osrs_t,osrs_pにオーバーサンプリングレートを設定。
3'b000をセットするとOFFになります。
3'b001で x1, 3'b010でx2, 以下x4, x8, x16
たとえば、温度と湿度だけをサンプリングレートx1で測定したい場合、
osrs_t = 3'b001, osrs_h = 3'b001, osrs_p = 3'b000
とします。

とりあえず、3つのセンサをx1で設定します。
/usr/sbin/i2cset -y 1 0x76 0xF2 0x01 b
/usr/sbin/i2cset -y 1 0x76 0xF4 0x24 b

測定する

modeレジスタに2'b01をセットすると、Forcedモード(命令を受けて1回だけ測定する)で実行されます。
/usr/sbin/i2cset -y 1 0x76 0xF4 0x25 b
これで温度、湿度、気圧の測定結果がレジスタに入ってる筈です。

/usr/sbin/i2cdump -y 1 0x76

白く囲った部分が、気圧、温度、湿度の値なのですが‥
試しに気温のMSBとLSBを抜き取ってみると、
0x82 0x56
これを10進に変換すると、
33366

33度?w
いやまさかそんな
ちなみに別の温度計は24℃となっておりました。
どうやら変換が必要らしい。めんどくせぇ(´・ω・`)

秋月の添付資料はあまりにも情報が少なすぎるので、BOSCHからマニュアルを取ってきたほうがいいです。
http://ae-bst.resource.bosch.com/media/products/dokumente/bme280/BST-BME280_DS001-10.pdf
というわけで、I2Cを通してBME280のレジスタを直接覗くことはできました。温度が正しく表示されないので、別の方法でやってみます。

サンプルコードを使う

参考にしたHP http://qiita.com/masato/items/027e5c824ae75ab417c1
スイッチサイエンスさんが作ったPythonスクリプトらしいのですが、使えるので・・・(ごめんなさいスイッチサイエンスさん!そのうち買い物します!買い物しました!)

python-smbusをインストールします。
sudo apt-get install python-smbus

どこかに適当なディレクトリを作って、
wget https://raw.githubusercontent.com/SWITCHSCIENCE/BME280/master/Python27/bme280_sample.py

sudo python bme280_sample.py

あっさりと温度、湿度、気圧が表示されました(`・ω・´)

正常動作していることが確認できたので、次回はCなどからBME280を読む方法を試してみたいと思います。

リンク:I2CをCで使う



2015年9月15日火曜日

RaspberryPiでRSSサーバ

RSSサーバをRaspberryPiに仕込んでみました。

RSSとは
RSSは、ニュースやブログなど各種のウェブサイトの更新情報を簡単にまとめ、配信するための幾つかの文書フォーマットの総称である。 ウィキより

つまりニコ動とかBowlrollとかから、無駄な情報に惑わされることなく効率よく掘り出し物をゲットできるわけです。

使用したのは、tiny tiny rss (以下tt-rss)
https://tt-rss.org/gitlab/fox/tt-rss/wikis/home

RSSの情報を引っこ抜いてくるだけでなく、フィルタを使って必要のない記事を弾くこともできます。
(例えば、私はスポーツ記事には興味がないので、スポーツタブのついた記事は捨てるとか)
これをRaspberryPiにインストールして、ごにょごにょすると、RSSサーバが出来上がります。
これは便利!


実際に使ってみた図

tt-rssを使うには、apache2,php5が必要です。(apt-getが必要です)
また、閲覧していない間も情報を収集するには、crontabを使います
(デフォルトでRaspbianに入ってます)

まだ弄り倒していないのですが、たぶん見た目とかも変更できるかも。
今回はRasPi2にインストールしたのですが、閲覧時にCPU負荷が瞬間的に15%くらいになるだけなので、ひょっとしたらRasPi ModelBでも十分使えるんじゃないでしょうか。(ModelBも持ってるけどめんどくさいのでやらない)

RaspberryPiでラズベリー栽培 CPUの温度測定

今回もRaspberryPi公式を参考に使い方を学習します。
公式トップから
Resourceタブ>Makeサブメニュー
TEMPERATURE LOGをクリック
https://www.raspberrypi.org/learning/temperature-log/

●WHAT YOU WILL NEED
この項目には大したこと書いてないので(RasPi以外なにも必要ない)飛ばします。

●GET START
内容を要約すると、
  BASHを使ってタイムスタンプとCPUの温度を測定するやり方
が書かれています。
また、正確な時間を得るためにRealTimeClockモジュールを買ったほうがいいですよ(ていうか買え)といういつものステマも。


温度測定の方法
/opt/vc/bin/vcgencmd meaure temp
このコマンドでCPU温度が得られる

 タイムスタンプの取得方法
date +%F_%H-%M-%S


このコマンドで、フォーマットに従った日付の表示ができる。
注)dateコマンド単体でも表示できるが、曜日などが日本語で表示されるのでファイル名に向かない
 最終的なシェルスクリプトは公式ページのFINAL SHELL SCRIPTを参照


なお、vcgencmdはチップ温度以外にも様々な使い方があります。
 http://elinux.org/RPI_vcgencmd_usage 

以上を踏まえてラズベリー栽培システムに応用することを考えると vcgencmdに相当するものをCで書けば使えるはずです。 なんとなく完成形が見えてきた気がします(気のせいです)

2015年9月13日日曜日

RaspberryPiでラズベリー栽培 安いWebCamを使う

家電とか携帯とか、マニュアルも読まずに”分からん!”ていう人がいますよね。マニュアルは大事です。ちゃんと読みましょう。まったく・・

とりあえず写真撮影に成功。
ホワイトバランスとかまだ調整しないといけない部分は多いけど、写真撮影に成功。ただしWindowsでキャプチャしたものより暗いので、調整が必要です。これに関しては後日対策します。
参考にしたのはLaspberryPi公式の、Documentation>USAGE>Webcamsの項目。
(いやーマニュアルって大事ですね。)

せっかくなので本文を翻訳(一部省略しています。)

 ラズベリーパイカメラモジュールを使わなくても、普通のUSBウェブカムを使って写真やビデオを取り込むことができます。ただしカメラモジュールの品質と設定の容易さは、USBウェブカムより優れています。(ステマ

●INSTALL FSWEBCAM
パッケージのインストール
> sudo apt-get install fswebcam
●基本的な操作
fswebcamコマンドのあとにファイルネームを書くと、USBカメラで撮影され、その名前で保存されます。
> fswebcam image.jpg

このコマンドは次の情報を表示します。
--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
No input was specified, using the first.
Adjusting resolution from 384x288 to 352x288.
--- Capturing frame...
Corrupt JPEG data: 2 extraneous bytes before marker 0xd4
Captured frame in 0.00 seconds.
--- Processing captured image...
Writing JPEG image to 'image.jpg'.

小さなデフォルト解像度の写真が、タイムスタンプつきで撮れます。

●解像度指定
この例で使用したウェブカムは、1280x720の解像度が使用可能ですので指定してみます。
> fswebcam -r 1280x720 image2.jpg

●バナーを消す
--no-bannerオプションを追加します。
> fswebcam -r 1280x720 --no-banner image3.jpg

これでバナーなしフル解像度の写真がとれました。

●クソ画像
USBカメラを使っていると、偶然芸術作品にも見えるクソみたいなクオリティの画像を経験するかもしれません。この問題は低品質カメラで起こる場合があります。システムが最新であるかを確かめてください。(apt-get update, upgradeのこと?)
または他のウェブカムを使ってみてください。
一番いいのはパイカメラを使うことです。(ステマ2回目)

●cronを使ったタイムラプス
省略。本文参照

●他に使えるツール
SSH  リモートアクセスでローカルネットワークのPiをコントロール
SCP SSH経由でPiへデータのアップロード、ダウンロードができます
rsync 写真フォルダの同期をとることができます。
cron  指定のインターバルで写真を撮ることができます。たとえば1分おきのタイムラプスとか

翻訳は以上。


guvcviewの設定が残るらしいので、結局OSを再インストールして、fswebcamだけをインストールしました。
何枚か撮影したところ、デフォルトの解像度や640x480だと、どうしても暗くなるらしい。解像度を1280x1024にしたら、やはり暗いけど識別できるレベルに。

撮影はできたので、今後は画質の調整(できれば自動調整)とか、画像をどう扱うかを考えないといけない。
0:カメラの画質調整方法を調べる
1:cronで1分おきにJPG撮影し、ローカルのメモリもしくはリモートのサーバに保存、あとでavconvで動画にする
2:motionなどを使ってリモートで観察できるようにする
3:リモートでカメラをコントロールできるようにする(サーボを動かしたり)
4:画像解析してラズベリーの生育状態を判断する



2015年9月12日土曜日

RaspberryPiでラズベリー栽培 部品とかカメラとか

部品のチェックをしたところ、いくつか変更することに。

変更1: 温度センサーと湿度センサー
LM61とHS-15Pを AM2321に変更
温度センサーと湿度センサーが1パッケージなので扱いやすいのと、I2Cシリアル通信できるので、AVRが必要なくなる。(他のセンサやモータ、サーボの制御には必要なのでAVRは残るけど)
湿度計の精度の面で多少悪くなりそうだが、湿度なんか風が吹けば簡単に変わるので、まぁ問題ないでしょう。

変更2: 12センチファン → USBファン
PCファンは12Vなので別電源が必要なため、USBファン5Vを採用することに。

よってAVRマイコンの仕事は、
I2Cスレーブ、コマンドを受けてモータの制御と日照センサ、土壌水分センサの状態をLaspberryPiに出力する。多少仕事が減った。

接続はLaspberryPiをマスターにしたI2C接続。

  Pi(マスター)→(I2C)→ AM2321、AVR

ほかにも液晶とか付けられそう。


また本日、映像記録用に安いUSBカメラを購入。

iBuffalo BSW13K10H
1.3MPixel CMOS sensor
1280x1024: 9fps / 640x480: 30fps
動作環境 温度5~40℃ 湿度20~80%
お値段1000円以下(およそ500~700円)

さっそく接続してみるがなぜか画質が悪い。ちゃんと動くようになるまで時間がかかりそう。
motionを起動して15fpsで動かしてみたが、CPUパワーは1桁%。
さすがPi2さんやでぇ。

あと、AVRのシミュレーションをしてみた。
ネットワークからの制御以外にも、LaspberryPiへの直接コマンド実行とかあったほうが便利そうなので、液晶とスイッチを追加するかもしれません。


2015年9月10日木曜日

RaspberryPiでラズベリー栽培

RaspberryPi→ラズベリーを栽培→ラズベリーパイを作って食う!

これだ(゚д゚)

というわけで、ラズベリーの苗を購入しようと思い検索した結果、
ネット販売価格でおよそ1000~3000円。
苗、高くない?(´・ω・`)

RaspberryPiでやること
  • 温度、湿度、日照の観測
  • 苗木の成長を録画
  • 苗木に水や肥料を自動で与える
  • サーボで日照コントロールする


など。

材料をざっくり見積もってみる。
  • RaspberryPi 少々
  • ラズベリーの苗 3株 自分用、布教用、予備
  • 6号(直径18cm)程度の鉢
  • 赤玉土小粒、腐葉土、川砂 → 一般的な野菜用土でいいかも
  • 硫安 5:5:5くらい+Mg1 → 野菜、くだもの向け肥料で
  • Webカメラ
  • 土壌の水分のセンサ → Arduino用土壌湿度センサー 釘とアンプで?
  • 温度センサ 湿度センサに温度センサ内蔵のやつがあるので、いらないかも。
  • 湿度センサ DHT11とかAM2302とか
  • フォトトランジスタ 日照センサ NJL7502 
  • サーボ (保留) 寒冷紗やビニールの開け閉めに。
  • 水中ポンプ 水やり用。金魚ポンプを使う?
  • リレー (100Vの金魚用水中ポンプを使うなら)
  • ホースとか分岐とか 適宜
  • AVR ATmega88V(手元に大量にあるから) センサ制御、サーボ制御、リレー制御
  • USBファン (苗冷却用)
  • USB電源 1A~2A 
  • 車輪とか
AVR基板は(どうせ使ってない)Arduinoを使うといいかも。

ざっくり基板のイメージと全体図を設計した結果

RaspberryPi基板にAruduinoまたはガラエポの汎用基板をつけて、各種センサとサーボモータ、リレーを接続。RaspberryPiとはI2Cで接続。
WiFiアンテナでLANに接続。自室のPCから観測、コントロール。
コントロールといっても、基本的にRaspberryPiが自動でコントロールする。

全体のイメージ

真ん中奥の箱が制御BOX。BOXの上部には観測用のWebカメラを配置。さらに上には日照コントロール用の傘を設置。BOXの左には通風、冷却用のUSBファンを装備。いちばん左側のタンクから、土壌の渇き具合に応じて散水。

うん、いける!(たぶん

2015年9月9日水曜日

RaspberryPi2を衝動買い

InterfaceのRaspberryPi2記事を見て衝動買い。

使ってみた感想
LasPi ModelBとくらべて けっこう早い(資料によると6倍らしい
X Windowがかなり快適に動作する。

軽く使ってみた結果、

  • OpenOffice(LibreOffice)、
  • SMplayer、
  • 無料版マインクラフト

は快適に使える。一方で、

  • chromiumでバグ
  • Blenderでsegmentationfaultが出る

などの不具合も。やっぱりPC素人にお勧めできるシロモノではない。

avconv(ffmpeg)のエンコード比較もしてみたところ、
LasPi B : 1fps
LasPi2 B : 15fps
さすがにcorei7やi5でのエンコードには劣るものの割と実用的な速度に。(Xとかはoffにした状態で)
 やってみたのは、> avconv -i infile.mp4 outfile.mp4

エンコードやるなら普通にデスクトップマシン買ったほうがいいです。(消費電流1Aのボードと比較するのもどうかと思うが)

LasPiといえば格安NASとかプリンタ鯖作る人が多いけど、最近はルータにUSBーHDDつけて簡易NASとかやれるから、あんまし(ry

ちょっと使い道を考えてみます(´・ω・`)

2015年9月8日火曜日

メジェド様

ついったでたまたまエジプトの話題が出たので、メジェド神を作ってみた。















前回紹介したフリルの応用例















すね毛はパーティクルを使うと簡単です。
パーティクルを追加してHairを選択、パラメータをごにょごにょするとできます。まだ使い方を完璧に把握していないので、紹介はまた別の機会に。

フリルを作る

Blenderでフリルを作るやり方です。

基本図形を作る

  1. SHIFT+A>MESH>Plane
  2. TAB
  3. A     (全頂点選択)
  4. R X 90    
  5. CTRL+R 上辺または下辺あたりにマウスを移動 5 左クリック 右クリック 
  6. 下辺の5点を移動して調整
固める前ならあとからでも整形できるので正確に作らなくてもいいです。 分割数の増減はホイールを回すことでも可能です。


基本図形を伸ばす

ArrayとSubsurfを追加します。
  1. Add Modifire > Array
  2. count 任意
  3. Merge チェック
  4. Add Modifire > Subdivision surface

シェーディングをSmoothにしておきます。
  1. TAB (オブジェクトモード)
  2. Shading > Smooth 

横長のフリルのテープができました。前に紹介したメタセコイアのフリルプラグインを使った場合と同じ状態です。ここまでの作業は慣れてくると1分以内で出来ますので、プラグインを作るまでもないです。

Bezierで曲げる

曲げるにはCurveModifireやBezierを使うと便利です。フリルの長さが足りない場合はArrayのCountを上げます。まずはCurve追加します
  1. SHIFT+A>CURVE>Circle

オブジェクトは3Dポインタのある位置に追加されますが、3Dポインタは作業中にいろんな場所に飛んでいくので、追加後に位置合わせするといいです。
  1. Alt+G

初期状態で貼り付けの開始位置が手前に来るので、Circleオブジェクトを裏返しておきます。気にならない場合は飛ばしてOK
  1. TAB オブジェクトモード
  2. Circleオブジェクトを選択
  3. A 全選択
  4. R X 180 180度回転

一度フリルメッシュを右クリックしてCurveModifireを追加し、先ほど追加したBezierCircleを設定します
  1. Add Modifire>Curve
  2. Object:BezierCircle


デフォルトでは、追加したCircleオブジェクトはBezierCircleという名称になっています。2つ目のCircleを追加すると、BezierCircle.001のように数字が追加されます。

調整

基本図形の大きさを、Circleのなかに10個くらい入るくらいに縮小します。 正確でなくてもいいです。
  1. TAB エディットモード
  2. A 全選択
  3. S>マウス移動 全体を縮小


ArrayモディファイアのCountを増減したり、フリルの基本図形の大きさを調整します。
つなぎ目はすべての調整が終わったあとに手動で調整してもいいし、放置でもいいです。

Curveオブジェクトのベジェカーブを調整して、任意の形状にします。これらの作業を繰り返して気に入った形状に仕上げます。

固める

微調整が終わったらModifireのApplyボタンを上から順番に押していきます。(フリーズと言います)
Applyを押すとパラメータによる調整ができなくなりますのでご注意ください。通常は全てのモデリング作業が終わって、PMXなどに変換する直前に固めます。

MMDモデルをBlenderで作るために


MMDモデル作成に必要なもの

Blender https://www.blender.org/
Blender公式HPから入手。

blender2pmx http://u7.getuploader.com/Yjo_oi_Neg/
BlenderにPMXファイルをインポートしたりエクスポートするスクリプト。

PMXE/PMDE http://kkhk22.seesaa.net/
PMDファイル編集ツール。物理演算の設定やボーン名などの修正をする道具。
ボーン名などはblender2pmxである程度修正できるが、xmlファイルを弄る必要があるため面倒。

GIMP http://www.gimp.org/
テクスチャを作成するのに使用する。Blenderにもテクスチャを扱うモードは存在するが、非常に使いづらい。

MikuMikuDance http://www.geocities.jp/higuchuu4/
レンダリングの確認とか。

あったら便利

Git http://git-scm.com/
バージョン管理ツール。セーブデータにメモを書いたり、前のデータにアンドゥしたりできる。セーブデータがごちゃごちゃし始めたら、Gitを使ってみると幸せになれます。

Blender Git https://developer.blender.org/T41162
blenderからGitを実行するスクリプト。ワンクリックで前のセーブデータに戻れるので便利。単体では動作しないので注意。

TortoiseGit https://tortoisegit.org/download/
Gitのフロントエンド。デフォルトのGitにもGUIはあるが、こちらのほうがわかりやすい。日本語ランゲージパックもあります。Gitのフロントエンドは他にもいろいろあるので、使いやすいものを探すと良いでしょう。単体では動作しないので注意。


MMDモデルを公開する

bowlroll.net https://bowlroll.net/
動画、画像、音楽、3DCG等の作品公開、及び製作における素材やプログラムの配布、情報共有の場を提供するサイトです。(bowlroll.netより引用)

ニコニコ静画 http://seiga.nicovideo.jp
配布静画を公開するために使用。俺得モデルフェスティバル参加に必要。プレミアム会員だったらクリエイター奨励プログラムでポイントが貰えるらしい。(私は一般会員なのでわかりません)

ニコニコ動画 http://www.nicovideo.jp
配布動画を公開するために使用。(動画を作るのが面倒なので)最近は静画しか使ってません。

ニコニ立体 http://3d.nicovideo.jp/
Unity playerを使って、ブラウザ上で3Dモデルを再生できるのが特徴。私は(めんどくさいので)使ったことがありません

Youtube https://www.youtube.com/
配布動画を公開するために使用。(私は使ったことが以下略)
海外のユーザー向けだったら、ニコニコ動画と一緒にアップすると良いかもしれません。

PIAPRO http://piapro.jp/
ミク専用。クリプトンのキャラクタの二次創作物を公開するには、ピアプロライセンスに従わないといけません。(執筆時点で、ピアプロの3Dモデルのページはあまり賑わっていない模様・・・)

3DCG ARTS beta  https://3dcg-arts.net/
ニコニ立体と一緒っぽい。.blendファイルをそのままUploadできる。

二次創作と著作権

Wikipedia:二次創作物 
https://ja.wikipedia.org/wiki/%E4%BA%8C%E6%AC%A1%E5%89%B5%E4%BD%9C%E7%89%A9
一通り読んでおいたほうが良いです。特に最近はエンブレムとか(ry

Wikipedia:GNU General Public License(GNU GPL)
http://www.gnu.org/
https://ja.wikipedia.org/wiki/GNU_General_Public_License
フリーソフトウェアに関するもの。3Dモデル制作には直接関係ありませんが、念のため。

MMDアクアリウム MMD水産

MMDアクアリウムとは、MikuMikuDanceにて観賞魚を取り扱うタグである。
MMD水産とは、MikuMikuDanceにて魚介類(海産物)を取り扱うタグである。
ニコニコ大百科より

アクアリウムセット
第二回 俺得モデルフェスティバル参加作品
我が家で使用しているアクアリウム用品のモデルです。
水槽のレイアウト検討などにご利用頂けます。
https://bowlroll.net/file/33909
シャチ
直球表題ロボットアニメで使ってもらいました。
https://bowlroll.net/file/33904

シジミ
SJM48とかいうネタ動画を作ろうとして挫折。48種類も思いつかなかった!
https://bowlroll.net/file/33919
くちくいきゅう
1-1-1に出てくるあの子。
デザイン Jugem-T氏
https://bowlroll.net/file/27543
くちくいきゅう改二
進化したあの子。
デザイン Jugem-T氏
https://bowlroll.net/file/37963


2015年9月7日月曜日

OPYプラグインforメタセコイア2.4x/3.00

おっぱい関数による、おっぱい生成プラグイン。以前に投稿していたものを再アップロードしました。ネタプラグインですので、過度の期待はしないでください。質問は一切受け付けません!


ダウンロード→https://bowlroll.net/file/80179

md5 2b6a38c74c0b7df3719ea9b884039069
sha1 100f14677c2ec6d2a1d17041d3b7e2560c5eb557



参考にした関数
 http://siguniang.wordpress.com/2011/11/09/3d-surface-plot-with-latticergl/


フリルプラグインforメタセコイア2.4x/3.00

フリル生成プラグイン詰め合わせ
メタセコイア2.4x 3.00用

使い方は同梱のREADMEを参照してください。
ソフトウェアですので、ダウンロードする際は、MD5およびSHA1の確認をお薦めします。



MD5 fd86faa7b0dadd980ffe2d119bd1781d
SHA1 75fca8c7162900541e454a3c501307c9187efb6f

ニコニコ静画配布ページ→http://seiga.nicovideo.jp/seiga/im2584342
コンテンツツリーの登録は必要ありません。ご自由にお使いください。

ダウンロード→https://bowlroll.net/file/50030

インストール

メタセコイアに課金する。
メタセコイアのメニュー→プラグインについて→インストールボタンを押す
Frill.dllをインストール

使い方

オブジェクト→作成→簡易フリル作成
パラメータを適宜設定してOKを押す

備考

1か月のお試しライセンスを借りて作ったので、
今後新しいプラグインを作る予定はありません。
ご了承ください。

Minecraft for MMD

Minecraftモデル詰め合わせ

マインクラフトのスキンテクスチャをそのまま使用できます。
マインクラフト解説動画などにお使いください。

内容物
キャラクタモデル(steve, Alex)
ピッケル
クリーパー、ゾンビ、イカ、ブタ、スパイダー

ダウンロード→bowlroll.net/file/33936

質問等はツイッター @PiT_shan に投げてもらえると比較的早く対応できます。


よくあるご質問
Q:スキンの変更の仕方が分かりません
A:使いたいスキンデータのファイル名を"char.png"に変更し、配布データの"char.png"と入れ替えます。

Q:スキンが表示されない
A:スキンテクスチャのファイル名は、デフォルトで”char.png”です。ファイル名をお確かめください。Windowsのバージョンによっては、拡張子".png"が表示されていない場合があります。ファイル名を"char"のみにすると良いかもしれません。一番確実な方法は、拡張子を表示してファイル名を編集することです。

2015年9月5日土曜日

MMDモデル

これまでに作ったMMDモデルはBowlroll様より配布しています。
https://bowlroll.net/user/1260

Bowlroll以前はアットウィキのFTPにアップロードしていたので、アップロード順と作成した順があべこべです。


投稿動画

最後に投稿したMMD動画
【MMD】カニ娘配布
http://www.nicovideo.jp/watch/sm20082445




いちばん頑張った!と思える動画
【第5回MMD杯本選】空港で遊ぶお子様
http://www.nicovideo.jp/watch/sm11839392








デビュー作
【MMD】機内安全ビデオ
http://www.nicovideo.jp/watch/sm10532600





なんで最近、動画作らないのか?
ネタが浮かばないからだよ!!('A`)


--ニコニコ動画埋め込みテスト--