tag:blogger.com,1999:blog-15249605732543196392024-03-05T20:49:51.899+09:00覚書DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.comBlogger48125tag:blogger.com,1999:blog-1524960573254319639.post-21502535749583152512015-05-05T03:39:00.000+09:002015-05-06T16:47:16.029+09:00BeagleBone Black モーター制御初モーターです。<br />
<br />
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=B00IEG5LQK" style="height: 240px; width: 120px;"></iframe><iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4899773935" style="height: 240px; width: 120px;"></iframe><iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4777518078" style="height: 240px; width: 120px;"></iframe><iframe src="http://rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4899774044" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
<br />
<h3>
使用した部品</h3>
・タミヤ:ツインモーターギアボックス<br />
・タミヤ:ユニバーサルプレート(2枚セット)<br />
⇒ 3階建てにしたので、同じものをもう1つ購入した <br />
・タミヤ:トラック&ホイールセット<br />
・モータードライバ:TA7291P x 2<br />
・エネループ単三4本(モーター用、VS接続)<br />
・電解コンデンサ:10uF(容量はTA7291Pマニュアル通り)<br />
・モーターの両端に0.1uFを追加したほうがいい<br />
<br />
<h3>
回路図</h3>
・モーター1個につき、GPIOを2つ、PWMを1つ使用<br />
⇒ GPIO(IN)にPWMを使う方法もあるが、PWMの数に制限があるのでVrefにPWMを使う<br />
・図はモーター1個分、同じものをもう1個分必要<br />
・モーター電源は2つのモーター共通でエネループ4本(約4.8V)を使用<br />
・図のUSBシリアル変換はモーターとは関係ない<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicfd-FozcGab9VFhTh2BkJPjunqAi_7EOJk9yvRVdbT0pwi_d0xDcno1JFeI8gbQNvNX2v1KZVBHUWE3vOUme9T1GrZiS39Hj9rRDRi5XetU8vNjGvamDAvLml4boxD3zVeemhLgNB4ME/s1600/motor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="211" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicfd-FozcGab9VFhTh2BkJPjunqAi_7EOJk9yvRVdbT0pwi_d0xDcno1JFeI8gbQNvNX2v1KZVBHUWE3vOUme9T1GrZiS39Hj9rRDRi5XetU8vNjGvamDAvLml4boxD3zVeemhLgNB4ME/s1600/motor.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjikvOTTa3oRLicJY4lG1OEiaIcMhCGRiWezETkEezrtSjexYSHBKZGDyIzAH8f4eoQUdso0VvNCFIzUnXdTyw8WQTAFwssAWfMqH-1d0RBO6uCH7ycJYPYjqoe9glQLnkN5EjYmK6yaZA/s1600/motor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<br />
<h3>
mjpg-streamer</h3>
<br />
・BBBの制御は mjpg-streamer を改造して使う<br />
・mjpg-streamer は下記の r182 が最新、だと思う<br />
⇒ <a href="http://sourceforge.net/projects/mjpg-streamer/" target="_blank">http://sourceforge.net/projects/mjpg-streamer/</a><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjikvOTTa3oRLicJY4lG1OEiaIcMhCGRiWezETkEezrtSjexYSHBKZGDyIzAH8f4eoQUdso0VvNCFIzUnXdTyw8WQTAFwssAWfMqH-1d0RBO6uCH7ycJYPYjqoe9glQLnkN5EjYmK6yaZA/s1600/motor.png"></a><br />
・www 下の stream_simple.html を HTML5化、jQueryMobile を使って改造して使用する<br />
・mjpg-streamer には UI からコマンドを送る仕組みが用意されてるのでそれを使う<br />
・jQueryMobile で使用する部品は、ボタンとチルトパン用のスライダー<br />
・スマホ、タブレットでは onmousedown、onmouseup の代わりに、ontouchstart、ontouchend を使う <br />
・具体的には、output_httpプラグインにモーター、サーボの制御を書く<br />
・ボタンやスライダーを操作したとき、マルチスレッドでコマンドがたくさん送られてくるので排他制御を入れること<br />
⇒ スライダーをドラッグするとたくさんのコマンドが送られてきてスムーズに動かない(小刻みに右左に動く)<br />
⇒ 排他制御中は、現在の値と設定中の角度へのコマンドは無視するようにすると落ち着いた<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjikvOTTa3oRLicJY4lG1OEiaIcMhCGRiWezETkEezrtSjexYSHBKZGDyIzAH8f4eoQUdso0VvNCFIzUnXdTyw8WQTAFwssAWfMqH-1d0RBO6uCH7ycJYPYjqoe9glQLnkN5EjYmK6yaZA/s1600/motor.png"></a>・カメラは手持ちの Webcam Pro 9000 をばらして、カメラマウンタにゴムで仮止め<br />
⇒ ほんとはカメラモジュールを使いたかったけど、高いし、配線が多くなる。。<br />
⇒ RaspberryPi ならカメラモジュールあるけど、PWMを4つ使う(モーターに2つ、サーボに2つ)のに、1ポートしかないのが致命的、SoftPWMもあるらしいけど、10us単位の精度は出ないはず<br />
⇒ USB接続のカメラモジュールで安くてHDなものがあれば。。<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjikvOTTa3oRLicJY4lG1OEiaIcMhCGRiWezETkEezrtSjexYSHBKZGDyIzAH8f4eoQUdso0VvNCFIzUnXdTyw8WQTAFwssAWfMqH-1d0RBO6uCH7ycJYPYjqoe9glQLnkN5EjYmK6yaZA/s1600/motor.png"></a>
<br />
<h3>
感想</h3>
・モーターは特に苦労もなく、簡単に回る回る<br />
・キャタピラが1番苦労した、、絨毯の上を走行してると、曲がろうとするとすぐにキャタピラが外れる<br />
⇒ フローリングしかまともに走らない<br />
・ユニバーサルプレートの下段に、ツインギアボックスとエネループ4本の電池ボックスを載せた<br />
⇒ 電池ボックスの穴とプレートの穴が微妙に合わず、プレートの穴をヤスリで削って調整<br />
・モータードライバのブレッドボードが場所を取るので基板化が必要<br />
・残りはUSBハブ(セルフパワー)の電源をモバイル電源から取るようにすれば一通り完成<br />
・その後は、測距、加速度、ジャイロなどのセンサーを載せたり、OpenCVで自律走行させたりの予定<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dx_UFInZALUR9Cl3AHbsuLNnEum12fi5Q1Tbom-5U21YILDgnseXa0QyFLKKNxgcPiPqeS1lBBIwvNPKWG3pA' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dz4aTTD_2sXjeTKGuTg8J8eQuXBUALizcG91D4r-qeCL8mmR75hwvXQHOYCbi5ip7unKHFfO95okvJFwYBuvA' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dx4etMFkhzsB2jMICggeRm8TERsC3JQP_Luc1nS7GbTLk9VH03SsRe60WL_rcw805ma2y4FItz4ce0jnbD7mw' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<br />
<h3>
参考にしたサイト</h3>
<a href="http://nonbirikousaku.blog.fc2.com/blog-category-3.html" target="_blank">http://nonbirikousaku.blog.fc2.com/blog-category-3.html</a><br />
<br />DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-68518451704238517182015-05-04T17:20:00.000+09:002015-05-06T16:47:08.035+09:00BeagleBone Black サーボ制御初サーボ。<br />
<br />
<iframe src="http://rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=B00IEG5LQK" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4899773935" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4777518078" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4899774044" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
<br /><br />
<h3>
サーボスペック</h3>
・Tower Pro製 マイクロサーボ SG90<br />
・SG90サーボ用 ミニ2軸 カメラマウント A838<br />
<br />
茶色の線:GND<br />
⇒ BBBのGNDを接続 <br />
赤色の線:5V(4.8~5V)<br />
⇒ BBBの5Vを接続<br />
橙色の線:制御線<br />
⇒ BBBのPWMを接続 <br />
<br />
周期:20ms(50Hz)<br />
H期間:500us~2400us<br />
⇒ H期間の時間で0度から180度ぐらいでサーボが動作する<br />
<br />
<h3>
課題</h3>
・モーター制御のVref(速度制御)にPWMをモータ毎に1つずつ使う(計2個使用)<br />
・サーボをモーターと同時に使用する場合、さらにPWMが2つ(チルトとパン)必要(計4個使用)<br />
・BBBにはPWMは8チャネル?あるが、独立して周期、デューティが設定できるのは5つ<br />
⇒ eCAP0、eCAP2、eHRPWM0、eHRPWM1、eHRPWM2<br />
⇒ eHRPWMのAとBは同時に使うと周期を動的には変更できない<br />
⇒ 普通に使うと、500us でしか使えない<br />
・このうち、eCAP2とeHRPWM2はシステムを変更しないと使えない(uEnv.txtの変更だけ)<br />
⇒ 普通に使えるPWMは3つなので、足りない<br />
・モーター速度制御のVrefに使用するPWMは同じ周期でよい<br />
・チルトとパンで使用するPWMの周期は同じでよい<br />
⇒ まずは周期の初期値を変更する方法を探してみる<br />
<br />
<h3>
Device Tree</h3>
・デバイスツリーとは?については他のサイト参照。。<br />
・今回使用したファイルは、bone_pwm_P9_16-00A0.dtbo<br />
・デバイスツリーのソースファイルはカーネルをビルドしたツリーの arch/arm/boot/dts にシステム全体のものが入っていて、個別の機能は firmware/capes に入ってる<br />
・bone_pwm_P9_16-00A0.dts を見てみると、fragment@0 にマルチプレクサの設定で、0x06 になっている<br />
⇒ モード6(ehrpwm1B_mux1)、出力、プルダウン有効<br />
・fragment@1 に初期値?の設定がある<br />
⇒ compatible = "pwm_test"; の行が、カーネルドライバと紐付けされるキーワード<br />
・カーネルソースは、drivers/pwm/pwm_test.c で、読んでみると、pwm_test_probe() で、この初期値を読み込んでいるっぽい<br />
⇒ enabled は run のこと、duty はそのままの意味<br />
⇒ 正論理or負論理は何やら難しい感じで、<br />
fragment@1:pwms = <&ehrpwm1 1 500000 1>;<br />
ドライバ:if (args.args_count >= 3 && (args.args[2] & (1 << 0)) != 0) が真だと負論理っぽい<br />
⇒ たぶん、500000 は周期(500us)なので、その後ろの 1 が負論理ということっぽい<br />
⇒ 周期の前の 1 は使われてない? <br />
⇒ というわけで、pwms = <&ehrpwm1 1 20000000 0>; とすれば、周期20ms、正論理になるはず<br />
・ついでに、PWM出力をデフォルトオフにしておく(enabled を 0 にする) <br />
・dts のコンパイルは dtc で行うが、Ubuntu とかで、apt-get でインストールされる dtc ではなく、BBB専用?の dtc を使用する必要がある(普通の dtc では使えない -@ などのオプションがある)<br />
⇒ scripts/dtc/dtc -O dtb -o bone_pwm_P9_16-00A0.dtbo -b 0 -@ bone_pwm_P9_16-00A0.dts<br />
⇒ bone_pwm_P9_16-00A0.dtbo が生成される<br />
・変更したdtboを適用する<br />
⇒ BBBの/lib/firmwareに上記dtboをコピー<br />
⇒ $ sudo su<br />
⇒ # echo am33xx_pwm > /sys/devices/bone_capemgr.*/slots <br />
⇒ # echo bone_pwm_P9_16 > /sys/devices/bone_capemgr.*/slots<br />
⇒ あれ?反映されん。。<br />
<a href="https://jp.linux.com/Linux%20Jp/tutorial/418563-tutorial20140702" target="_blank">https://jp.linux.com/Linux%20Jp/tutorial/418563-tutorial20140702</a><br />
上記サイトを見ると、やっぱり反映されないって書いてる、、<br />
⇒ カーネルドライバの変更が必要と書いてる<br />
<a href="http://saadahmad.ca/using-pwm-on-the-beaglebone-black/" target="_blank">http://saadahmad.ca/using-pwm-on-the-beaglebone-black/</a> <br />
<a href="https://randomlinuxhacks.wordpress.com/2014/09/16/changing-pwm-period-on-beaglebone-black/" target="_blank">https://randomlinuxhacks.wordpress.com/2014/09/16/changing-pwm-period-on-beaglebone-black/</a><br />
⇒ カーネルドライバのソースをもう少し読む必要あり、カーネル3.18も同じ?<br />
⇒ややこしくなってきたので、uEnv.txt を変更して、eCAP2とeHRPWM2を使えるようにしてみる<br />
<br />
<h3>
uEnv.txt</h3>
・場所:/boot/uboot/uEnv.txt<br />
・eCAP2とeHRPWM2はシステムで予約されてる、というか、dtbの初期値で他のモードに設定されてて、動的に変更が禁止されてる<br />
・uEnv.txt に HDMI(を含む McASP)を無効にするコードが書かれていてコメントアウトされている<br />
⇒ #optargs=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC-2G<br />
⇒ 上記のうち、eMMCは無効にせず、HDMIの2つを無効にする<br />
⇒ optargs=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN <br />
⇒ 上記を追加して、再起動すると変更が有効になる、確認方法は、下記を変更前と後で比較すると何が変わったかが分かる<br />
# cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pins <br />
<br />
<h3>
感想</h3>
・200us刻みで動かすと25度ぐらいずつ動く<br />
・カメラのチルトとパンに使うには、動きが速すぎる<br />
⇒ 最終的には10us単位で6msのウェイトを入れて動かした<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dzJ3ppkMzed0b-Xk9Wf3GsFOv5XGi-iyc-EPz1iCpIML1umyqDCk31JLHO5_Za3rkToRTLv015gXK-1BptwFg' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dzZz2250hjt3F65yhyjz-8ODEVd33Vn3fYDF9StsVO-IT8OSEe7zgJFyRzdZxDkvaxH9UHxqWUELFTg5Dh3Hw' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dwKVOSQQoDJqwgc2p4TVyH33coRDHgF2bBew7y7Pv3kPIFYJAfbslo2cJ9owWtt11yVSD-admouK776NGeReA' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<br />
<h3>
参考にしたサイト</h3>
<a href="http://denshikousaku.net/control-servos-on-raspberry-pi-part1-rpio" target="_blank">http://denshikousaku.net/control-servos-on-raspberry-pi-part1-rpio</a><br />
<br />
<br />
<br />DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-90677878514504975612015-05-01T15:26:00.003+09:002015-05-06T16:46:56.299+09:00BeagleBone Black久々のブログ。<br />
最近は、BeagleBone Black でいろいろ遊んでたので、覚書再開。<br />
<br />
<iframe src="http://rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=B00IEG5LQK" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4899773935" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4777518078" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4899774044" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
<br /><br />
まずは、スペックと環境。<br />
<br />
<h3>スペック</h3>
Rev C (eMMC 4GB)<br />
<br />
<h3>ディストリビューション:Ubuntu14.04</h3>
<a href="http://elinux.org/BeagleBoardUbuntu" target="_blank">http://elinux.org/BeagleBoardUbuntu</a><br />
<br />
・インストール方法は上記サイトそのまま<br />
・今はカーネル3.14のものしか公開されてないみたい<br />
・古いイメージ(カーネル3.8)が欲しいんだけど、入手方法(イメージの作り方?)が不明 <br />
<br />
<h3>カーネルは3.8</h3>
<a href="http://elinux.org/Building_BBB_Kernel" target="_blank">http://elinux.org/Building_BBB_Kernel</a><br />
<br />
<h4>カーネルイメージの作成方法</h4>
<br />
クロスコンパイラ取得<br />
<pre>$ wget -c https://releases.linaro.org/14.04/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux.tar.xz
$ tar xf gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux.tar.xz
$ export CROSS_COMPILE=/home/kunimune/svn/bbb/download/gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux/bin/arm-linux-gnueabihf-
</pre>
ソース取得<br />
<pre>$ git clone https://github.com/beagleboard/kernel.git
$ cd kernel
</pre>
バージョンを3.8に <br />
<pre>$ git checkout 3.8
</pre>
パッチ適用<br />
<pre>$ ./patch.sh
</pre>
コンフィグコピー<br />
<pre>$ cp configs/beaglebone kernel/arch/arm/configs/beaglebone_defconf
</pre>
ファームウェア取得<br />
<pre>$ git clone git://arago-project.org/git/projects/am33x-cm3.git
</pre>
ファームウェアをコピー<br />
<pre>$ cp ../am33x-cm3/bin/am335x-pm-firmware.bin kernel/firmware/
</pre>
カーネルビルド<br />
<pre>$ make ARCH=arm beaglebone_defconfig
$ make ARCH=arm menuconfig
</pre>
⇒ General setup → Local version に "-XXX" を付与<br />
⇒ teeコマンドでログを取っていると失敗するので注意 <br />
<pre>$ make ARCH=arm uImage dtbs
</pre>
⇒ arch/arm/boot の zImage をBBBにコピー、/boot/ubootにコピー<br />
⇒ uEnv.txt を編集して、上記 zImage が起動するように書き換える<br />
<br />
モジュールビルド<br />
<pre>$ make ARCH=arm modules
$ make ARCH=arm INSTALL_MOD_PATH=../modules modules_install
</pre>
ファームウェアビルド<br />
<pre>$ make ARCH=arm firmware
$ make ARCH=arm INSTALL_MOD_PATH=../modules firmware_install
</pre>
⇒ modulesディレクトリを固めてBBBにコピー、/lib/modulesに上書きコピー<br />
<br />
<br />
ひとまず、以上です。<br />
<br />DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-39774790691521526552013-05-11T16:17:00.000+09:002013-06-08T22:19:27.157+09:00クラウド AWS EC2 Zabbix グラフ文字化け対処 [Zabbix]<br /> ・グラフの日本語が文字化けを対処<br />
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=B00AEAZKW4" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4774142131" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4774150371" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
<br /> - 日本語フォントのインストール<br /> $ sudo aptitude install otf-ipafont<br /> > Unpacking otf-ipafont-gothic (from .../otf-ipafont-gothic_00302-10_all.deb) ...<br /> > Selecting previously deselected package otf-ipafont-mincho.<br /> > Unpacking otf-ipafont-mincho (from .../otf-ipafont-mincho_00302-10_all.deb) ...<br /> > Selecting previously deselected package otf-ipafont.<br /> > Unpacking otf-ipafont (from .../otf-ipafont_00302-10_all.deb) ...<br /> > Setting up otf-ipafont-gothic (00302-10) ...<br /> > update-alternatives: using /usr/share/fonts/opentype/ipafont/ipag.ttf to provide /usr/share/fonts/truetype/ttf-japanese-gothic.ttf (ttf-japanese-gothic.ttf) in auto mode.<br /> > Setting up otf-ipafont-mincho (00302-10) ...<br /> > update-alternatives: using /usr/share/fonts/opentype/ipafont/ipam.ttf to provide /usr/share/fonts/truetype/ttf-japanese-mincho.ttf (ttf-japanese-mincho.ttf) in auto mode.<br /> > Setting up otf-ipafont (00302-10) ...<br /> > [master a7bc0e5] committing changes in /etc after apt run<br /> > Author: ubuntu <ubuntu@ip-172-31-27-207.localdomain><br /> > 2 files changed, 2 insertions(+), 0 deletions(-)<br /> > create mode 120000 alternatives/ttf-japanese-gothic.ttf<br /> > create mode 120000 alternatives/ttf-japanese-mincho.ttf<br /> ⇒もともと日本語フォントはあったぽい<br /> > /usr/share/fonts/opentype/ipafont/ipag.ttf ※ゴシック?<br /> > /usr/share/fonts/opentype/ipafont/ipagp.ttf ※ゴシックプロポーショナル?<br /> > /usr/share/fonts/opentype/ipafont/ipam.ttf ※明朝?<br /> > /usr/share/fonts/opentype/ipafont/ipamp.ttf ※明朝プロポーショナル?<br /> ⇒今回インストールされたのは、<br /> > /usr/share/fonts/truetype/ttf-japanese-gothic.ttf -> /etc/alternatives/ttf-japanese-gothic.ttf<br /> > /usr/share/fonts/truetype/ttf-japanese-mincho.ttf -> /etc/alternatives/ttf-japanese-mincho.ttf<br /> <br /> - zabbixのフォルダにリンクを貼る<br /> $ sudo ln -s /usr/share/fonts/truetype/ttf-japanese-gothic.ttf /usr/share/zabbix/fonts/<br /> <br /> - zabbixがグラフに使用するフォントを変更<br /> $ sudo nano /usr/share/zabbix/include/defines.inc.php<br /> (変更前) > define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans')<br /> (変更後) > define('ZBX_GRAPH_FONT_NAME', 'ipag');<br /> <br /> ⇒日本語が表示された!<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-1exH9Xv8EAc-tzIcqB37jHKdq6hJdOZJU-8DvW6dm3LLF3bLVxLIrn0MfeP89_lpUCP-7Epnlw0zckpDYMwTCXRVPMGuGqH32klIg3FtHHTH4hCKEOZh5RRiy3tGrn_cvu3VQ8hW3Lc/s1600/Setting-MyServer-Japanese-Font.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-1exH9Xv8EAc-tzIcqB37jHKdq6hJdOZJU-8DvW6dm3LLF3bLVxLIrn0MfeP89_lpUCP-7Epnlw0zckpDYMwTCXRVPMGuGqH32klIg3FtHHTH4hCKEOZh5RRiy3tGrn_cvu3VQ8hW3Lc/s320/Setting-MyServer-Japanese-Font.png" width="320" /></a></div>
<br />DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-11322888124477612532013-05-06T17:30:00.001+09:002013-06-08T22:19:10.498+09:00クラウド AWS EC2 環境構築
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=B00AEAZKW4" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4774142131" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4774150371" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>[Elastic IP]<br /> ・固定のグローバルIPアドレスを確保してくれるサービスであるElastic IPを使用する<br /> ※Elastic IPのサービスはインスタンスに紐付けている限り無料、逆に言えば、固定IP確保だけを行って紐付けしないと料金が発生<br /> <br /> ・左のタブの"Elastic IPs"をクリック、"Allocate New Address"をクリック、確認画面が出るので"Yes, Allocate"をクリックで確保される<br /> ⇒"54.249.106.XXX"<br /> "Associate Address"をクリック、稼働中のインスタンスを選択(i-6c6fb56e)、"Private IP Address"を選択して、<br /> "Allow Reassociation"にチェックを入れて、"Yes, Allocate"をクリック<br /> ⇒"ec2-54-249-106-115.ap-northeast-1.compute.amazonaws.com"<br /> ※"Associate Address"をクリックの手順はインスタンスの再起動ごとに必要になる操作であることに注意<br /><br />[root環境構築]<br /> ・rootユーザのパスワードを設定する<br /> $ sudo passwd<br /> > Enter new UNIX password:<br /> > Retype new UNIX password:<br /> > passwd: password updated successfully<br /> <br /> ・rootでログインする<br /> $ su -<br /> > Password:<br /><br />[WinSCP環境構築]<br /> ・ダウンロードした秘密鍵(XXX.pem)をPuTTY形式に変換する<br /> - スタートメニューからPuTTYgenを起動<br /> - Conversions → Import keyをクリックして、XXX.pemを開く<br /> - Key passphrase、Confirm passphraseにパスワードを入力<br /> - Save private keyをクリック<br /> <br /> ・rootユーザでログインできるようにする<br /> $ sudo less /etc/ssh/sshd_config<br /> > Subsystem sftp /usr/lib/openssh/sftp-server<br /> <br /> $ sudo visudo<br /> (変更前) > %admin ALL=(ALL) ALL<br /> (変更後) > %admin ALL=(ALL) NOPASSWD:ALL<br /> ⇒sudoでパスワードを聞かれないようにする(WinSCPのログインでsudoするとパスワードを聞かれるが入力できないため)<br /> <br /> (追加) > Defaults:%admin !requiretty<br /> ⇒ttyでログインしたユーザにsudoさせる設定<br /> <br /> WinSCPの設定<br /> - 環境→SFTP→SFTPサーバに"sudo /usr/lib/openssh/sftp-server"を設定<br /> ⇒root権限でログインできた<br /><br />[ubuntu上でパケットキャプチャ]<br /> ・Interfaceのリレーサーバのパケットを除外する<br /> # ping interface.silentsystem.jp<br /> > 54.248.35.221<br /> ※Temp :OID 1.3.6.1.4.1.37510.0.1、コミュニティ public54017、更新間隔 120秒<br /> ※Humidity:OID 1.3.6.1.4.1.37510.0.2、コミュニティ public54017、更新間隔 30秒<br /> <br /> ・tcpdumpでパケットをキャプチャする<br /> ※SNMPポート(161番)のみ:port 161<br /> ※名前解決をしない:-n<br /> ※Interfaceのリレーサーバを除外:not host 54.248.35.221<br /> # tcpdump -n port 161 and not host 54.248.35.221<br /> > 20:36:04.389879 IP 49.105.23.9.30161 > 172.31.27.207.161: SetRequest(49) .1.3.6.1.4.1.37510.0.1=249 .1.3.6.1.4.1.37510.0.0.0=1234<br /> > 0x0000: 4500 005c 238a 0000 6c11 1aa7 3169 1709 E..\#...l...1i..<br /> ⇒ 3169 1709はSRC IPアドレス<br /> > 0x0010: ac1f 1bcf 75d1 00a1 0048 334a 303e 0201 ....u....H3J0>..<br /> ⇒ ac1f 1bcfはDST IPアドレス、75d1はSRC PORT 00a1はDST PORT、0048はパケット長、334aはチェックサム、それ以降はデータ<br /> ⇒ 303e:データ列+長さ3E(62)<br /> 020100:SNMPバージョンV1 ※00は次行<br /> > 0x0020: 0004 0670 7562 6c69 63a3 3102 0201 0d02 ...public.1.....<br /> ⇒ 04 0670 7562 6c69 63:文字列+public<br /> a3 31:Set Request+長さ31(49)<br /> 02 0201 0d:連番+010d<br /> > 0x0030: 0100 0201 0030 2530 1006 0a2b 0601 0401 .....0%0...+....<br /> ⇒ 02 0100:エラーコード+00<br /> 0201 00:エラーインデックス+00<br /> 30 25:データ列+長さ25(37)<br /> 30 10:データ列+長さ10(16)<br /> 06 0a:OID+長さ0a(10)<br /> 2b 0601 0401 82a5 0600 01:1.3.6.1.4.1.37510.0.1<br /> > 0x0040: 82a5 0600 0102 0200 f930 1106 0b2b 0601 .........0...+..<br /> ⇒ 02 0200 f9:温度データ+00f9(249)<br /> 30 11:データ列+長さ11(17)<br /> 06 0b:OID+長さ0b(11)<br /> 2b 0601 0401 82a5 0600 0000:1.3.6.1.4.1.37510.0.0.0<br /> > 0x0050: 0401 82a5 0600 0000 0202 04d2 ............<br /> ⇒ 0202 04d2:デバイスID 04d2(1234)<br /><br />[ubuntu上でSNMPサーバのコンパイルから起動まで]<br /> ・スクリプトの内容:killserver<br /> # less killserver<br /> > #kill -9 `ps -fe|grep snmpserver|egrep -v grep|awk '{print $2}'`<br /> > pkill snmpserver<br /> ⇒pkillコマンド:指定したプロセスをkillする<br /> <br /> ・スクリプトの内容:serverstart<br /> # less serverstart<br /> > #!/bin/sh<br /> > /root/snmpserver $1 $2 $3 $4 $5 $6 &<br /> <br /> ・SNMPサーバプログラムのアップロード(コピペ)<br /> # cat > snmpserver_dk.c<br /> ⇒snmpserver.cの内容をコピーして貼り付け、完了したらCtrl+Dで終了(snmpserver_dk.cが生成される)<br /> <br /> ・SNMPサーバプログラムのコンパイル<br /> # gcc -o snmpserver_dk snmpserver_dk.c<br /> ⇒snmpserver_dkが生成される<br /> <br /> ・既存のSNMPサーバプログラムの停止<br /> # pkill snmpserver<br /> <br /> ・SNMPサーバプログラムの起動<br /> # snmpserver_dk &<br />DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-38861952985310308032013-05-05T18:54:00.004+09:002013-06-08T22:18:51.667+09:00クラウド AWS EC2 アカウント取得からサーバ起動まで1年間無料で使えるクラウドサーバのアカウント取得からサーバ起動までの手順を書きます。<br />
クラウドサーバにはAmazonのサービスを使います。<br />
<br />
まずは、Interface2013年2月号を参考に、Interfaceが準備してくれている仮想マシンイメージをコピーして、動作を確認してみます。<br />
<br />
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=B00AEAZKW4" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4774142131" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=muni0893-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4774150371" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
<br />
<br />札幌のどこかにセンシング装置を設置されているらしく、その装置から札幌の気温と湿度をInterfaceのリレーサーバに自動で送信しているそうです。<br />
<br />
今回稼動させたサーバには最初からZabbixが動作していて、そのZabbixからSNMPでInterfaceのリレーサーバにデータを取得しにいってます。下図はそのZabbixのキャプチャです。<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFgY9ki5ZhCOzWN7eMEOwuqQR4jumxcR8SqXjXX_WUyTqK0IVvOZ4Jg5Bud5fgA8zZCZHkeCg55zX4wo0LVa5tuwxsGcGQA12QqwNK8318AGoJqdKgbKIMbOfAdcUQ3otnz3LotvV8Y1U/s1600/Temp+&+Humidity+in+Sapporo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFgY9ki5ZhCOzWN7eMEOwuqQR4jumxcR8SqXjXX_WUyTqK0IVvOZ4Jg5Bud5fgA8zZCZHkeCg55zX4wo0LVa5tuwxsGcGQA12QqwNK8318AGoJqdKgbKIMbOfAdcUQ3otnz3LotvV8Y1U/s320/Temp+&+Humidity+in+Sapporo.png" width="320" /></a></div>
<br />
<br />
[用語]<br />
・AWS(Amazon Web Service):EC2を含む多くのサービスを統合したもの<br />
<br />
・EC2(Elastic Compute Cloud):Amazonが提供するクラウドサービス<br />
<br />
・Elastic IP:固定されたグローバルIPを確保してくれるサービス<br />
<br />
・Elastic:快活な、融通の利く<br />
<br />
・Dashboard:必要最低限の機能を整理して配置したもの<br />
<br />
・AMI(Amazon Machine Image):仮想マシンイメージ<br />
<br />
・AZ(Availability Zone):データセンター<br />
<br />
[無料の範囲]<br />
・AWSに新規サインアップした場合のみ<br />
<br />
・AWSにサインアップしてから12ヶ月無料<br />
<br />
・AWSの各サービスについてそれぞれ無料範囲が決められている<br />
<br />
・AWS EC2 Linuxの無料範囲:1ヶ月あたり750時間、750/24=31.25日、つまり常に無料<br />
⇒ただし1インスタンスにつき上記時間がかかるため、2インスタンスを稼動していると15日ちょっとしか無料にならない<br />
<br />
・AWS EC2 Microsoft Windows Serverの無料範囲:Linuxと同様、1ヶ月あたり750時間(つまり常に無料)<br />
<br />
※注意:停止しているインスタンスに対してElastic IP(グローバルIP)を割り当てると1時間につき$0.01(約1円)課金される<br />
<br />
※注意:IPアドレスの割り当てしなおしを月に100回を超えると$0.10(約10円)課金される<br />
<br />
[サインアップ(アカウント取得)]<br />
・日本のAmazonのアカウントがあっても新たにアカウント取得が必要(米国アカウントがあれば不要らしい)<br />
<br />
・メールアドレスを入力して、"I am a new user."を選択して、"Sign in using secure server"をクリック<br />
<br />
・"My name is"に名前を入力、<br />
"My e-mail address is"、"Type it again"にメールアドレスを入力、<br />
"Enter a new password"、"Type it again"にパスワードを入力、<br />
"Continue"をクリック<br />
<br />
・"氏名*"に名前を入力、"国*"にJapanを選択、<br />
"住所1*"に住所を入力、<br />
"市区町村*"に市を入力、"都道府県*"に県名を入力、<br />
"郵便番号"に郵便番号を入力、"電話番号*"に電話番号を入力<br />
"セキュリティチェック"に画像の英字を入力、"AWSカスタマー利用規約"にチェックを入れて、<br />
"アカウントを作成して続行"をクリック<br />
<br />
・クレジットカード情報を入力<br />
<br />
・電話による身元確認<br />
"国コード"に"Japan(+81)"を選択して、"確認用に自分に電話をする"をクリック<br />
電話がかかってくるので、"画面に表示された暗証番号4桁"を"電話機"に入力、<br />
"続ける"をクリック<br />
<br />
・完了:登録したメールアドレスにアカウント作成完了の通知が届く<br />
<br />
[接続、起動]<br />
・まずは、サービス一覧が表示されるAWSの設定画面(AWS Management Console)にいく<br />
"右上のアカウント/コンソール"をクリックして"AWS Management Console"をクリック<br />
<br />
・次にインスタンスの生成画面にいく<br />
"EC2 Dashboard"を選択して、右上にあるリージョンを"Tokyo"を選択して、<br />
"Launch Instance"をクリック<br />
"Classic Wizard"を選択して、"Continue"をクリック<br />
<br />
・Interface 2013年2月号のサンプルを使用してインスタンスを選択する<br />
"Community AMIs"を選択して、"Viewing"を"All Images"を選択して、"Interface"で検索、<br />
"ami-a6e058a7"の"Select"をクリック<br />
<br />
・インスタンスを生成する<br />
"Number of Instances"に"1"を入力し、"Instance Type"に"T1 Micro(t1.micro, 613MiB)"を選択し、<br />
"Subnet"に"No Preference (default subnet in any AZ)"(Tokyoには2つのアベイラビリティゾーンが存在、今回は非選択)を選択し、<br />
"Continue"をクリック<br />
※T1 Micro:CPUユニットはUp to 2 ECUs、コア数は1Core、メモリは613MiB<br />
<br />
・詳細設定はせずに"Continue"をクリック<br />
<br />
・ストレージの設定もせずに"Continue"をクリック<br />
<br />
・インスタンスに名前をつける<br />
"Key(Name)"に任意の名前(mai saba)を入力して、"Continue"をクリック<br />
<br />
・キーペアの作成<br />
InterfaceではSSHでアクセスしないのでキーペアを作成しないとあるが、念のためキーペアを生成<br />
キーに"InterfaceSample"を入力して、"Create & Download your Key Pair"をクリック<br />
<br />
・生成<br />
"Launch"をクリック、"Close"をクリック<br />
<br />
・生成したインスタンスを確認<br />
左のチェックボックスにチェック(選択)を入れると、下に選択したインスタンスの状態が表示される<br />
<br />
ec2-54-249-39-113.ap-northeast-1.compute.amazonaws.com → 変動するアドレス、固定は"ec2-54-249-106-XXX.ap-northeast-1.compute.amazonaws.com"<br />
<br />
・ファイアウォールの設定<br />
左のタブの"Security Groups"をクリックして、チェックボックスにチェック(選択)を入れる<br />
"Inbound"をクリック、"Create a new rule"で"HTTP"を選択して、"Add Rule"をクリック、"Apply Rule Changes"をクリック<br />
⇒"SSH"も追加<br />
<br />
[動作確認] <br />
・Apache2の接続確認<br />
"ec2-54-249-39-113.ap-northeast-1.compute.amazonaws.com"をブラウザに入力、"It works!"と表示されればApacheが動作してる<br />
<br />
・Zabbixの動作確認<br />
トップのURLの末尾に"/zabbix/"を付けてアクセスする、<br />
IDに"admin"、パスワードに"zabbix"でログインして、<br />
"監視データ"タブの"ダッシュボード"をクリック<br />
"Sample Data Server:Temp & Humidity in Sapporo"をクリックするとグラフが表示される<br />
※インスタンスを生成してから毎分で取得したデータのグラフとなるため、ある程度時間が経過してから見るとよい<br />
<br />
・SSHの動作確認<br />
TeraTermを起動して、ユーザ名に"ubuntu"、パスワードにキーの値を入力して、<br />
"RSA/DSA鍵を使う"にチェックを入れて、"秘密鍵"にダウンロードした"XXX.pem"ファイルを指定して"OK"をクリック<br />
⇒ログインできた<br />
<br />DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-38488741824018909572012-12-16T22:04:00.000+09:002012-12-16T23:37:36.798+09:00Raspberry Pi インターネット接続編(無線LAN or LANクロスケーブル)LANケーブル(クロス) と、無線LANアダプタ PLANEX:GW-USValue-EZ が届きました。<br />
<br />
下の写真のようにシンプルな構成で動作できました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0WSUDD6I48IUqoZbsUlZBkKHSxexApMKujxsgd9S6kfHjKjc7Gku6G_iBrCrGBeWhWjyd8cCill-i6OtNabItN4f-wIPP21_ezeR88vEAB5iXrjTKE_5B-USU6tzEIioh26H8opx0FFM/s1600/DSC_5934.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img bea="true" border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0WSUDD6I48IUqoZbsUlZBkKHSxexApMKujxsgd9S6kfHjKjc7Gku6G_iBrCrGBeWhWjyd8cCill-i6OtNabItN4f-wIPP21_ezeR88vEAB5iXrjTKE_5B-USU6tzEIioh26H8opx0FFM/s320/DSC_5934.jpg" width="180" /></a></div>
<div align="left" class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
いろいろ試行錯誤があったので、メモ。</div>
<div class="separator" style="clear: both; text-align: left;">
あと出来てないのは、</div>
<div class="separator" style="clear: both; text-align: left;">
スマホのテザリングを使って無線LANアダプタでインターネット接続。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
[LANクロスケーブル接続]</div>
・スマホのテザリングを使ってインターネット接続<br />
インターネット - スマホ(テザリング) - ノートPC(WinXP) - LANクロスケーブル - Raspberry Pi<br />
<br />
・固定IP設定<br />
$ sudo nano /etc/network/interfaces<br />
<br />
変更前<br />
> iface eth0 inet dhcp<br />
<br />
変更後<br />
> iface eth0 inet static<br />
> address 192.168.0.24<br />
> netmask 255.255.255.0<br />
> gateway 192.168.0.1<br />
> dns-nameservers 192.168.0.1<br />
<br />
・設定反映<br />
$ sudo /etc/init.d/networking reload<br />
⇒SSH接続OK<br />
<br />
・WinXP側の設定<br />
- "ネットワーク接続"でテザリングの"ワイヤレスネットワーク接続"のプロパティで"詳細設定"<br />
- インターネット接続の共有で"ローカルエリア接続"を選択<br />
- "ネットワーク接続"で"ローカルエリア接続"のIP設定を以下のようにする<br />
> Ethernet adapter ローカル エリア接続:<br />
> <br />
> Connection-specific DNS Suffix . :<br />
> Description . . . . . . . . . . . : Realtek RTL8139/810x Family Fast Ethernet NIC<br />
> Physical Address. . . . . . . . . : XX-XX-XX-XX-XX-XX<br />
> Dhcp Enabled. . . . . . . . . . . : No<br />
> IP Address. . . . . . . . . . . . : 192.168.0.1<br />
> Subnet Mask . . . . . . . . . . . : 255.255.255.0<br />
> Default Gateway . . . . . . . . . :<br />
<br />
・例としてetckeeperをインストールするまでの手順<br />
- SSHでRaspberryPiに接続<br />
- インストール<br />
$ sudo apt-get update<br />
$ sudo apt-get install etckeeper<br />
※最初からgitが有効になっていて初期コミットも行われた<br />
/etc/network/interfaces だけは変更済み、バックアップは ~/backup_etc/interfaces に置いてある<br />
<br />
[無線LAN]<br />
☆PLANEX:GW-USValue-EZ<br />
<br />
・家のルーターで無線LANインターネット接続<br />
インターネット - ルーター(WHR-AMG54) - 無線LANアダプタ(GW-USValue-EZ) - Raspberry Pi<br />
<br />
・ドライバがロードされているか確認する<br />
$ lsusb<br />
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
> Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.<br />
> Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.<br />
> Bus 001 Device 004: ID 2019:ed17 PLANEX GW-USValue-EZ 802.11n Wireless Adapter [Realtek RTL8188CUS]<br />
<br />
・ネットワークを確認<br />
$ ifconfig<br />
> eth0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX<br />
> UP BROADCAST MULTICAST MTU:1500 Metric:1<br />
> RX packets:0 errors:0 dropped:0 overruns:0 frame:0<br />
> TX packets:0 errors:0 dropped:0 overruns:0 carrier:0<br />
> collisions:0 txqueuelen:1000<br />
> RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)<br />
> <br />
> lo Link encap:Local Loopback<br />
> inet addr:127.0.0.1 Mask:255.0.0.0<br />
> UP LOOPBACK RUNNING MTU:16436 Metric:1<br />
> RX packets:0 errors:0 dropped:0 overruns:0 frame:0<br />
> TX packets:0 errors:0 dropped:0 overruns:0 carrier:0<br />
> collisions:0 txqueuelen:0<br />
> RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)<br />
> <br />
> wlan0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX<br />
> UP BROADCAST MULTICAST MTU:1500 Metric:1<br />
> RX packets:0 errors:0 dropped:0 overruns:0 frame:0<br />
> TX packets:0 errors:0 dropped:0 overruns:0 carrier:0<br />
> collisions:0 txqueuelen:1000<br />
> RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)<br />
<br />
・アクセスポイントを検索<br />
$ sudo iwlist wlan0 scanning<br />
⇒ESSID:"XXXXXXXXX"発見<br />
<br />
・普通に/etc/network/interfacesに設定を書く場合<br />
- エディタ起動<br />
$ sudo nano /etc/network/interfaces<br />
> allow-hotplug wlan0<br />
> auto wlan0<br />
> iface wlan0 inet dhcp<br />
> wpa-ssid "XXXXXXXX"<br />
> wpa-psk "XXXXXXXX"<br />
> dns-nameservers 192.168.0.1<br />
<br />
- インタフェース再起動<br />
$ sudo ifup wlan0<br />
<br />
- 確認(家のルータの場合)<br />
$ sudo ifconfig<br />
> wlan0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX<br />
> inet addr:192.168.0.17 Bcast:192.168.0.255 Mask:255.255.255.0<br />
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1<br />
> RX packets:183 errors:0 dropped:189 overruns:0 frame:0<br />
> TX packets:59 errors:0 dropped:0 overruns:0 carrier:0<br />
> collisions:0 txqueuelen:1000<br />
> RX bytes:27701 (27.0 KiB) TX bytes:7081 (6.9 KiB)<br />
⇒認識してインターネット接続もOK!<br />
SSH接続もOK!<br />
再起動して再SSH接続もOK!(やっとシリアル外せる。。)<br />
DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-17354333562605445632012-12-13T23:42:00.000+09:002012-12-16T22:04:38.326+09:00Raspberry Pi シリアル接続編いちいちHDMIで50インチテレビに繋ぐのも面倒なので、以下のものを注文。<br />
<br />
・LANケーブル(クロス)<br />
- ☆LOAS LTC-6FR01W カテゴリ6クロス(ホワイト) 1m (417円)<br />
<br />
・無線LANアダプタ<br />
- ☆PLANEX:GW-USValue-EZ (1,104円 11n/g/b対応、150Mbps)<br />
<br />
準備物合計額:13,985円 + 417円 + 1,104円 = 15,506円<br />
<br />
届くまでは、シリアルで接続しておきましょ。<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyYNmtlpdwWZRP_mb1iFDV9pCE4oS7VZFnwbuMeC19O-wreZaiidaWBUTcHTJiKj15-ptggKpTIBUx_PXhrye1req-illZzisT2_PuF8jPzzc_3eZNrefhl2NyWAy84Cm6ErDaoktkxU0/s1600/DSC_5932.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img bea="true" border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyYNmtlpdwWZRP_mb1iFDV9pCE4oS7VZFnwbuMeC19O-wreZaiidaWBUTcHTJiKj15-ptggKpTIBUx_PXhrye1req-illZzisT2_PuF8jPzzc_3eZNrefhl2NyWAy84Cm6ErDaoktkxU0/s320/DSC_5932.jpg" width="180" /></a></div>
<br />
TeraTerm (115200bps)で接続した状態で電源オン。<br />
<br />
ブートログが表示されたあと、ログイン待ちで、ID:pi、PASS:raspberry でログインOK。<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5NIpIRT8ozwNKPwjCfrvwcT8O0Ixyhkz4lRJVW7FDk2_fGRZS3ef6xiECl69S1CzB6s0D-mBw2_1vPvd0rB5c2qHm1jlSFKqm8kMwBtp5vc4ZZdAMMilEUA1cOPsjYE2rlm80Z9YNKEI/s1600/serial_boot.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img bea="true" border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5NIpIRT8ozwNKPwjCfrvwcT8O0Ixyhkz4lRJVW7FDk2_fGRZS3ef6xiECl69S1CzB6s0D-mBw2_1vPvd0rB5c2qHm1jlSFKqm8kMwBtp5vc4ZZdAMMilEUA1cOPsjYE2rlm80Z9YNKEI/s320/serial_boot.PNG" width="277" /></a></div>
<br />
普通に何でもできます。raspi-config もOK。<br />
<br />
しかし、ネットワークが無いと何もインストールできん。。<br />
<br />
ハブ出すのが面倒なので、無線LANアダプタ届くまではシリアルにしとこ。。<br />
<br />
冬はコタツから出られませんね。。<br />
<br />
Android インストールしたいなぁ。<br />
DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-23640670126426663572012-12-03T22:53:00.000+09:002012-12-04T01:09:25.793+09:00Android USB(ホスト)シリアル to SH-2A前回の<br />
AndroidのBluetooth → Bluetoothモジュール → UART → SH-2A → キャラクタLCD<br />
のBluetoothのところを、<br />
<br />
AndroidのUSBホスト機能を使ったUSBシリアルで、<br />
AndroidのUSB(ホスト)シリアル → USBシリアル変換モジュール(FTDI) → UART → SH-2A → キャラクタLCD<br />
もできました。<br />
<br />
◆家で使ってる無線マウスをUSBホストケーブルでスマホ(Android)に接続<br />
※スマホで写真を撮ってるのでスマホは外してます(当たり前)<br />
※MicroUSBの先にスマホを接続します<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNJtY8HdQqtC1Fp5WCFiOOUnfkCXRG0q4qnwUKSV-KMxlRrsq5UFChyphenhyphenkgq7RLZ3bxiOiwqIiRq3FKAkZT3_jINHEncy-lgj3EnKTx5JTJ6F2_6zN-Zhti3x9AIct0oTSIzDzEkVf1wceQ/s1600/DSC_5925.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNJtY8HdQqtC1Fp5WCFiOOUnfkCXRG0q4qnwUKSV-KMxlRrsq5UFChyphenhyphenkgq7RLZ3bxiOiwqIiRq3FKAkZT3_jINHEncy-lgj3EnKTx5JTJ6F2_6zN-Zhti3x9AIct0oTSIzDzEkVf1wceQ/s320/DSC_5925.jpg" tea="true" width="320" /></a></div>
<br />
<br />
<br />
◆スマホ(Android)のUSBホスト機能を使って、マウスが使えました<br />
⇒ スクロール機能も使えて、なかなか使える感じでした<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj493FaEHwYNt68EYz-4M1oDBOvw89sCx-HBuVd6rN7UVkloXhg71DHN59VWdqlh4EV7TvIbKbY8qsUlYldRIziCkMwJdMRhNwJzzskfRDyT5w0xvdE-OICQ5O7yORJCb_MrAHdDYTOASI/s1600/Screenshot_2012-12-03-22-45-24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj493FaEHwYNt68EYz-4M1oDBOvw89sCx-HBuVd6rN7UVkloXhg71DHN59VWdqlh4EV7TvIbKbY8qsUlYldRIziCkMwJdMRhNwJzzskfRDyT5w0xvdE-OICQ5O7yORJCb_MrAHdDYTOASI/s320/Screenshot_2012-12-03-22-45-24.png" tea="true" width="180" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
◆スマホ(Android)にUSBホストケーブル経由でUSBシリアル変換モジュールを接続したときのキャプチャです(アプリのManifestでUSB接続を許可する必要があります)</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7-1k4aZve-lX-4f9F4UbDZvDgu1D52EHEa5sJH_08F6aAuJiUqy0eVVVofCdg9UJA_ESNBcJP60_tNdvp0SWZhc64C9s2qTbNUmQKTBqzDaSiKxhSnjGDxFajEQ7FoVsEJK-OtT3_a4g/s1600/Screenshot_2012-12-04-00-18-02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7-1k4aZve-lX-4f9F4UbDZvDgu1D52EHEa5sJH_08F6aAuJiUqy0eVVVofCdg9UJA_ESNBcJP60_tNdvp0SWZhc64C9s2qTbNUmQKTBqzDaSiKxhSnjGDxFajEQ7FoVsEJK-OtT3_a4g/s320/Screenshot_2012-12-04-00-18-02.png" tea="true" width="180" /></a></div>
<br />
<br />
◆BluetoothChatアプリにUSB(ホスト)シリアルのRead/Write機能を追加してSH-2AにASCIIコードを送ったところ<br />
※こちらも同じくスマホで撮ってるのでスマホは外してます(当たり前)<br />
※MicroUSBの先にスマホを接続します<br />
<br /><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLgXuyXm5LI8lKYmzvcVIgLyom0weTlx3zyoJW5v3UrZl34hzluTWzTKnUrtlIURMs5oQSedwRTHmG4au-stDpvIT3fz1XT4aIoCuf9TXF4pM6JpEZs9ISMbjcyti4fUAxK4xI0QQWT4o/s1600/DSC_5927.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLgXuyXm5LI8lKYmzvcVIgLyom0weTlx3zyoJW5v3UrZl34hzluTWzTKnUrtlIURMs5oQSedwRTHmG4au-stDpvIT3fz1XT4aIoCuf9TXF4pM6JpEZs9ISMbjcyti4fUAxK4xI0QQWT4o/s320/DSC_5927.jpg" tea="true" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Androidアプリの作り方は、以下な感じです。</div>
<div class="separator" style="clear: both; text-align: left;">
BluetoothChatアプリにFTDriver(ライブラリ)をインポートしました。</div>
<div class="separator" style="clear: both; text-align: left;">
あとはFTDriverに付属のサンプルアプリの一部を切り貼りでBluetoothChatアプリにポーティング。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
かなり適当に実装しましたが、案外簡単に動きました。</div>
<div class="separator" style="clear: both; text-align: left;">
Androidのすごいところは、適当に実装しても、それなりに動いてしまうところですね。。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
では、動作確認も出来たことだし、まじめにJavaのクラス設計でもマタリしますか。。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-86814273287687965392012-12-03T00:00:00.000+09:002012-12-03T00:02:01.665+09:00Android Bluetooth to SH-2ASH-2AにBluetoothモジュールを接続(UART)して、<br />
受け取ったASCIIコードをキャラクタLCDに出力してみました。<br />
<br />
<br />
◆AndroidのBluetoothChat(サンプルアプリ)の改造版<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDEVjfviB07kB9N8bqO3lr1Z7HywIGGWRSDgutf0bz85pkQe4BkFvy9tppnFiVsXITUGF1oHIIurJO-N37711XxfmhMClp0rhBqg7QY3EioLOjtS0gilYTMWggHMCfw9-iW0g2TTe1Qnw/s1600/Screenshot_2012-12-02-23-41-59.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDEVjfviB07kB9N8bqO3lr1Z7HywIGGWRSDgutf0bz85pkQe4BkFvy9tppnFiVsXITUGF1oHIIurJO-N37711XxfmhMClp0rhBqg7QY3EioLOjtS0gilYTMWggHMCfw9-iW0g2TTe1Qnw/s320/Screenshot_2012-12-02-23-41-59.png" tea="true" width="180" /></a></div>
<br />
<br />
◆受け取ったSH-2A、Bluetoothモジュール、キャラクタLCD<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0tANw8dMRdHUq-JHA1iWC3mycoGz6F_2ieeKcYhNnfaa2YAB90CUCQQFhNRWEViB2OrofLZMf6q8vVqWCQgxft8SYLQM7MZxXPoSBCEvrSkUIH9TaWqmw3Mrbs0v4sbHRKjkGKKlWWh8/s1600/DSC_5924.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0tANw8dMRdHUq-JHA1iWC3mycoGz6F_2ieeKcYhNnfaa2YAB90CUCQQFhNRWEViB2OrofLZMf6q8vVqWCQgxft8SYLQM7MZxXPoSBCEvrSkUIH9TaWqmw3Mrbs0v4sbHRKjkGKKlWWh8/s320/DSC_5924.jpg" tea="true" width="320" /></a></div>
<br />
<br />
キャラクタLCDは、RX62Nでは8bitモードで使ってたんだけど、<br />
今回、半田付けが面倒ということで、4bitモードにしてみました。<br />
初期化あたりが少し違ってて、意外と手間取りました。。<br />
<br />
Android BluetoothChatアプリから文字列を打ってSendボタンを打つと、<br />
Bluetooth経由でSH-2AのUARTで受信して、それを1行ずつキャラクタLCDに表示しているだけです。<br />
<br />
これで、スマホからBluetooth経由でコマンド打てば、マイコンを操作できます。<br />
<br />
本当はスマホで文字列打ってるところと、キャラクタLCDに表示されるところを動画に撮ろうと<br />
思ったんだけど、スマホ使ってるから撮れず。。。(当たり前)<br />
DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-90473048942902598172012-11-28T00:47:00.000+09:002012-12-01T23:51:37.159+09:00Android Bluetooth テストスマホ(Android)からBluetooth経由でマイコンを制御したくなり、<br />
Bluetoothモジュールを購入しました。<br />
<br />
USBシリアル変換のようなお手軽な値段のものは少なくて、<br />
モチベーションが下がりつつあると、、、格安モジュールがヒットしました!<br />
<br />
<a href="http://szparts.com/" target="_blank">SzParts.com</a> SBT1-T-S 1950円(送料350円)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwi8_tqnBdmTR6Y3BpcotmmpE4rE2CEv_eW3BQ1kqoPmohHzsLyX8JEEhKTuU3b6uWOecPkT9wYC19ahPNhyphenhyphen55P377LSb-lrcVNTAEC4hieGk4wT91xSf6NTS5EKgi2ofEQ3ybLKt2-bw/s1600/Bluetooth_SBT1-T-S.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwi8_tqnBdmTR6Y3BpcotmmpE4rE2CEv_eW3BQ1kqoPmohHzsLyX8JEEhKTuU3b6uWOecPkT9wYC19ahPNhyphenhyphen55P377LSb-lrcVNTAEC4hieGk4wT91xSf6NTS5EKgi2ofEQ3ybLKt2-bw/s320/Bluetooth_SBT1-T-S.jpg" tea="true" width="240" /></a></div>
<br />
早速、USBシリアル変換モジュールをかまして、PCと接続。<br />
仮想COMポートとして認識させて、スマホ(Android)からスキャンデバイス!<br />
<br />
検出できました~。<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-6XUxwT3OkJXv5aM9WubT2kG21v1oGCt9IZodvD4JNBJEmSipByHfIhHFRdu-eQrh2PAfaNNXAix_BOJhIOZp2qp4YbTJPcvsU5qAyqE37jiMz7BqRtdAxMTp38M3Jak89V2pYPpwiJs/s1600/Screenshot_2012-11-27-23-07-44.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-6XUxwT3OkJXv5aM9WubT2kG21v1oGCt9IZodvD4JNBJEmSipByHfIhHFRdu-eQrh2PAfaNNXAix_BOJhIOZp2qp4YbTJPcvsU5qAyqE37jiMz7BqRtdAxMTp38M3Jak89V2pYPpwiJs/s320/Screenshot_2012-11-27-23-07-44.png" tea="true" width="180" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizAC1i5KFfp5daXjgNj7S0VkxJvi0QvyNlWXxtFGnRtfbjjwh1hvI7-m4UAX2Lt-EytqzaHCe7tZCdbEBYh2WcG4fKIWzbdzfddIc44Tz3fSVQq2l64hI7cWEduNlQZyejfz9ds_Q9QJ0/s1600/Screenshot_2012-12-01-16-05-11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizAC1i5KFfp5daXjgNj7S0VkxJvi0QvyNlWXxtFGnRtfbjjwh1hvI7-m4UAX2Lt-EytqzaHCe7tZCdbEBYh2WcG4fKIWzbdzfddIc44Tz3fSVQq2l64hI7cWEduNlQZyejfz9ds_Q9QJ0/s320/Screenshot_2012-12-01-16-05-11.png" tea="true" width="180" /></a></div>
<br /><br />
次はスマホとTeraTermと通信テスト。<br />
<br />
検出できたデバイス(BTCOM-SPPB)を選択すると、<br />
パスワードを求められるので、初期パスワードを入力。<br />
接続OK!<br />
<br />
BTCOM-SPPBはスレーブですが、SPPの定義ではサーバとなるみたい。<br />
通電すると、他デバイスから検出可能な状態で待機していて、<br />
マスター(SPPではクライイアント)から接続されると通信可能状態になるらしい。<br />
定義が逆の感じでややこしい。。<br />
というわけで、スマホから入力した文字がPCにBluetoothで転送できました!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvA-qIp-ZsCXsbww_enF0BS8qcfA3rWPzelEkkEghcy80belFdJ-5k5qkSgQG3STErWrgDA5W0S9YC3z3TvBIfGx9PIdTzMi8lc1GOyOSxbtywI3r_U7soC0kButZhzzbniE6exnA_IW8/s1600/TeraTerm.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvA-qIp-ZsCXsbww_enF0BS8qcfA3rWPzelEkkEghcy80belFdJ-5k5qkSgQG3STErWrgDA5W0S9YC3z3TvBIfGx9PIdTzMi8lc1GOyOSxbtywI3r_U7soC0kButZhzzbniE6exnA_IW8/s320/TeraTerm.PNG" tea="true" width="320" /></a></div>
<br />
さて、接続して文字の転送をしたLogCatのログを追いかけよう。。<br />
<br />
◆UUIDをSPPに変更前(接続失敗)<br />
<br />
<span style="font-family: "Courier New", Courier, monospace;"><span style="font-size: xx-small;">E/BluetoothChat(676): - ON PAUSE - // DeviceList画面に遷移<br />D/DeviceListActivity(676): doDiscovery() // デバイススキャン(サーバが存在するかをサーチ)<br />D/BluetoothChat(676): onActivityResult -1 // Main画面に戻る(引数にMACアドレス)<br />D/BluetoothChatService(676): connect to: XX:XX:XX:XX:XX:XX // BluetoothChatService#connect()呼び出し、ConnectThreadスレッド起動<br />D/BluetoothChatService(676): setState() 0 -> 2 // STATE_CONNECTINGに遷移<br />E/BluetoothChat(676): + ON RESUME + // Main画面に戻るとON RESUME<br />I/BluetoothChatService(676): BEGIN mConnectThread SocketType:Secure // ConnectThreadスレッド開始<br />I/BluetoothChat(676): MESSAGE_STATE_CHANGE: 2 // ActionBarにConnectingを表示<br />D/BluetoothChatService(676): start // おそらく、connectionFailed()が実行されている<br />D/BluetoothChatService(676): setState() 2 -> 1 // STATE_LISTENに遷移<br />I/BluetoothChat(676): MESSAGE_STATE_CHANGE: 1 // ActionBarにNotConnectedを表示<br />D/BluetoothChatService(676): Socket Type: SecureBEGIN mAcceptThreadThread[Thread-9961,5,main] // AcceptThreadスレッド(Secure)起動<br />D/BluetoothChatService(676): Socket Type: InsecureBEGIN mAcceptThreadThread[Thread-9962,5,main] // AcceptThreadスレッド(Insecure)起動<br />E/BluetoothChat(676): - ON PAUSE - // DeviceList画面に遷移(以降、繰り返し)</span></span><br />
<br />
<br />
◆UUIDをSPPに変更後(接続成功)<br />
<br />
<span style="font-family: "Courier New", Courier, monospace; font-size: xx-small;">E/BluetoothChat(3823): - ON PAUSE - // DeviceList画面に遷移<br />D/DeviceListActivity(3823): doDiscovery() // デバイススキャン(サーバが存在するかをサーチ)<br />D/BluetoothChat(3823): onActivityResult -1 // Main画面に戻る(引数にMACアドレス)<br />D/BluetoothChatService(3823): connect to: XX:XX:XX:XX:XX:XX // BluetoothChatService#connect()呼び出し、ConnectThreadスレッド起動<br />D/BluetoothChatService(3823): setState() 0 -> 2 // STATE_CONNECTINGに遷移<br />I/BluetoothChatService(3823): BEGIN mConnectThread SocketType:Secure // ConnectThreadスレッド開始<br />E/BluetoothChat(3823): + ON RESUME + // Main画面に戻るとON RESUME<br />I/BluetoothChat(3823): MESSAGE_STATE_CHANGE: 2 // ActionBarにConnectingを表示<br />E/BluetoothChat(3823): - ON PAUSE - // パスワード入力画面表示?<br />E/BluetoothChat(3823): + ON RESUME + // Main画面に戻るとON RESUME<br />D/BluetoothChatService(3823): connected, Socket Type:Secure // 接続成功<br />D/BluetoothChatService(3823): create ConnectedThread: Secure // ConnectedThreadスレッド起動<br />I/BluetoothChatService(3823): BEGIN mConnectedThread // ConnectedThreadスレッド開始、readブロックコール<br />D/BluetoothChatService(3823): setState() 2 -> 3 // STATE_CONNECTEDに遷移<br />I/BluetoothChat(3823): MESSAGE_STATE_CHANGE: 3 // ActionBarにConnectedとDevice名を表示、チャットクリア<br /> // (以降、READ/WRITEでチャット可能) </span><br />
<br />
<br />
ふぅ。。サンプルのBluetoothChatの動きは把握できたかな。。寝よ。。<br />
<br />DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-19469339210872700982012-11-24T00:17:00.001+09:002012-11-24T00:17:38.593+09:00Raspberry Pi 到着編2012/11/21 到着!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjpJKN0FxcuimzaQ1tsiwUbanwFZDGPCE1RTrj-CEe2ZaZVQJ79D1s72XyShX9NrSuDHnbhnUdh216J_yrkUB6g621aglYJCFS2LjOiOzpY6sMQKLin0Jm4FkmD_AFdZ8pUR5Og7ufmno/s1600/DSC_5913.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" rea="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjpJKN0FxcuimzaQ1tsiwUbanwFZDGPCE1RTrj-CEe2ZaZVQJ79D1s72XyShX9NrSuDHnbhnUdh216J_yrkUB6g621aglYJCFS2LjOiOzpY6sMQKLin0Jm4FkmD_AFdZ8pUR5Og7ufmno/s320/DSC_5913.jpg" width="320" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3rup5GQKozRfZDam-HF6t7uWFC50tNW8eX306mX7pZMZcuy50QHeQhr2RZiGLW6bK3uONI3qr83AHDf0f-PFhrJVJW6mIj_DSucKIGQ-bLKs_LBFfGjY4ejJhI9V0U76fu_ZNtWSi1P0/s1600/DSC_5916.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" rea="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3rup5GQKozRfZDam-HF6t7uWFC50tNW8eX306mX7pZMZcuy50QHeQhr2RZiGLW6bK3uONI3qr83AHDf0f-PFhrJVJW6mIj_DSucKIGQ-bLKs_LBFfGjY4ejJhI9V0U76fu_ZNtWSi1P0/s320/DSC_5916.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl-oSCFxF5roBaRQx4eh6FhGlwekC3MtX9lZqDZAwUmTwlK5R25z4oEa6sVZNlPOS5XIy0c798nqURhWCrb487Q-xwN-7-A1Uvi2pS6WN8wpAOKPcsKxfPfmShEiS3sFw-7ADTx_EGIPo/s1600/DSC_5919.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" rea="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl-oSCFxF5roBaRQx4eh6FhGlwekC3MtX9lZqDZAwUmTwlK5R25z4oEa6sVZNlPOS5XIy0c798nqURhWCrb487Q-xwN-7-A1Uvi2pS6WN8wpAOKPcsKxfPfmShEiS3sFw-7ADTx_EGIPo/s320/DSC_5919.jpg" width="320" /></a></div>
<br />
3週間ぐらい、かかりました。<br />
<br />
とりあえず、2012-10-28-wheezy-raspbian.zip をmicroSDカードに、<br />
Win32DiskImager.exe を使って焼きこみ、Raspbian 起動しました!<br />
<br />
pIO という microSDカードアダプタ も購入したので、出っ張りなくスッキリ。<br />
あと、スマホ用モバイル電源で無事動作しました。<br />
これでモバイルで遊べます。<br />
<br />
ほとんど順調でしたが、一点、reboot した後、bluetoothキーボードが<br />
認識しないようです。。<br />
<br />
お家の50インチプラズマテレビVIERAしかHDMIがないのですが、<br />
イチイチ接続するのが面倒なので、ほとんどはSSH経由の使い方になりそうです。<br />
<br />
オーバークロックの設定を忘れてました。。あったかな?<br />
DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-54479193198850556652012-10-31T00:18:00.000+09:002012-10-31T00:31:06.696+09:00Raspberry Pi 準備編[購入]<br />
・RSオンライン:届くまでに時間かかるらしい<br />
・ModMyPi:ケース付きだがすぐに届くらしい<br />
<br />
[準備物]<br />
・Raspberry Pi本体<br />
- 2012/10/27(土):ModMyPiにて、4,677円(34.98ポンド)<br />
⇒キャンセル<br />
- 2012/10/29(月)<br />
・Raspberry Pi and ModMyPi Case (512MB RAM):29.99ポンド<br />
※Case Top Colour:White、Case Bottom Colour:White<br />
・pIO - Raspberry Pi microSD Card Adaptor:6.24ポンド<br />
・送料:4.99ポンド<br />
☆合計:41.22ポンド(5,503円)<br />
<br />
・ACアダプタ:MicroUSB(スマホ用で代替可能?)、最大出力700mA推奨<br />
- スマホ用単三電池4本用アダプタにエネループを入れて動作した報告あり<br />
- スマホ用モバイル電源<br />
(Panasonic USBモバイル電源パック リチウムイオン 5,400mAh 黒 QE-QL201-K)<br />
で7.5時間動作報告あり<br />
☆Panasonic 無接点対応USBモバイル電源 QE-PL202(3,487円)<br />
<br />
・SDカード(Webで確認済みのもの):16GB(Class10)<br />
☆microSDHCカード 8GB Class10 TS8GUSDC10 Transcend アダプタ無し(680円)<br />
☆microSDHCカード 8GB Class10 TS8GUSDHC10 Transcend アダプタ付き(780円)<br />
<br />
・USBキーボード&マウス:一体型を検討中<br />
- ELECOM:トラックボール付きワイヤレスキーボード<br />
2.4GHz ブラック TK-FDP021BK(3,436円)<br />
⇒単4x2、Fnキーでチルト機能あり<br />
(フリーソフト WheelBell で、速度調整と左右スクロールが可能)<br />
☆LOGICOOL ワイヤレスタッチキーボード unifying対応 K400(2,945円)<br />
⇒単3x2<br />
(LOGICOOLのほうが押しにくそうだが壊れにくそう、あと単3)<br />
<br />
・USBメモリ<br />
☆8GB USB2.0 JetFlash530 TS8GJF530 Transcend(590円)<br />
<br />
準備物合計額:13,985円<br />
<br />
[スペック(Model B)]<br />
・プロセッサ:Broadcom BCM2835<br />
(ARM11(ARM1176JZF-S)/700MHzコア、FPU、GPU搭載)<br />
・グラフィック:OpenGL ES 2.0、OpenVG 1080p30 H.264エンコーダ/デコーダ<br />
・メモリ:256MB → 512MB(rev2)<br />
・ストレージ:SDカード<br />
・映像出力:HDMI(最大1920x1200)、コンポジットビデオ(RCA)<br />
・オーディオ出力:HDMI、3.5mmステレオ<br />
・USB×2<br />
・Ethernet(RJ45):10/100BaseTイーサネット<br />
・大きさ:86×54mm<br />
・消費電力:3.5W<br />
・OS:Debian、Fedora、Arch Linux<br />
<br />
※Model Bは35ドル版と呼ばれ、Model AはRJ45省略、USB1ポートのみで25ドルの予定<br />
※OSはDebianベースでRaspberry Pi用に最適化されたwheezyがリリースされている<br />
<br />
[最初の起動]<br />
・公式サイトからOSイメージをダウンロード<br />
- <a href="http://www.raspberrypi.org/downloads">http://www.raspberrypi.org/downloads</a><br />
- SHA-1値を求める<br />
$ shasum XXX<br />
<br />
・イメージ書込みツール<br />
- 公式サイトより:Win32DiskImager<br />
<br />
[オーバークロック]<br />
・簡単に1GHzにクロックアップできるらしい(2012-09-18-wheezy-raspbian以降)<br />
<br />
・Raspi-configでオーバークロックを選択した場合にでも、<br />
Shiftキーを押しながら起動すると低クロックで起動するDKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-73558019260004761752012-09-09T16:18:00.000+09:002012-09-16T16:18:37.684+09:00ジョギング 12回目(2012/09/09)5.8kmぐらい、徒歩込みで、7.5km。一部万博。<br />
<br />
<br />
<br />
<br />
<br />DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-35217887139613962012-09-02T16:15:00.000+09:002012-09-16T16:16:11.004+09:00ジョギング 11回目(2012/09/02)万博前の上り坂はシンドイなぁ。。<br />
7.5kmぐらい。徒歩込みで、9.7km。<br />
<br />DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-6450819489992539152012-08-26T22:00:00.000+09:002012-08-29T00:35:28.710+09:00ジョギング 10回目(2012/08/26)南茨木のほうへグルッと。<br />
DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-22962694835023715952012-08-18T16:32:00.000+09:002012-08-18T16:32:03.564+09:00ZigBee SH-2A XBee APIモードSH-2AからUARTでXBeeをAPIモードでコントロールする。<br />
<br />
UARTなので、電源、GND、TxD(toDIN)、RxD(toDOUT)の4本で接続。<br />
<br />
X-CTUで予めAPIモードに設定しておく。<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_gB6YiQO7MF6nSixNQlSkqRIXoNlz0RAusrGhAuDJqoCZLigT0zx2DG4Ry2RePAaqHPZV8gHSZ863xrfxH6FbJIAFhmYHdziYiuuY4CRB7PL0uKMorasKBiM2OinpW0MwPsAqwz-7IYU/s1600/DSC_0362.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" mda="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_gB6YiQO7MF6nSixNQlSkqRIXoNlz0RAusrGhAuDJqoCZLigT0zx2DG4Ry2RePAaqHPZV8gHSZ863xrfxH6FbJIAFhmYHdziYiuuY4CRB7PL0uKMorasKBiM2OinpW0MwPsAqwz-7IYU/s320/DSC_0362.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9ohUd7xW1Jrq-O_imnqd_wcm8itXOu3GqDiH99lBD6Yr3CwgDcSaL5gl_rqzUUKwpr3b3W50HbQ6V3snknr-WL0vtZHV7wsxiFCuoGW4gaKiyO0drV52Tib5WRmSYjj6P427tT1I-E6U/s1600/20120814.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" mda="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9ohUd7xW1Jrq-O_imnqd_wcm8itXOu3GqDiH99lBD6Yr3CwgDcSaL5gl_rqzUUKwpr3b3W50HbQ6V3snknr-WL0vtZHV7wsxiFCuoGW4gaKiyO0drV52Tib5WRmSYjj6P427tT1I-E6U/s320/20120814.PNG" width="179" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /> </div>
<div class="separator" style="clear: both; text-align: left;">
-----------------------------------------------------------------------<br />2012/08/18</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
APIモードで、以下のようなことが可能。</div>
<ul>
<li><div class="separator" style="clear: both; text-align: left;">
シリアル(UART)で接続しているXBee(以下、ローカルXBeeとする)の情報(64bitアドレス、16bitアドレス、ポート情報など)を取得、情報の変更、設定の書込みができる</div>
</li>
<li><div class="separator" style="clear: both; text-align: left;">
シリアルで接続しているXBeeと同じネットワーク(同じPAN ID)に参加している他のXBee(以下、リモートXBeeとする)のローカルXBeeと同じ情報を取得、情報の変更、設定の書込みができる</div>
</li>
<li><div class="separator" style="clear: both; text-align: left;">
リモートXBeeのポート(デジタル入力、デジタル出力、アナログ入力)を制御できる</div>
</li>
<li><div class="separator" style="clear: both; text-align: left;">
ローカルXBeeと同じネットワークに参加している他のリモートXBeeの情報が取得できるが、リモートXBeeの位置情報(親の16bitアドレス取得可能、16bitアドレスから位置情報を抽出できる?)も取得可能?</div>
</li>
<li><div class="separator" style="clear: both; text-align: left;">
データ(バイナリ?)の送受信が可能</div>
</li>
</ul>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
以下、まだよく分かってないところ</div>
<ul>
<li><div class="separator" style="clear: both; text-align: left;">
APIモードで、"WR"や"FR"など非同期で時間のかかるAPIの終了を知るにはどうしたらいいか?</div>
</li>
<li><div class="separator" style="clear: both; text-align: left;">
APIモードで、"FR"は長い時間待っても、モデムステータスが返ってくる、仕様?</div>
</li>
</ul>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-32063549172526525402012-08-15T23:29:00.000+09:002012-08-20T00:02:55.590+09:00ジョギング 9回目(2012/08/15)家から万博+万博一周完走!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOxYSN-uk3vXVZEMQn_zNFliZ0N0wyvnVlimGin1XDzLoxFMCmLHgdBqQS96TjKXv-lPVCtXTEq_xYAxwW-kOX-RO3avLFV1VJjvNzZfmSLsUGTXSzLOKyKlTl92JeOZNm-ME2MzBscsU/s1600/screenshot_20120815.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" mda="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOxYSN-uk3vXVZEMQn_zNFliZ0N0wyvnVlimGin1XDzLoxFMCmLHgdBqQS96TjKXv-lPVCtXTEq_xYAxwW-kOX-RO3avLFV1VJjvNzZfmSLsUGTXSzLOKyKlTl92JeOZNm-ME2MzBscsU/s320/screenshot_20120815.png" width="179" /></a></div>
DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-83977130336230218492012-08-05T23:05:00.000+09:002012-08-08T00:19:03.077+09:00ジョギング 8回目(2012/08/05)今日は違う道から万博に向かった。<br />
<br />
歩き始めたところの活動量計は、37分、4.7km<br />
GoogleMapでは通れないところを通ったので計測不可。。。<br />
大回りで6.0km、ズレは21.7%、14%のズレとすると、5.5km。DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-25945551461176637412012-07-29T23:00:00.000+09:002012-08-08T00:18:52.676+09:00ジョギング 7回目(2012/07/29)今日はヒサビサに万博一周コースに行ってきました。<br />
万博までが遠い。。<br />
<br />
歩き始めたところで活動量計を見ると、30分、4.2km<br />
Googleマップで見ると、4.9km、ズレは14.3%<br />
前回のズレも13.5%なので、ダイタイ一定してるかな。。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYOIHFzBAsIIKCK8QUJi7L_Mo2CnoJpMTSlbzCLiKlLvAmcL2rRljgVS2-6WTZ4fLT6USLxwLCvfzcoerukfa89F290lIfK6JRfBfKyq7G2Ndn5MVqjuTE3fTexu-nhxQ7yWYm_bwYrRk/s1600/DSC_20120729.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" eda="true" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYOIHFzBAsIIKCK8QUJi7L_Mo2CnoJpMTSlbzCLiKlLvAmcL2rRljgVS2-6WTZ4fLT6USLxwLCvfzcoerukfa89F290lIfK6JRfBfKyq7G2Ndn5MVqjuTE3fTexu-nhxQ7yWYm_bwYrRk/s320/DSC_20120729.JPG" width="320" /></a></div>DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-61132067128781355602012-07-27T01:53:00.000+09:002012-07-27T01:53:05.483+09:00ZigBee 再立上げ<div>
かなり放置してたXBeeですが、良い本を入手したので、再立上げ</div>
<div>
</div>
<ul>
<li>超お手軽無線モジュールXBee (2100円) <a href="http://shop.cqpub.co.jp/hanbai/books/MTR/MTRZ201203.html" target="_blank">CQ出版WebShop</a></li>
</ul>
まず、起動確認。<br />
<br />
シリアルの設定忘れた。。いろいろやって、結局9600bps<br />
<br />
とりあえず、メモ<br />
<br />
2台あるうちのこいつはSerial Numberの下2桁がEA<br />
以前のキャプチャ画像を見ると、もう1つの下2桁はFA<br />
<br />
<br />
<br />
◆ユニバーサル基板のXBee(XB1とする)<br />
<ul>
<li>タイプ:XBP24BZ7</li>
<li>firmware version:288C</li>
<li>ユニバーサル基板</li>
<li>Serial Number:13A200406F4BEA</li>
<li>シリアルのボーレート:9600bps</li>
<li>ZIGBEE END DEVICE AT</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8ZmiNwN0JyvlJtA3OFKZnEnw6UcQ5_LUL8axS8v2ldYaOSlkrNXSSbnXEcB3LKXX6dtfhqUWzvFRVjOoe1k9QWDjPVjA_t14ulss4RLtX9UK9CtuyExn2BQ5SBwjjCN0Ldgfgje0Zw8A/s1600/com_test_Uban.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="168" sda="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8ZmiNwN0JyvlJtA3OFKZnEnw6UcQ5_LUL8axS8v2ldYaOSlkrNXSSbnXEcB3LKXX6dtfhqUWzvFRVjOoe1k9QWDjPVjA_t14ulss4RLtX9UK9CtuyExn2BQ5SBwjjCN0Ldgfgje0Zw8A/s320/com_test_Uban.PNG" width="320" /></a></div>
<br />
<br />
<div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; text-align: center;">
(XB1のModem Configuration)</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAxB0yZXmkO7Kv9HfzgdUHYhCHzAVVO-v4OZeMjCeQhrTdqV_Pvy6N8UBM4wotf_5IhxFhkO8TqLCGXeAFO7tSdSbfRSQj5iDnabCiL-CZPnShKL4AWqrwEfJO6vXRD5KWrRywTv6xEwk/s1600/XB1_config.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" sda="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAxB0yZXmkO7Kv9HfzgdUHYhCHzAVVO-v4OZeMjCeQhrTdqV_Pvy6N8UBM4wotf_5IhxFhkO8TqLCGXeAFO7tSdSbfRSQj5iDnabCiL-CZPnShKL4AWqrwEfJO6vXRD5KWrRywTv6xEwk/s320/XB1_config.PNG" width="245" /></a></div>
<div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;">
<div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;">
</div>
<div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;">
PAN IDを0から7に変更した。Modem Configurationでは、変更した属性は青字になるらしい。</div>
<div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;">
緑と黒は???</div>
<br /></div>
<br />
<br />
<br />
◆ブレッドボードのXBee(XB2とする)<br />
<ul>
<li>タイプ:XBP24BZ7(同じ)</li>
<li>firmware version:208C</li>
<li>ブレッドボード</li>
<li>Seral Number:13A200406F4BFA</li>
<li>シリアルのボーレート:9600bps</li>
<li>設定:ZIGBEE COORDINATOR AT</li>
</ul>
<br />
<div style="text-align: center;">
(以前)</div>
<div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd5hd6eL3cE3KLnCHQ5rdXK5GsKV3kBQlMZtkzLINzSDyZhsJIHCPu6Sm0_GUnGGWxh9rsFjXUg0m3B2hCt-gUbR-LME5hqqPrpXEPxCpFMWdOkhN71Do4KmN5u4enGaL3Ip8YmDLdrus/s1600/Com_test_br.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="168" sda="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd5hd6eL3cE3KLnCHQ5rdXK5GsKV3kBQlMZtkzLINzSDyZhsJIHCPu6Sm0_GUnGGWxh9rsFjXUg0m3B2hCt-gUbR-LME5hqqPrpXEPxCpFMWdOkhN71Do4KmN5u4enGaL3Ip8YmDLdrus/s320/Com_test_br.PNG" width="320" /></a></div>
<div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; text-align: center;">
<div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;">
(今回 ※バージョン下がった?)</div>
</div>
<div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOGf_XsWtPrcVvRehWaot-TOT0GBdbIp4tCBEhYYgIemyRhHX1KkN-09j4UDCRQ6H5DbLEqNb42LZfMuOKLXYq2otHoC5eIMWmh8zvhT3G2OGLjXSYbT5D4xwOleTuOJz8tgdPyw3eP64/s1600/XB2_com_test.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="168" sda="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOGf_XsWtPrcVvRehWaot-TOT0GBdbIp4tCBEhYYgIemyRhHX1KkN-09j4UDCRQ6H5DbLEqNb42LZfMuOKLXYq2otHoC5eIMWmh8zvhT3G2OGLjXSYbT5D4xwOleTuOJz8tgdPyw3eP64/s320/XB2_com_test.PNG" width="320" /></a></div>
<div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;">
<br /></div>
<div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;">
(XB2のModem Configuration)</div>
<div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdN9Vm0xUNSDAP4aoAsIcxKF_KX0G0GuY3797EJQg5QlFylmrIJ6Em8-u_Hy1hnsqUiuMGGX5cLHRFHvcHP_X4tmxijnaHZQBLAeYfupfTWhAASJA5kcf7r8rdxSXpc0TB0n8qXCoUYw0/s1600/XB2_config.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" sda="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdN9Vm0xUNSDAP4aoAsIcxKF_KX0G0GuY3797EJQg5QlFylmrIJ6Em8-u_Hy1hnsqUiuMGGX5cLHRFHvcHP_X4tmxijnaHZQBLAeYfupfTWhAASJA5kcf7r8rdxSXpc0TB0n8qXCoUYw0/s320/XB2_config.PNG" width="245" /></a></div>
<br /></div>
<div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;">
<br /></div>
<div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;">
今日はココまで。。。</div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
-----------------------------------------------------------------------<br />2012/07/26<br />
<br />
今日は Associated Indicator として、赤いLEDを接続しました。<br />
<br />
・COODINATORの場合、1秒間隔で点滅<br />・ROOTERの場合、0.5秒間隔で点滅<br />
<br />
らしいです。<br />
確かに1秒間隔っぽかったです。<br />
<br />
回路図アップ<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuCkUa2kYGeeq6ejiwpgesI0jQ4hQrqUGiIlv94w6d1FndiZQs-oIdFiW7zeKTtsGPxTlmwvFNQVoXLkD1nFNknCFxgWhHsm_qzGZzpVXy59J_uleRvB60yONwSzTQqPwN8EtKX_KdAgo/s1600/XBee.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" sda="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuCkUa2kYGeeq6ejiwpgesI0jQ4hQrqUGiIlv94w6d1FndiZQs-oIdFiW7zeKTtsGPxTlmwvFNQVoXLkD1nFNknCFxgWhHsm_qzGZzpVXy59J_uleRvB60yONwSzTQqPwN8EtKX_KdAgo/s320/XBee.PNG" width="320" /></a></div>
<br />
<br />DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-57133923169953799172012-07-17T00:01:00.000+09:002012-07-17T00:01:57.484+09:00RX62N/SH-2A RS232C通信PCと通信(RS232C)したい。うちのPCにはシリアル(RS232C)が付いてないので、以下の部品を使用した。<br />
<br />
<ul>
<li>FT232RL USBシリアル変換モジュール (950円) <a href="http://akizukidenshi.com/catalog/default.aspx" target="_blank">秋月電子通商</a></li>
<li>USBケーブル(Aオス-ミニBオス)[1.5m](A-miniB) (150円) <a href="http://akizukidenshi.com/catalog/default.aspx" target="_blank">秋月電子通商</a></li>
</ul>
USBシリアル変換モジュールのジャンパ設定が分かりにくかったので、メモ。<br />
<ul>
<li>J1:1-2間ショートすると3.3V、2-3間をショートすると5V</li>
<li>J2:ショートするとUSBバスから電源供給、オープンだと外部から電源供給</li>
</ul>
RX62Nは3.3Vであり、外部(RX62Nとか)から電源供給してもいいけど、接続しているUSBバスから供給が楽チン。というわけで、J1は1-2間ショート、J2はショートの設定。<br />
<br />
とりあえず、9600bpsの設定で動作確認。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dxqc68x9637BaHwxYX-tV6nIIdQzJ_Zig1dijcPd4cxzNp9Qi0MoU1SAjfrhVK_S9FX8Jq5qscnMd2Altu72A' class='b-hbp-video b-uploaded' frameborder='0'></iframe><br />
<br />
送信は確認できました。受信はデバッガのレジスタに値がセットされているのが確認できました。<br />
<br />
簡単そうに書いてるけど、実は意外に時間かかりました。RX62Nのシリアルの設定で、シリアル受信許可とシリアル送信許可のレジスタビットがあるんだけど、片方ずつセットすると後にセットしたほうが反映されない。ハードウェアマニュアルを見ると、注:とかって小さく書いてる。。。分かりにくい。。<br />
<br />
動画が見えにくかったので再アップ。<br />
<br />
回路図(というほどのものではない)を作ってみたのでアップ。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3WLOaOfg_2yGofUheqsdFnUOJeU0vAuoHnD5K9gxcxGvBZ19ZBesmqXJSlfIxrMvPORzkpyW-PuQyqtsb6YBla-Xu33Ag6yt7q1xtU-pIb2uqBGRV85XVzc17VoFrd1cvVh-ZmzUpmzw/s1600/USB_SERIAL.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3WLOaOfg_2yGofUheqsdFnUOJeU0vAuoHnD5K9gxcxGvBZ19ZBesmqXJSlfIxrMvPORzkpyW-PuQyqtsb6YBla-Xu33Ag6yt7q1xtU-pIb2uqBGRV85XVzc17VoFrd1cvVh-ZmzUpmzw/s320/USB_SERIAL.PNG" width="320" /></a></div>
<br />
-----------------------------------------------------------------------<br />
転送レートを、<br />
<ul>
<li>9600bps</li>
<li>19200bps</li>
<li>38400bps</li>
<li>57600bps</li>
<li>115200bps</li>
<li>230400bps</li>
<li>460800bps</li>
<li>921600bps</li>
</ul>
と、順番にあげてみました。<br />
すると、460800bps、921600bpsで文字化けするようになりました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaCQxDNwUb28pLMihgDLwSpZ903NRxJoh5d_w673ar1JG-eJepFAwuoRrikAqfRIzq9iAU416I4muDO7Clkns_C1Lb9KJR5v_Lw7-pb8zVUvGiTUfT8_DuWqtDLf5ycYeNsZ8LpfCKWoM/s1600/serial_460800.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaCQxDNwUb28pLMihgDLwSpZ903NRxJoh5d_w673ar1JG-eJepFAwuoRrikAqfRIzq9iAU416I4muDO7Clkns_C1Lb9KJR5v_Lw7-pb8zVUvGiTUfT8_DuWqtDLf5ycYeNsZ8LpfCKWoM/s320/serial_460800.PNG" width="251" /></a></div>
<br />
FT232RLのマニュアルには300kbps~460kbpsとあったので、まぁ妥当かな。<br />
230400bps(230kbps)を使うようにしたいと思います。<br />
<br />
-----------------------------------------------------------------------<br />
2012/1/2<br />
前々からターミナルの文字に色が付けれたらと思ってました。<br />
Linuxで使うときは色が付けれるのだから、可能なはず、と思い、ググッてみると、ありました!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpuKstE6Nq12hFqVyp8lp4gpRR1hoolukXA1QVraJUul6IzeSBGsaS688m_vIiVmTHci3N4pYw_fw5y6FohyGyfw5LHwF4qUtJGRr67DnpHYgJZgCBs7yUolC4vgtelpi3qReDa6kEVK4/s1600/escape.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpuKstE6Nq12hFqVyp8lp4gpRR1hoolukXA1QVraJUul6IzeSBGsaS688m_vIiVmTHci3N4pYw_fw5y6FohyGyfw5LHwF4qUtJGRr67DnpHYgJZgCBs7yUolC4vgtelpi3qReDa6kEVK4/s320/escape.PNG" width="244" /></a></div>
<br />
(1) エラーの場合は赤い背景色に白文字にしました。<br />
(2) 時間計測の結果は青い背景色に白文字にしました。<br />
<br />
ちなみに、画像のエラーはSDカードがVer2.00に対応してないため、CMD8でillegal commandが返ってくるので、問題があるわけではありません。また、時間計測については、初期化が59msだったことを示します。<br />
<br />
さて、やり方ですが、<br />
VT100仕様のエスケープシーケンスを文字列の先頭に加えるだけです。<br />
(1)の場合は、"\x1b[44m\x1b[37m"を先頭に加えます。<br />
(2)の場合は、"\x1b[41m\x1b[37m"を先頭に加えます。<br />
それぞれ、デフォルトに戻すときは(改行の手前とかに)"\x1b[0m"を入れておきます。<br />
<br />
詳しいエスケープシーケンスについてはググると出ます。<br />
参考にさせてもらったサイト:<a href="http://www35.atwiki.jp/futoyama/m/pages/98.html?guid=on" target="_blank">http://www35.atwiki.jp/futoyama/m/pages/98.html?guid=on</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
-----------------------------------------------------------------------<br />
2012/7/15<br />
<br />
460800bpsで文字化けしてた件ですが、FTDI社のFT232Rや、FT232Hはボーレート変換を変更できるようです。<br />
Windowsでは921600bpsが最高のボーレート設定ですが、そもそも、その設定(名)に対して自由にボーレートを割り当てることができます。<br />
FTDI社提供のWindowsのドライバの中に、ftdiport.infというファイルがあり、その内容を改変することで、速いボーレートを設定することができるようになります。<br />
そもそも、460800bpsで文字化けしていたのは460800bpsという設定と、マイコンのボーレートが合わないためでした。<br />
とりあえず、1500000bps(1.5Mbps)、3000000bps(3Mbps)が設定として簡単なので、やってみました。<br />
見事、1.5Mbpsでのシリアル通信に成功しました。USBのデバッグでフルでログ出力しても遅くなりません!<br />
詳しくはFTDI社のHPでAN232B-05_BaudRates.pdfというファイルがダウンロードできるので、それを参照。。DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com1tag:blogger.com,1999:blog-1524960573254319639.post-84252522544448711882012-07-16T23:24:00.000+09:002012-07-16T23:25:18.236+09:00SH-2A LANLANしたくなったので、モジュールを載せました。<br />
<br />
<ul>
<li>ユニバーサルLANモジュールキット AX88796搭載(LF-A1-K) 2940円</li>
<li>スペーサー 50円ぐらい x2</li>
<li>ソケット 2列x7、2列x13 それぞれ50円ぐらい</li>
</ul>
外部バスの半田付けはまた来週。。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb1Rtr-iIsA09l1hCNK33X4B8dwIKw7CHjn6KoWIgj1r9wH3r-qDv0_pSlDrapLU0RXnLb4B2ZlhrHfWVv_hezuiT43572XPZtBn6QixoSliMK6t5uZc1TKs3jqvnMQONVrO1H0SB2Om0/s1600/DSC_0354.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img $ca="true" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb1Rtr-iIsA09l1hCNK33X4B8dwIKw7CHjn6KoWIgj1r9wH3r-qDv0_pSlDrapLU0RXnLb4B2ZlhrHfWVv_hezuiT43572XPZtBn6QixoSliMK6t5uZc1TKs3jqvnMQONVrO1H0SB2Om0/s320/DSC_0354.JPG" width="320" /></a></div>DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-47437728188704158912012-07-15T23:08:00.001+09:002012-07-17T00:03:31.579+09:00ジョギング 6回目(2012/07/15)今日はイズミヤに向かって走りました。<br />
<a href="http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CFYQFjAA&url=http%3A%2F%2Fwww.lesucrecoeur.com%2Fhome.htm&ei=R84CUO3cNsnimAWiqfnrCQ&usg=AFQjCNE-7KGn97C2sN1H5Z8MQ3Y0DeJzeQ&sig2=7Bjy_mLZ5eNLj61TOneG8A"><span style="color: black;">Le Sucre-Coeur ル・シュクレ・クール</span></a> 前まで行って、戻ってきました。<br />
30分超えて走り続けるのは大変やなぁ。。。<br />
<br />
歩き始めたところで見ると、32分、4.5km<br />
Googleマップでルート検索すると、5.2km<br />
結構ズレがあるなぁ。しかし、Googleマップはすごいなぁ。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJGxCQBhszIaAgTi3bhYDZ6U4PJs-ctK5-BHbuVQl3-_SCyVWDBblKrwCQA2iX7hiK1NvlM7dD6-eiVdvWMQnB24EI0cf1qH9NXrrff-2pV5eM4n_VjHG87O8Syeg7L-ChC1NC6HyEmmU/s1600/DSC_20120715.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img $ca="true" border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJGxCQBhszIaAgTi3bhYDZ6U4PJs-ctK5-BHbuVQl3-_SCyVWDBblKrwCQA2iX7hiK1NvlM7dD6-eiVdvWMQnB24EI0cf1qH9NXrrff-2pV5eM4n_VjHG87O8Syeg7L-ChC1NC6HyEmmU/s320/DSC_20120715.JPG" width="320" /></a></div>DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0tag:blogger.com,1999:blog-1524960573254319639.post-89840454249824801352012-07-11T01:01:00.001+09:002012-07-17T00:01:13.392+09:00ジョギング まとめグラフ作成<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBpINcObPk9EMDnp9CwZG5gL883cnp7Uyof71QyRAyx4S87dtlZUy-hMomue9ul_rUIUjbomW63_WI16dYVF1h5D8Ht_FF3dcRROBIqiXmZe7sHJc88Y3uo_tbNeE7CJB-jU4gCynrTdQ/s1600/20120710.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img $ca="true" border="0" height="205" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBpINcObPk9EMDnp9CwZG5gL883cnp7Uyof71QyRAyx4S87dtlZUy-hMomue9ul_rUIUjbomW63_WI16dYVF1h5D8Ht_FF3dcRROBIqiXmZe7sHJc88Y3uo_tbNeE7CJB-jU4gCynrTdQ/s320/20120710.PNG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
続き。</div>DKhttp://www.blogger.com/profile/17495588609499449294noreply@blogger.com0