TOP  >  なーお'nぶろぐ  >  デバイス

日記一覧

当サイトに登録されている日記一覧
35件のうち11 - 20件目を表示しています。


[投稿日   ] [タイトル   ] [アクセス数   ]
9月
10 (土)
カテゴリー  日記・雑談
タグ  Android デバイス 携帯

 2年前の11月末にワイモバイルのGIGNO-T(302KC)に乗り換えて、その後家族2人も巻き込み、三人で端末代コミで月11千円程度で運用してきた。
 
 防水や耐衝撃性能が優秀で、タフな使い方をしてこれたのは良かったのだけど、メモリ容量が少なく、動作ももっさり感を感じるようになってきたので、次はいよいよsimフリー端末でMVNOに移行する段取りを整えてます。

 まずは次男に、人気急上昇の Motorola Moto G4 Plus SIMフリー を購入したのだけど、納期が1か月かかり入荷待ち。

 私はそんなにハイスペック要らないので、そこそこの全般性能と軽さを求めて、ZTE Blade V6 simフリー を購入。 イートレンドで純正透明カバーと液晶保護フィルムサービス付きで、¥17,430円。

  • 主な仕様
    • 画面:4.5インチ 960×540(HD)→ 5インチ 1280×720ドット(HD)
    • 外形寸法:約 66X132X11.2mm → 約69.5X142X6.8mm
    • 重量:139→122g
    • 電池容量:2,000mAh(電池パック)→2,200mAh(本体と一体型)
    • microSD:最大32Gb(microSDHC)→最大32Gb(microSDHC)
    • CPU:MSM8926 1.2GHz(クアッドコア)→ MT6735 1.3GHz(クアッドコア)
    • OS:Android 4.4.3→Android 5.0.2

 何といっても、5インチ液晶で重さ220gは軽い。防水では無いので要注意。 12月にMNPでBiglobeシムに乗り換える際に、端末保証サービスに入るつもり。

 ワイモバイルのsimも問題なく認識し通話もOK。動作はもっさり感は少し減ったけれど、サクサクともいえず、まあこんなものかな。 写真の画像は、あまり鮮明ではないし地味な色調、しかしKC302はひどかったので、それよりは遥かにマシになった。

 しばらくこれで使ってみて、どうしても気に入らないことがあれば別の端末に移行し、本機は故障時用のスタンバイ機にするかもだけど、きっとこのまま使い続ける気がする。

続きを読む |  閲覧(3536)
8月
28 (日)

5月の日記で、緑基板のDACの出力部分の改造をして、満足のゆく音が得られていました。

ただ、Raspberry Piでオーディオしま専科 グループの改造作者の方は、黄色基板の改造で実施しています。

実は、黄色基板も2枚ほど買ってあって、在庫していました。 1枚1,000円ほどですんで、これでよい音が出ればすばらしいです。

改造前は、緑基盤の時と同様にざらついた感じでしたが、改造後は滑らかさが出ていい感じです。 緑基盤との比較では、高域が少し押しが強く、低域は伸びを抑えてキレが良い方向です。

好みは分かれるところだと思いますが、現段階ではこの黄色基盤のほうが音がフレッシュで良いですね。 1個千円程度で買えるので、改造費がその半分くらい上乗せでかかりますが、それでもコスパは最高。

なお、Raspberry Piでオーディオしま専科 グループの後藤さんの改造個所に倣っていますが、コンデンサメーカーが違ったり、タイプが違ったり、容量が少し違ったり、一部取り付け位置がわからず付けていないものがあったりしています。 完全にコピーすればきっともっと良い音になると思うのですが、これ以上良い音になってもスピーカーがボトルネックで違いがわからないと思います。
なお、出力RCAジャック手前の抵抗は560Ω、ポリエステルフィルムコンデンサは2700pFです。
1曲、ソフィーミルマンの曲を録音してみました。
https://www.youtube.com/watch?v=1C5nk9GqbYg
また中途半端な状態ですが、私はこの時点ですでに満足しています。 ありがとうございます!

オリジナルの投稿
https://www.facebook.com/groups/rasp.audio/permalink/481413312052018/

続きを読む |  閲覧(5709)
5月
28 (土)

 先日電源を更新して飛躍的に音が良くなった、うちのRasPiオーディオ。 今度は、DACの出力用キャパシタ(コンデンサ)の変更を試みました。

 今回も作者の方の改造例を参考に、だけど8千円のDAC基盤のパターンカットは後戻りできないので踏み切らず、キャパシタ交換のみ実施してみました。  何しろ、このコメントで大事なヒントを沢山いただいていて、これはもうやる気満々になっちゃいますね。
 キャパシタだけの変更では、音が荒れる方向に変わるだけでグレードアップ方向ではない、とのことですので、パターンカット、150Ω抵抗の追加もやってみました。(注記:150Ωは最適値ではないようです。作者の方は560Ωを使用中とのことです。私は手持ちがありませんので、しばらくは150Ωで使います)

(追記)2016/6/4 作者の方の最終稿は、更に560Ωに9.1kΩを並列接続に変更されています。現時点ではこちら

 今日は別ブログに書きましたが、荒川で小松菜マラソンハーフを走ったあと、少し足を伸ばして秋葉原の千石電商にてパーツを調達。

 もともと、イーディオさんから購入した状態では、4700PFの黄色いポリエステルフィルムコンデンサは取り付けられておらず、どうぞご自由にお好みに交換ください状態。 でももうはんだ付けした後だったので、例によってはんだ吸い取り線で一旦外します。 念のため外した状態で音を出してみると、、 右側から音が出ない!

 この間の抵抗値を図ってみたらL側20数kΩに対してR側は0Ω・・ がちょーん、はんだごてを長時間当てすぎたか。。?
 気を取り直して、何度かはんだごてを当てているうちに復活。。 ふう、我ながら手元の不器用さにはいやになるなあ。

抵抗追加無しバージョン

 多少の音の劣化は覚悟のうえで、リード線をはんだ付けして、適当に容量を想定して仮に線をよじってつなげてみた。 以下の使用数はLR両CH分です。 片側で 2 x 2200 + 470 = 合計 4870PF

種類容量単価使用数
ポリエステルフィルムコンデンサ2200PF104
ディップマイカコンデンサ470PF3002
t_00b2ae38c2ad3bb606cfff6adeb38f4624.jpg
DACのキャパシタ変更テスト

 高域のなんとなく薄っぺらい感じがなくなって、立ち上がりが速く、厚みの感じる音になった。 高域のしっかり高音質で録音されたディスクで聞くとよくわかります。 例えば、蟲音・続 など音像の存在感がすごくよくなりました。 中域~低域も少し変わった気がするけど、このスピーカーと部屋では限界を超えているのでわかりづらい。

 電源変更だけの状態では、拙作Tornadefly+は良くてもクリアミントで聞くと中域~高域のクオリティがちょっと今一つだったのに、この変更できっちり良い音で鳴るようになりました。 不思議なもんです。

抵抗追加バージョン

 その後、パターンカット+150Ω抵抗を追加したので、その際のコンデンサ容量も追記します。 片側で 2200 + 470 + 47 = 合計 2717PF

種類容量単価使用数
音響用被膜抵抗150Ω302
ポリエステルフィルムコンデンサ2200PF102
ディップマイカコンデンサ470PF3002
ディップマイカコンデンサ47PF2202
t_027a0a72a832deebe8e693092d8466cbe7.jpg
DACのキャパシタ変更テスト、パターンカット+抵抗追加+キャパシタ容量変更版

 抵抗追加・容量変更で、高域の厚みは引っ込み、その分細かい音が出るようになった。 繊細で、高域も奥側に広がる感じがする。 低域も量感が増したような気がする。

 この違いは、アナログの変化ですねえ。アナログ回路のコンデンサを変えたんだから当たり前なんだけど。 けれども、単にアナログ的な変化ではないような気もするんで、作者の方のコメントにもあったように、ES9023は独特なんだなあきっと。理屈はともかく、やってみないとわからない世界ですねこれは。 そして思うに、改造順序としては電源変更を先にやって、ピントが合った状態にしてからDACをいじらないと、順序が逆ではバランスが崩れたり効果がわからなかったりしそうです。

今までの音の変化

 さて、どれだけ良い音になったのか、完全にPC+X-DDC+DC-61の音を超えて上級機を飛び越えて高級機の領域に踏み込んでいる気がするので、そろそろ自分の中でプラシーボ込みでの点数をつけてみようと思います。

点数
普通のノートPC + X-DDC + DC-6110
RasPi3+イーディオDACノーマル5
同、電源変更9
同、キャパシタ変更12
同、抵抗追加+キャパシタ容量変更13+

 こんな感じかな。 高域だけなら、15点付けても良いくらいなんだけど。 :-D  そろそろスピーカーとアンプ(Marantz PM-14SA-ver2) の音で決まっている感じになってきたので、これ以上の煮ツメはこの環境ではほぼ困難です。
 抵抗追加+キャパシタ容量変更では、まだキャパシタ容量の詳細の煮ツメができていません。 抵抗追加無しよりは明らかに良くなっているのですが、どの程度良くなっているのかの評価がとても難しいですし、煮ツメはも困難な状況です。リード線もよじってあるだけなので、時間とともにすぐに劣化してくるんで、音の判断も狂ってきてしまいます。

 パターンカットして抵抗を追加するテストをするために、作者の方も使われている黄色基盤DACをポチりました。 6月上旬に入荷予定です。 千円程度なので、パターンカットで抵抗追加して好みの音が出なくてもダメージ少ないですからね。 ;-)
 とはいえ結局、現行の緑基盤でもパターンカットしました。 テスト状態でリード線を出しているので、そこをショートすれば抵抗値的にはもとに戻ります。(笑)

t_03d8d4e299bff74ec9d8e3bf4584a423d1.jpg
しろたんもご機嫌? RasPiオーディオ
続きを読む |  閲覧(5761)
5月
22 (日)

ここでRasPi Audio(ラズパイ・オーディオ)を話題にするのは初ですね。

RasPi Audio つまり シングルボードコンピュータ、「RaspberryPi 」を使ったオーディオの話題です。

3年ほど前から巷で話題に上ることが増え、「音が良い」と評判になっていたのですが、トライする時間もないし静観しておりました。

そろそろかなあ、と考えていたところに、
FacebookのRaspberry Piでオーディオしま専科グループにワタヤンさんに招待いただき、今年のゴールデンウイークは割と時間が取れそうだし、Raspberry Pi 3も発売されたところだし、注文しました。

RaspberryPi本体

 RaspberryPi 3 Model B (RS版): RaspberryPiには、いくつかのモデルと製造元がありますが、最新の「3 Model B」、英国製「RS Components」を選択。 一つ問題があって、RaspberryPi 3に正式対応するOSがまだなこと。 Vollumio、MoOde Audio ともリリース候補版が出ていてほぼ動作しますし、もう少しで正式リリースに至るはず。

DACボード

 イーディオさんの販売する、1ppm-50Mhz-TCXO搭載 ES9023 DACボード。
 RasPiオーディオのFBグループで使用者が多そうなのと、1ppmクロックに惹かれて選択。最初はこうしたドーターボードタイプが、接続配線など何も考えなくて動作するのでお勧めです。もちろん、後から分岐して配線で電源分離して動作させることも可能。
 購入はこちらから、メールで。

電源

 市販のAnker製2.4A出力x2ポートタイプをとりあえず購入。 でもこの電源では本来の高音質を発揮できていなかったことを、今日、後述の改造電源にトライして認識しました。

OS

 ラズパイ・オーディオは、皆さんLinuxベースのオーディオチューンされた専用OSをインストールして使います。
 メジャーなところで、Vollumio, MoOde Audio Player, Rune Audioなどがあります。
 私は、RasPi 3対応OSへのバージョンアップが頻繁な、MoOde Audio Player を選択しました。

インストール

 1日くらいハマリましたが、できてしまえば何てことありません。 私がインストールした時点で MoOde Audio 2.6 TR2が最新でいたので(今日現在はTR4)、ダウンロードしたiso イメージをDD for windows でmicroSDカードに焼き、セットして立ち上げます。 LAN環境に、DHCPサーバーを立ち上げておくことをお勧めします。

接続と設定

  • TWSNMPマネージャ
     RasPiにはHDMI出力があり、モニタを繋いでおけばきちんと立ち上がったかどうかわかります。 この辺の説明は割愛。
     LANケーブルを繋いでおけば、DHCPサーバーから割り振られたIPアドレスで接続されますので、TWSNMPマネジャフリー版 をインストールして、「管理ツール/自動発見」を使って、IPアドレスを調べます。
     パソコンやスマホのブラウザから、調べたRasPiのアドレスに接続すると、ブラウザコントローラに繋がります。
    t_01b4c924a7304fbc105efebf6d11459c0b.jpg
    スマホでWEB画面操作
  • system
    • General
       タイムゾーンの設定など
    • Services
       ここが肝の設定です。
      I2S audio device : HiFiBerry DAC
      HiFiBerry DACはES9023ではないのですが、これを選択することでリンクします。
  • configure/Sources
     ネットワーク上においてあるWAVファイルなどの楽曲データを再生する場合、ここでNAS Sourceの設定をします。(但し最初の動作確認だけなら、USBメモリに楽曲を入れて「USB and SDCARD Sources」のほうで指定したほうが早いです)
     私は、自宅サーバーに「SMB/CIFS」を立ち上げていまして、いつものWindowsPCからもそこの楽曲を再生していますので、同じように設定しました。 接続先が見つからなかったりすると、リストに赤の「×」印が出るんでわかりやすいですね。
  • configure/MPD
     楽曲データのデコードなどを行うサーバープログラム、MPDの設定です。
    Audio output: I2S audio device
     これが選択できなかったり、できても音が出なかったりする場合、I2S audio deviceの設定を確認。
     主な設定は以上であとは参考サイトを探せば出てくるでしょう。
t_00d7fd6591754b8ea40151e02da0a8faa4.jpg
RasPi3 + 1ppm TCXO クロック内蔵 ES9023 DACドーターボード

格安改造電源の投入

 RasPiオーディオのFBグループで、ミニトランスを内蔵したDAISOの200円USB-ACアダプタを改造し、安定化回路を付加した電源を使用することでノイズが改善されて音質が向上する、とのことで、表面実装の抵抗を変更する必要があってハードルは高いのですが、思い切ってやってみました。
 いつものお約束ですが、改造は自己責任で!

主な購入資材

 正直にいうと、よくわからず買っているものもあります。chip コンデンサ → 積層セラミックコンデンサ への変更がどうなのかちと心配。 まあ問題なく動いているので良いのですが性能はわかりません。

名称型式個数単価:円(税抜)
USB-ACアダプタ(ダイソー)T3621+予備200
被膜抵抗2.2kΩ-1/4W15
基盤160
レギュレータTI7805S270
電解コンデンサ470μF 16V250
積層セラミックコンデンサ1μF 25V230
積層セラミックコンデンサ0.1μF 50V230

T362の改造

t_0277b14d08905af0e684c511a5471b1354.jpg
DAISO 200円USB-ACアダプタ T362 失敗を想定し、予備も含めていくつか買っておく
  • ケース開け
     まずはケースを開けないと話になりませんが、これがまた硬いのなんのって、ほぼ流血寸前でした。 皮手袋でもして作業をお勧めします。 コツといえるかどうかわかりませんが、USBポートの上側のスキマに精密マイナスドライバを突っ込んでグリッとやって左側をまず外すことから、順に手前を回って右のほうに開いてゆき、最後に残ったプラグ側は抜けないので2枚貝のように開いてからニッパで内側から切り離す、そんな感じです。
    t_035c39e542249b6ea262db5940a4b06c06.jpg
    DAISO 200円USB-ACアダプタ T362の内部
    t_04987c07b873bf7fd68024c1fdf010803b.jpg
    (裏面)
  • USBポートの取り外し
     はんだごてと、ハンダ吸い取り線は必須です。 ハンダ吸い取り線は、ネットでも買えますし、100円ショプでもあったような気がします。
  • R7 チップ抵抗の取り外し
     作者の方は、チップ抵抗をパラで付けたようですが、50過ぎの老眼で慣れないチップ抵抗のはんだ付けはほぼ不可能なので、R7は迷わずハンダを吸い取り飛ばして、配線で上面に引いて普通に被膜抵抗を付けました。
  • R7 取り付け!
     リード線には、柔らかい銅撚り線を使わないと、硬い線では折角はんだ付けしてもすぐに振動などで取れてしまい、私はT362を3個オシャカにしました(ランドが剥がれてしまった)。4個目でようやく成功。 でも時々取れてしまってははんだのやり直しの連続。 次回はチップ抵抗にチャレンジしたくなってきました。
     なお、抵抗値を2.2kΩに変更することで、T362の出力電圧は6.9Vになりました。 少し低いですが、5Vを安定的に出すにはとりあえず必要十分、でしょうか?
    t_089370043640382bb6b28b520896982d3c.jpg
    R7を飛ばした後に、リードをはんだ付けしたところ。R8と接触してるように見えます? 気のせいですよきっと。
    t_0532e583fd12827568c8f03db1bd67425a.jpg
    柔らかい銅撚り線で上面に引き出し、2.2kΩの抵抗を接続

(追記)
 その後、チップ抵抗のはんだ付けにトライ、新しいT362のR7を交換しました。 新たに購入したルーペを使って、はんだごて温度設定300°でやってみたところ、無事に付いたところです。ルーペ無しでは、8回やって成功はたった1回でした。 道具は重要です。

TipResistor.jpg

安定化回路の作成

 参考回路図を見て、作ります。 以上。 :hammer:

t_062f47b6a5a0c3481313ca3c666c68ac71.jpg
R7が2.2kΩで、TI7805SレギュレータのVinは6.9V
t_073ea03b768c42292749b35a19fa00aada.jpg
出力電圧Voutは5.0V

音出し

 まずは電源改善前の音の印象。 実は当初、アンプへの接続RCAピンケーブルを、「audio-technica GOLD LINK」という少し安いやつで聞いていたのですが、まずこれが良くなかった。「audio-technica ART LINK 」に変えたところ多少良くなったみたい。 でもメインのPC~X-DDC~DC-61の音とは比べるまでもなく、霧がかかったような、フォーカスのぼやけた音でした。

 そして今日の作業で作った格安改造電源に変更しました。

 音出し当初からもうびっくり、こんなに音が変わるもの? 同じRasPi,同じDACなのに。 フォーカスもDC-61に肉薄、細やかさでは上回る印象。 ベールが2枚ほど取れた印象で、この状態でも中級CDプレーヤーなら軽くカモれーるかも。
 その後、2回路とも完成してRasPi3も2回路目分岐回路から供給。 総容量1AのUSB-ACアダプタですが、ちゃんと動きますね。(CDフォーマットのFLACでリサンプル無し再生の場合で確認する限り)そして益々、音が良くなりました。少なくとも、中高域の細やかな表現では、X-DDC+DC-61を軽く超えてしまっています。

 作者の皆さま、FaceBookのRaspberry Piでオーディオしま専科グループの皆さまに感謝申し上げます。 m(._.)m

 今度、DACの出力段のコンデンサの変更にもトライしてみます。高級機を超えるか!? ワクワク・・

コメントあり 2  |  続きを読む |  閲覧(11080)
2月
14 (日)
カテゴリー  オーディオ
タグ  デバイス イヤホン

5年ほど使っていたソニーのMDR-EX510SL、そんなに高音質ではなかったものの、普通の音が出ていたので愛用していました。

そうこうしているうちに、転職して車通勤メインになり、出張も少なく、ポータブルオーディオを聴く機会は激減。。 尚更、音の良いイヤホンに更新しようという意欲も無くなりました。

しかし最近、マラソンの練習の時にお気に入りの松岡直也を聴きながら走ると、大変調子が良いので、イヤホンの更新を考えることに。。

色々物色しているうちに、XiaoMi Piston とやらの音質が良いとの評判を目にする。 ただし中華製で偽物も多く注意が必要と。
ならば最新モデルを買えば偽物も少ないだろうと、XiaoMi Piston4 をポチってみました。 amazonで3,000円なり。

BA(バランスト・アーマチュア)型の中高域と、ダイナミック型の中低域の2ウエイタイプでこの価格は破格です。

amazon primeで注文して翌日受け取り。 早速聴いてみました。 いや、こりゃ反則でしょう。 高域のツブ立ちも音の広がりも、MDR-EX510SLの完敗です。 低域が強いのでスマホのイコライザで少し落とすと全体のバランスが整います。
聴きこむと、中域の分解能が今一つでボーカルのフレッシュ感が低めですが、この価格でそこまで求めてはいけませんね。 正直いうと拙作のスピーカーTornadeflyが勝っていると思うのはボーカルくらいで、他は全てかないません。

これで3千円とは、、おそろしい価格破壊。 二人の子供達にも買ってあげることにしました。

なお、リモコンマイク付きでマイクは普通に使えますが、リモコンは音量Up/Downは機能しませんでした。(Androidスマホ+PowerAmp) STOP/RESUMEと、SKIP/BACK はちゃんと動きました。

コメントあり 2  |  続きを読む |  閲覧(8147)
12月
23 (火)

stereo2015年1月号を近所の書店で購入。
週末は自宅に戻っているので近所の書店に無いのだが、単身先では徒歩圏内にあって助かる。

今月号は、11月のstereoスピーカーコンテストの総評と、エミライ社とコラボした付録のUSB接続電源フィルター「ES-OT4」。
まずはスピーカーコンテストの総評から。 筆者は「stereo究極のチェックCD」でおなじみの生形三郎氏。

受賞作品のすばらしさを伝えてくれているのはもちろん、一次審査通過作品たちの評価もひとつづつ書かれているのがうれしいですね。但し生形氏のコメントではなく、審査員の方々のコメントを編集部が抜粋して載せています。

私の作品写真には、フォステクスの佐藤氏のコメント「青と白のストライプで塩ビ管内部をスパイラル状に形成した逆ダブルバスレフ。クリアな音質と広い音場感や定位が素晴らしいです」と添えられていました。 いやあ、うれしいです。

更に読み進めていくと、小澤隆久氏のコメントに
「匠部門では石田さんと河野さんが音質、仕上がりとも素晴らしくて順位に悩みました。沖野さんの暖色系の音質もよかったです。」とありました。
これまた嬉しいです。
でも暖色系の音質なのかな? と疑問もよぎりますが、そう聞こえる選曲だったのかもしれません。 (SophieMillmanの歌声はよく聴きますが気持ち良いです)

なお、筆者の生形氏のコメントに「個人的にユニークに感じたのは、前川宗賢さんの「ウッドチップ・ボール」と・・(中略)・・癖はありつつも大きな球形が生み出す独自の音場とリッチな低域に面白味と可能性を感じ」とありました。

***

続いて、付録のUSB接続電源フィルター「ES-OT4」
いつものように、ノートPC ~ JAVS X-DDC ~ Accuphase DC-61 の環境に入れてみた。 最初、X-DDCの電源が入らないので紙面をよく見たら、電源切り替えが「EXT」(外部)になっていて、「INT」(内部)にしたら問題なく繋がり音が出た。

効果については懐疑的であったのだが、一聴して、高域のツブ立ちが向上している感じがした。 音場感が向上するかと思っていたが、それほどの変化はないように思った。 まあ、マンションの一室で聴くには音量も限界があるので、効果を聞き分けられる環境ではないでしょうね。

ともあれ、限定的とはいえ効果がある環境もあるとわかり、なるほど電源は大事だなと確認できただけでも、付録代に2千円を払った価値はあったかもしれない。しばらくは使い続けてゆこうと思う。

続きを読む |  閲覧(9765)
11月
30 (日)

ガラケー時代からスマホまで、ずっとAUで継続してきた。 以前は、docomoやsoftbankでエリア外になる場所でも途切れないAUだった。 しかし最近は自宅で4G通信がアンテナ1本立つか立たぬか微妙だし、月に1万円オーバーの支払いは使用頻度と目的からすれば大変勿体ないと思っていた。

今年に入って、楽天モバイルなど格安SIM(MVNO)が充実し始め、注目していたところ。。 そして、やはり店頭販売の安心感が欲しかったし、MVNOのようにMNPで乗換手続き中の2日間程度使えないようなのは困るので、今日、別件で寄った家電量販店で予定外に乗換えてしまった。 AUに端末残金と違約金を払っても早く乗り換えたほうが得という判断。 ;-)

AU SH22L から、Y!mobile DIGNO-T 302KC に。
Nexus5と迷ったけど、microSDを挿せないので敬遠した。 防水防塵・耐衝撃も、仕事でも使うから有難い。

  • 主な仕様
    • 画面:IGZO 5インチ 720×1,280(HD)→4.5インチ 960×540(HD)
    • 外形寸法:約70X142X9.9mm→約 66X132X11.2mm
    • 重量:155g→139g
    • 電池容量:3,080mAh→2,000mAh
    • microSD:最大64GB(microSDXC)→最大32Gb(microSDHC)
    • CPU:APQ8064T 1.7GHz クアッドコア→MSM8926 1.2GHz(クアッドコア)
      などとスペックダウンしています。
      しかし実際に操作すると、電池の消耗以外は動作速度も速く、画面解像度の低さも個人的にはあまり気にならないです。
t_00d451e4de7fe1a4c7b0e6626204b3a183.jpg
  • 背面色は、今まで同様ブルーにしたかったのだが、本体端末代全額割引のため3色しかなく、グリーン(黄緑・若草色)とした。
    t_01e915129f7cf3cd6d18264a1b6a11deaa.jpg

これで、3Gb/月までの通信と、10分/回x300回までの無料通話が使えて、端末代込(2年縛り有)で3,980円/月。 PHS携帯を追加で主契約とするオプションを加入し、実質500円引き、中途解約違約金免除。

Y!mobileの通話エリアは、softbankと同じ。 まだ通話・通信できない地方もあるようだが、家ではWiFi使用だし、通常使う分にはこれで十分かと思う。

コメントあり 2  |  続きを読む |  閲覧(10174)
7月
13 (日)

mbedで色んなことが簡単に出来るだろうことはわかったけど、遊びと勉強ばかりでは面白くないので、仕事に何か応用できないかと考えた。

そこでこの時にVB.netで作ったRS485通信のPC内シミュレータを、mbed LPC1114に移植できれば複数台の通信確認が取れるなと考えて、RS485通信トランシーバIC (TE)SN75176BP とブレッドボードその他を購入しやってみました。 :-)

今回は、3台分の機器側に成りすますシミュレータをブレッドボード上に配線します。 ブレッドボード上に1台ずつ、計3枚の普通のブレッドボードが必要。

  • 購入部品 (LED、抵抗、配線材などは手持ち品を流用)
    名称型番購入先数量単価(税抜)
    普通のブレッドボードEIC-801スイッチサイエンス3枚257円(税込)
    mbed対応マイコンLPC1114-FN28
    生産中止(?)品
    秋月電子通商3個120円
    RS485/RS422トランシーバIC(TE)SN75176BP秋月電子通商3個80円
    ディップSW5P秋月電子通商3個60円
    タクトSW各色秋月電子通商3個10円
  • 配線図
    • 電源はトラ技ライタ経由USBから取る。
    • ディップSWで局番(今回は1~3)設定可能とする。
    • SN75176BPのDE端子は、機器1台なら3.3V印加しておくだけでOKだが、機器2台以上マルチドロップの場合は、マスタからのコマンドに返信するとき以外はバスを解放する必要があるため、マイコンのdp4を返信直前にHigh、返信後20msec後にLowとするソフト処理を行う。
      • マイコン側は3.3Vなのでこのままで良いか不安もあったけど動いてるから大丈夫?
      • マスタ側ソフトは、このディレイ時間20ms分の待ちが必要。
      • この信号のHighの時に赤LEDを点灯させる。
    • RS485バスラインのプルアップ抵抗(R5)、プルダウン抵抗(R6)の抵抗値は、実際の路線長で決める必要があると思うのだけど、今回はテストなので小さ目の抵抗を入れてみた。
    • 生存確認用にLED1を点滅。 UARTポートと共に割り込みプログラムとする。
t_0009cd62ac2a8703e7120df606673547f5.jpg
  • プログラム
    • 今回は、仕事の秘匿義務の兼ね合いもあるので非公開です。すみません。
    • コーディング・デバグは、ある程度の段階でmbedオンラインコンパイラからエクスポートして、μVision4にて行いました
  • 配線状況
    テストなのでヒドイ状態ですね。(汗)
    t_01caef4c3292453d4463c7fe409610ba41.jpg
    下記動画の際には少しだけ整理しました。
  • 動画
    PLC側のテスト画面と共に映してみました。ボーレートは38,800bps。
    機器1→機器2→機器3と通信先を切り替えてサイクリックに通信します。 機器側が受信し送信中に赤LEDが点灯します。 1回のコマンドで1点灯で、点滅回数分のコマンドを処理しています。

 今後も仕事で通信案件が来た時には、こんな感じでシミュレータを作って事前テストするですね。 部品単価が安いので、USB/RS485コンバーターを買うよりずっと安価にできますし。 :-D

 ここまでテストばっかりやってきたけど、そろそろ実際に動かす何かを作るかなあ。。 :roll:

続きを読む |  閲覧(10588)
7月
5 (土)

 引き続き、mbedをいじってます。
 
 先日入門したばかりでもとても便利と感じるmbedのオンラインコンパイラ。

 オンライン上で先人の公開したライブラリやプロジェクトをさくっとインポート出来たり、自分のPC環境に依存しない、デバイス毎に異なる設定などは予め設定済みで、マイコンの種類を変えても少しの変更ですぐに移植できる、などなどとても良くできていて、私のような初級者には大変ありがたいものであります。

 しかしですね、、やっぱりIDEでオフラインコンパイル、ステップ実行デバグをやりたいですね。 ということでmbedと先人の知恵を頼ってやってみました。

  • 概要
     トランジスタ技術2014年3月号には付録にトラ技ライタが付いてくる。 これをEIL-MDK(μVision4)でコンパイルしたバイナリをCMSIS-DAP経由でマイコンにロードするのと、デバグで使います。 UART(USBシリアル)は同時に使えなかったので(やり方がまずかった?) 相変わらずFT232RLを繋げています。
     もっと楽をしたい方は、素直にSwitchScienceでLPC1114のmbedボードを買ったほうが良いと思います。。たぶん。
     →その後、UARTもCMSIS-DAPも同時に接続できるようになり、FT232RLは不要になりました。
  • 接続図
    左図ではUART(USBシリアル)用にFT232RLを入れていますが、これは不要になり右図のようにトラ技ライタ側のUARTポートからTx,Rxに繋ぎます。
    FT232RLあり   →   なし
    t_0157dfdec10136d9c8704638855b331dbb.jpg t_086d2ba4d9932133a57ab1b44d37a5be3a.jpg
  • 現物
     左図のブレッドボードの上段左側がトラ技ライタ。右側がLPC1114マイコンとUSBシリアルFT232RL。 右下のは次回テスト予定のRS485ドライバチップとディップSW。 右図はFT232RL無しの最終状態。
    t_00a4490651dd65c6a289fe2b323db4525f.jpgt_07d532f1048929d0cae506a1bb9f318a1e.jpg
  • μVision4でデバグポートにトラ技ライタを指定したところ。 速度は10MHzでも行ける。 μVision5では100KHzまでしか出なくて断念した。
    t_02d94c6a6211ae19a8eedc5da01bfe72c0.JPG
     →その後、トラ技のファームウエアではなく、このページのファームウエアに書き換えた後で、トラ技ライタをUSB接続した状態でこのページのUART最新ドライバをインストールしたところ、無事に全て使えるようになりました。 μVision側設定画面はこうなりました。
    t_04ba0bb0d941da6f4b1f40864d3337909a.JPG
    Windows8.1上のデバイス表示に、3つの接続が出現していればOK。 1つしか出ない場合は、USBドライバがインストール出来ていないです。
    t_07a231ae1fa5cec2e4427ff221f4e42a4b.jpg
  • 割り込みイベントが発生すると、デバグがここで止まってしまい再開不能でマイコンをリセットすることになる。 今のところ解決策がありません、どなたかご存じの方、Help me。
    t_03be0ac6617d7a3f3ddab406bff316e234.jpg
     もしかするとリアルタイムOS使っていないとだめなのかな? デバグしなければきちんと動くんだけど・・
     →これもトラ技のファームから変えて、さらにnRESET配線1本をきちんと結線することでOKになりました。 nRESETを結線すると、LPC1114に付けたタクトSWでリセットできなくなるので、その際には毎回ライタからのnRESET結線を外してSWを押す、という操作が必要になります。
     →上のほうの接続図のようにnRESET中間に1KΩの抵抗を入れることで、そのままリセットも効くようになりました。正しい回路ではないと思いますが、実用上は今のところ問題ありません。

 参考:

  • トラ技ARMライタを mbed interface にする(LPC1114FN28編
    まさにこれ!と思ってここのファームウエアを試してみましたが、UART(comポート)が出てこない、CMSIS-DAPが出てこない、という状態で断念。 PCがWindows8.1だからかなあ。。
    →再度試したところ、下記ページにあるUARTドライバをインストールしたら全てOKになりました。
    但し上のページの結線は、何かおかしいです。nRESETの配線が別のところへ行っている気がします。
    • μVision4でデバッグ!(mbed-MACRUM)
      トラ技ライタでは無くファームウエアはここのものは使いませんが、作業の流れはこれが近いです。ファーム書き換え後のUARTドライバはここからダウンロードしてインストールします。
    • Keil MDK-ARM v4 のダウンロード
      このページのv4のリンクより。 ライセンスフリー版では32Kbの制約があります。 v5は通信速度が出なかったです。 →これも再度確認したら問題ありませんでした。
    • mbedをIDEで使う(野良2-mbed
      μVision4のあたりが詳しいです。
  • トラ技のページ
    ファームウエアはここから「トラ技ARMライタ基板をCMSIS-DAP(デバッガ)として使うときのファームウェア」をダウロードして流し込みます。 →当初はこれでやっていましたが、後で別のファームでOKになり不使用です。

 次回は、この時に仕事で作ったPC上のVB.NetなRS485シミュレータを、LPC1114マイコンに置き換えて通信してみるテストです。

続きを読む |  閲覧(10712)
6月
30 (月)
カテゴリー  マイコン
タグ  mbed プログラム デバイス C/C++

まずは現物から

  • LPC1114FN28とFT232RL USB/serialコンバーターで、シリアル通信+サーボモーターを回してみる。
    t_00215f18aa1dcaf25bbcdb400acb72dfcb.jpg
    以下、準備から実際のプログラムソースまでメモっておきます。

まず頭に入れてくべきこと anchor.png

準備したもの anchor.png

    • mbed対応のマイコン。今回は、LPC1114FN28 を、秋月電子で購入。 1個たったの120円!(税込)
    • USB-シリアル変換モジュール FT232RL 秋月で購入
    • Arduinoスターターキット SGK-ARD-KIT 千石電商で購入 arduino uno 付きで4,940円。 arduino unoの他に付属のセット品が色々入っていて、初めてには良いですね。 arduinoからいじり始めてみたものの、mbedを教えていただいたら断然そちらが面白くなってます。

配線 anchor.png

  • 参考
    • mbed LPC1114でLチカしてみた(1):しなぷすのハード製作記
       マイコンとFT232RLの接続が参考になります。 プログラムを書き込んだあとリセットしなくても済みます。 なお、書き込みソフトはこのページの要領ではなく、LPC1114限定で下記ページのものが使いやすいです。
    • mbed LPC1114でLチカしてみた(2):しなぷすのハード製作記
       LPC1114限定で「LPCISP」というソフトを公開しておられます。USB/serialコンバーター経由で一発書き込み、即座にリセットが働くので、楽ちんです。
      LPCISP.jpg
  • ハード図
     ブレッドボードを使うとテストは楽にできるけど、一度バラしたら再現するのが面倒になっちゃいますんで、ちゃんと図面を書くクセをつけたいですね。今回は資料への使いまわしがしやすいようにEXCELでこんな感じで書いてみました。
    • LPC1114のLED回路はソース出力(PNP)でプラスコモン、FT232RLのLEDモニタ回路は、シンク出力(NPN)でマイナスコモンになっているみたいで、ちょっと混乱します。
       工業用制御部品に関していえば、日本国内やアジア圏ではシンク(NPN)でマイナスコモン、欧州ではソース出力(PNP)でプラスコモン が多いですが、欧州への輸出時にはCEマーク表示の関係で本質安全の考え方から必ずPNPにしないといけなくなるため、国内でもPNPへの変更が徐々に進んでいる・・ のかなあ?
       組み込み部品での状況は全くわからずです。
mbed_UART_SERVO.jpg
00215f18aa1dcaf25bbcdb400acb72dfcb.jpg

プログラム anchor.png

 mbedはarduinoと違い、ほぼ素のC/C++で書けます。 オンラインコンパイラでビルドが通ったプロジェクトをエクスポートして、外部のIDEで編集・コンパイルできることからもそれを実感できます。

 とはいえまずはオンラインコンパイラで。

mbed_WorkSpace.jpg
使用ライブラリ anchor.png
  • Servo
     mbedのオンラインコンパイラ上の「Import」でキーワード「Servo」で検索し、sford cstyles さんの mbed R/C Servo Libraryを試しに使ってみました。
  • MySerial
     自作ライブラリ MySerial です。mbed標準のRawSerialクラスを継承し、受信文字列のchar配列格納を簡単にできるようにしてみました。 現時点でのソースを貼っておきます。
    • GetString メソッドは、テンプレート化でオーバーロードしてあり、引数にポインタ変数指定でも char配列指定の参照でも使えるようにしました。
    • Wait時間の設定を追加してあります。
       その他APIは、こちらを参照
    • MySerial.h
      Everything is expanded.Everything is shortened.
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      72
      73
      74
      75
      76
      77
      78
      79
      80
      81
      82
      
      -
      |
      |
      |
      |
      |
      |
      |
      |
      |
      !
       
       
       
       
       
      -
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      !
      -
      |
      |
      -
      |
      |
      |
      !
      |
      |
      -
      |
      |
      |
      !
      |
      |
      -
      |
      |
      |
      |
      !
      |
      |
      -
      |
      |
      |
      |
      !
      |
      -
      |
      !
      |
      |
      |
      |
      |
      !
       
       
      
      /** mbed Serial Library extend RawSerial
       * Copyright (c) 2014 Naoki Okino
       *
       * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
       * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
       * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
       * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
       * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
       * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
       * THE SOFTWARE.
       */
      #ifndef MBED_MYSERIAL_H
      #define MBED_MYSERIAL_H
       
      #include "mbed.h"
          
      /** MySerial control class, based on a RawSerial
       *
       * Example:
       * @code
       * #include "mbed.h"
       * #include "MySerial.h"
       * 
       * MySerial pc(USBTX,USBRX);   //instance of MySerial Class
       * char cWord[16]; //receive chars  or cWord[256], cWord[1024] etc..
       * 
       * void readbuf()
       * {
       *   // int iRtn =  pc.GetString(6,&cWord);    //Serial received chars by pointer cWord
       *    int iRtn =  pc.GetString(6,cWord); //Serial received chars byref of cWord
       * }
       * int main() {
       *    pc.baud(9600);                  //set baud rate
       *    pc.format(8, MySerial::None, 1);//set bits for a byte, parity bit, stop bit
       *    pc.SetRxWait(0.01, 0.001);       //set wait getting chars after interrupted, each char
       *    pc.attach( readbuf, MySerial::RxIrq );    //Set Interrupt by Serial receive
       * }
       * @endcode
       */
      class MySerial : public RawSerial{
          
      public:
          /** constructor to get chars received by serial
           * 
           * @param PinName tx
           * @param PinName rx
           */
          MySerial(PinName tx, PinName rx);
         
          /** set wait getting chars after interrupted
           * 
           * @param float _fRxStartWait wait getting a 1st char after interrupted
           * @param float _fRxEachWait wait getting each char
          */
          void SetRxWait(float _fRxStartWait, float _fRxEachWait);
       
          /** function to get chars after received chars by serial
           * 
           * @param int size for get chars
           * @param *cWord returns got chars by pointer
           * @param returns success by 0
           */
          virtual int GetString(int size, char *cWord);
          
          /** overload function to get chars after received chars by serial
           * 
           * @param int size for get chars
           * @param cWord returns got chars by ref
           * @param returns success by 0
           */
          template <class X> int GetString(int size, X cWord)
          {
              return GetString(size, &cWord);
          }
       
      protected:
          float fRxStartWait;
          float fRxEachWait;
          
      };  /*  class MySerial  */
       
      #endif
    • MySerial.cpp
      Everything is expanded.Everything is shortened.
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      
       
       
       
      -
      |
      |
      !
       
       
      -
      |
      |
      !
       
       
      -
      |
      |
      |
      |
      |
      |
      -
      -
      |
      !
      |
      -
      |
      -
      !
      |
      |
      !
       
      !
      
      #include "MySerial.h"
       
      MySerial::MySerial(PinName tx,PinName rx):RawSerial(tx,rx)          //constructor
      {
          fRxStartWait = 0.01;    //wait getting a 1st char after interrupted
          fRxEachWait = 0.001;    //wait getting each char
      }
       
      void MySerial::SetRxWait(float _fRxStartWait, float _fRxEachWait)
      {
          fRxStartWait = _fRxStartWait;   //wait getting a 1st char after interrupted
          fRxEachWait = _fRxEachWait;     //wait getting each char
      }
       
      int MySerial::GetString(int size, char *cWord)            //by pointer
      {
          int i=0;
          int ichar;
          memset(cWord, '\0', strlen(cWord));  //initialise chars
       
          wait(fRxStartWait);
       
          while(1) {
              if(!readable())    {
                  break;
              }
              ichar = getc();
              if(i<size) {
                  cWord[i] =ichar;
                  //putc(ichar);
              }
              i++;
              wait(fRxEachWait);
          }
          return 0;
      }
メイン anchor.png
  • シリアルコマンド
    ただの実験なので、<STX><ETX>などの制御コマンドは一切無しです。(汗)
    • 「start」で開始
    • 「pxxx」(xxxは角度)で位置決め
    • 「stop」で停止
      です。
  • 受信の割り込みと、50ms定時タイマ割り込みを受けてメインで動作及びLチカさせてみました。
    • 割り込みのIRQ変数名は、シリアルが「UART_IRQn」、定時タイマが「TIMER_16_0_IRQn」でしたので、割り込み優先度や割り込み禁止を個別に管理できます。 この辺の定義は、こちらに全部書いてありますね。
  • まだ試していませんが、フロー制御を入れないと9600bps以外では取りこぼしが発生します。
  • ソース
    volatile のつけ方などわかっていないので、まだ適当です。
    • main.cpp
      Everything is expanded.Everything is shortened.
        1
        2
        3
        4
        5
        6
        7
        8
        9
       10
       11
       12
       13
       14
       15
       16
       17
       18
       19
       20
       21
       22
       23
       24
       25
       26
       27
       28
       29
       30
       31
       32
       33
       34
       35
       36
       37
       38
       39
       40
       41
       42
       43
       44
       45
       46
       47
       48
       49
       50
       51
       52
       53
       54
       55
       56
       57
       58
       59
       60
       61
       62
       63
       64
       65
       66
       67
       68
       69
       70
       71
       72
       73
       74
       75
       76
       77
       78
       79
       80
       81
       82
       83
       84
       85
       86
       87
       88
       89
       90
       91
       92
       93
       94
       95
       96
       97
       98
       99
      100
      101
      
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
      -
      |
      |
      !
       
       
      -
      -
      !
      !
       
       
      -
      |
      |
      -
      !
      |
      -
      |
      |
      -
      |
      |
      -
      |
      |
      |
      -
      |
      !
      -
      |
      |
      !
      !
       
       
      -
      |
      |
      -
      |
      !
      |
      |
      |
      |
      |
      |
      |
      |
      |
      |
      -
      |
      |
      |
      -
      |
      |
      |
      !
      |
      |
      -
      |
      -
      |
      |
      !
      |
      -
      !
      !
      !
      
      #include "mbed.h"
      #include "Servo.h"
      #include "MySerial.h"
       
      Servo myservo(dp18);
      MySerial pc(USBTX,USBRX);         //instance of MySerial Class
      Ticker timer;
      DigitalOut led2(LED2);            //alive check LED
       
      volatile int cntRx=0;
      volatile int cntRx_old=0;
      volatile int timeUp=0;
      volatile int timeUp_old=0;
       
      char cWord[6]; //receive chars  or cWord[256], cWord[1024] etc..
      char *pCword = cWord;    //pointer for cword
      const char ccStart[6] = "start";
      const char ccStop[5] = "stop";
      const char ccMove_[2] = "p";
       
      int readSize = 5;
      int doStatus;
      int iDeg;
       
      void atRx()
      {
          NVIC_DisableIRQ(UART_IRQn);
          cntRx++;
      }
       
      void atTimer()
      {
          //NVIC_DisableIRQ(TIMER_16_0_IRQn);
          timeUp++;
      }
       
      void readbuf()
      {
          pCword = cWord;    //pointer for cword
       
          //int iRtn =  pc.GetString( readSize, &cWord[0] ); //Serial received chars by pointer of cWord
          int iRtn =  pc.GetString( readSize, cWord ); //Serial received chars byref of cWord
       
          if(strcmp(cWord, ccStart)==0) {     // start
              doStatus=1;
              printf("started\n");
          } else if(strcmp(cWord, ccStop)==0) { // stop
              doStatus=0;
              printf("stopped\n");
          } else if(cWord[0]==ccMove_[0]) { // 1st char matches
              pCword++;                    // increment pointer to get after 2nd chars
              iDeg = atoi( pCword );
              printf("%d\n",iDeg);
          } else {                        //no action except for start/stop
              printf(" no match %s\n" , cWord);
          }
          if ((doStatus == 1) && (0 <= iDeg) && (iDeg <= 180)) {
              wait(0.01);                           // waits for the servo to get there
              myservo.position(iDeg - 83.0);
          }
      }
       
      int main()
      {
          pc.baud(9600);                  //set baud rate
          pc.format(8, MySerial::Odd, 1);//set bits for a byte, parity bit, stop bit
          //pc.format(8, MySerial::None, 1);//set bits for a byte, parity bit, stop bit
          //pc.set_flow_control(MySerial::RTSCTS,dp26,dp25);
          pc.SetRxWait(0.01, 0.001);       //set wait getting chars after interrupted, each char
       
          wait(0.25);     //startup wait
       
          pc.attach( &atRx, MySerial::RxIrq );    //Set Interrupt by Serial receive
          NVIC_SetPriority(UART_IRQn, 120);
          timer.attach( &atTimer, 0.05 );
          NVIC_SetPriority(TIMER_16_0_IRQn, 10);
       
          myservo.calibrate(/* range */ 0.00099, /* angle +/- */ 90.0);
       
          while(1) {
              wait(0.01);
       
              if(cntRx != cntRx_old)
              {
                  readbuf();
                  cntRx_old = cntRx;
                  NVIC_EnableIRQ(UART_IRQn);
              }
       
              if(timeUp != timeUp_old)
              {
                  if( 10 <= timeUp )
                  {
                      led2 = !led2;
                      timeUp=0;
                  }
                   timeUp_old = timeUp;
                  //NVIC_EnableIRQ(TIMER_16_0_IRQn);
              }
          }
      }

実行結果 anchor.png

シリアルコンソールには、定番のTeraTermではなく、「RS232cテストツール」というフリーソフトを使ってみました。

下図のように、コマンドを送ると帰ってきたアンサーが表示されます。

Comm.jpg

総括 anchor.png

 mbed、おもしろいです。 C/C++の入門にもなるし、ハード回路の勉強にもなります。

 次回は、オフラインでのコンパイルとデバグ環境にチャレンジしたいと思います。

inc​/mbed

続きを読む |  閲覧(13015)
35件のうち11 - 20件目を表示しています。



カレンダー
«前の月次の月»
1234567
891011121314
15161718192021
22232425262728
293031
カテゴリー
月表示
新着ブログ
新着コメント