mbedとSupertweetを利用してTwitterのタイムライン・リプライを取得できるようにしてみました。
と、言ってもHTTPClientStreamingExampleに少し手を加えてしてどんなデータが送られてくるのかをPCから見れるようにしただけです。 (サンプルを作っていただいた方に感謝)
Supertweetのデータを取得できるようにしたものがこちら
http://mbed.org/users/nameless129/code/SuperTweet_get/
Supertweetのユーザー名とパスワードを入力してコンパイル。mbedから実行するとタイムラインがシリアル通信を通してPCに送られるようになっています。ボーレートを921600bpsに設定しているので注意してください。
実行するとタイムラインのデータを見ることができます。
タイムラインの本文となる部分は5行目の"text":以降のようです。Unicodeで日本語はエンコードされています。しかし、どういう訳か通常であれば%u3010のような形式でエンコードされるはずが\u3010とエンコードされています。(おかげで文字の正体を探るのに苦労させられました。。。)
SupertweetはTwitterのAPIすべてをサポートしているようなので、リプライの取得も試してみました。方法としてはTwitter APIのアドレスに倣い、Supertweetのアドレスを修正するだけです。私がアップしたソースの36行目にリプライを取得するためのアドレスをセットしています。
実行結果は以下の通りです。
先ほどのタイムライン取得と同様に5行目の"text":からリプライの本文(@en129_mbed test)となっています。リプライ元のユーザー名は10行目の"screen_name":"en129"のようです。
以上の実行結果より、Supertweetを用いることでTwitterのAPIにアクセスしたときと同じデータを受信できるようです。ただし、受信するデータが多く、扱いが面倒と思いました。
次は同じTwitterプロキシサービスで機能が簡素化された「StewGate U」を試してみる予定です。
2013年8月19日月曜日
2013年8月17日土曜日
mbedのTwitterExampleでツイートしてみる
mbedでTwitterの情報を取り込んで処理させる第一歩として、mbedからTwitterに投稿する動作をさせてみました。その中でトラブルがあったのでそのまとめです。
まずはtwitterのサンプルプログラムを探すべく、「twitter」と検索。トップに出たCookBookのTwitterExampleをインポートします。
SuperTweetを経由するので登録。
http://blog.fkoji.com/2010/05250022.html
連携アプリ認証後、登録画面が変わっており、Email・Application Name・Description・Application Website・Organizationについて入力するようになっていました。重要なのはEmailだけで他はそれぞれ適当に入力して大丈夫かと思われます。
入力後、承認メールが送られてくるのでメール内のリンクをクリックしてアカウントを有効にします。
登録後の手順は上記サイトとほぼ同じでした。
mbedオンラインコンパイラに戻り、twitterアカウント名とSuperTweetにて設定したパスワードをそれぞれ"myuser", "mypass"のところに入力。(twitterアカウント名は@不要です) コンパイルしようとしたところ・・・
トラブルその1:ライブラリをインポートしてもヘッダファイルが不足しておりコンパイルできない
HTTPClient.hがないと言われます。
Fix it!ボタンを押すとライブラリを探す画面が出るので、「NetServices」をインポートします。HTTPClientもありますが、それをインポートしてもまた別のエラーでコンパイルが通りませんでした。
これにて無事にバイナリをmbedに転送してツイートが!と思いきや・・・
トラブルその2:ツイートできないorz
原因はツイートの送り先URLが古いままのようです。プログラムの36行目が
HTTPResult r = twitter.post("http://api.supertweet.net/1.1/statuses/update.xml", msg, NULL);
となっていますが、Supertweetの仕様(http://www.supertweet.net/about/api)を見てみるとアドレスの末端がxmlではなくjsonになっています。
プログラムも合わせてjsonに修正したところツイートしてくれました。
まずはtwitterのサンプルプログラムを探すべく、「twitter」と検索。トップに出たCookBookのTwitterExampleをインポートします。
SuperTweetを経由するので登録。
http://blog.fkoji.com/2010/05250022.html
連携アプリ認証後、登録画面が変わっており、Email・Application Name・Description・Application Website・Organizationについて入力するようになっていました。重要なのはEmailだけで他はそれぞれ適当に入力して大丈夫かと思われます。
入力後、承認メールが送られてくるのでメール内のリンクをクリックしてアカウントを有効にします。
登録後の手順は上記サイトとほぼ同じでした。
mbedオンラインコンパイラに戻り、twitterアカウント名とSuperTweetにて設定したパスワードをそれぞれ"myuser", "mypass"のところに入力。(twitterアカウント名は@不要です) コンパイルしようとしたところ・・・
トラブルその1:ライブラリをインポートしてもヘッダファイルが不足しておりコンパイルできない
HTTPClient.hがないと言われます。
Fix it!ボタンを押すとライブラリを探す画面が出るので、「NetServices」をインポートします。HTTPClientもありますが、それをインポートしてもまた別のエラーでコンパイルが通りませんでした。
これにて無事にバイナリをmbedに転送してツイートが!と思いきや・・・
トラブルその2:ツイートできないorz
原因はツイートの送り先URLが古いままのようです。プログラムの36行目が
HTTPResult r = twitter.post("http://api.supertweet.net/1.1/statuses/update.xml", msg, NULL);
となっていますが、Supertweetの仕様(http://www.supertweet.net/about/api)を見てみるとアドレスの末端がxmlではなくjsonになっています。
プログラムも合わせてjsonに修正したところツイートしてくれました。
2013年7月6日土曜日
Amazonで1万円の電源装置を買ってみた
お値段9980円なり。
そこまで電源装置に詳しいわけじゃないですが、30V5Aという容量を持つ電源としては破格の値段ではないでしょうか。しかもカレントリミット機能まで付いています。更に別系統で固定電源ですが、5V2A出力も付いています。カレントリミットがついた電源 が欲しく、分解して中を覗いてみたい欲もあったので買っちゃいました。
開封状態 薄っぺらい取説が1部 |
上の緩衝材を取り除いたところ 乾燥剤付き |
本体と同梱の3P電源ケーブル このままでは机上のコンセントに挿せないので変換アダプタを別途用意した |
正面から大きさ比較 写真のテスタは秋月のもの |
上面から |
斜めから |
底面 Amazonレビューにもあったゴム足の臭いが気になる |
背面 冷却FANが付いているので意外としっかりしているかも?というのがここまでの印象 |
ケースを開けてみた 配線はゴチャゴチャしてるわ、ひと目見て分かる部品の実装状態に値段相応ということを実感 |
不安になる実装状態 |
抵抗が浮いている |
ここも浮いている |
TO-92パッケージの足にコネクタが直接刺さっている |
電流電圧設定ボリューム |
出力端子にコンデンサが直接取り付けられている |
基板のハンダ付け状態 そこまで酷くはないが、画像中央に穴あき1つ発見 |
電流電圧を表示する基板 メインの基板よりしっかり作られている |
電コンが浮いていたり、ICが曲がっていたり・・・ |
電源投入時の電圧波形 CH Aが5V固定出力 CH Bが30V出力の電圧 OUTPUTボタンの代わりに電源ボタンでも良さそう |
残念ながら電源のノイズに関してはオシロがDSO QUADしか持っていないので微小な電圧まで観測できていませんが、結構きれいではあると思います。
趣味程度の用途であれば十分良いのではないでしょうか。
2013年6月17日月曜日
DesignSparkPCBとKiCadの比較
トラ技5月号にてKiCadの紹介がありまして、DesignSparkPCBに対する不満が解消できるのであればと思い、使ってみました。
回路図エディタ、PCBエディタ、部品ライブラリの観点からDesignSparkPCBと比較して長所、短所を上げていきます。
●回路図エディタ
**長所
・日本語化されていて、初めて使う人でもわかりやすい
・電源シンボルがライブラリと独立していて挿入しやすい
・下手にいじっても電源シンボルのネットが削除されることがない
・ライブラリの修正が特に操作せずとも即座に反映される
・ピンのシンボルに論理(反転・クロック・負論理入力など)が含められる
・部品同士が重なっている箇所では明示的な選択メニューが出る
・単一回路図ファイルで複数レイヤを備えている=複数のファイルにまたぐことなく1つのファイルで回路図を書ける
・ERCを搭載しているため、回路図作成でのミスを低減できる
**短所
・独特の操作性
DesignSparkPCBでは部品を選択してコピー 、任意の場所でペーストだが、コピーを選択した時点で部品がマウスにくっついてくるため、最初操作に戸惑う
・ ctrlキーで部品をいくつか選択する操作ができない。単一or範囲選択のみ
・ ライブラリが出しづらい
専用ウィンドウが出てきて、部品を出す度に消えるため、操作回数が多くなる
●PCBエディタ
**長所
・配線を削除してもネット情報が残っている
・ 配線幅、ビア径を指定しやすい
・既存の配線がある状態で配線を引き直すと新しい方を採用してくれる
・ラッツネット全表示の切り替えが可能
・ラッツネットの線を選択して削除することがない
・配線の修正が容易
・回路図エディタを同時に起動できるため、回路図見ながらの作業が可能
・ガーバデータの出力がわかりやすく、標準でRS-274X形式で出力してくれる。
**短所
・回路図からネット情報を読み込んだ際に部品が整列されていないため、一度整列させる必要がある
・レイヤーとレンダーの2つがあり、裏面だけ見たいという場合の操作が面倒
・非表示項目も薄い色で表示されるため、邪魔
●部品ライブラリ
**長所
心苦しいですが、比較しての長所がないです。。。
**短所
・SCHシンボルにPCBシンボルを関連付けできない
・PCBシンボルでPIC等他ピンライブラリ作成が面倒(DesignSparkPCBならウィザード形式で楽々)
・SCHシンボルとPCBシンボルのピン割り振りを同じ画面で確認できない(確認しようとするとSCHで部品ピンにネットをつけてPCB上で同じピンに同じネットがあるかを確認するくらい)
●その他
独自昨日としてガーバビューワ、各種計算が容易になる専用計算アプリ、ビットマップからパターンを作成する機能があります。
KiCadとDesignSparkPCB両方使ってみての比較でしたが、回路図作成ではDesignSparkPCB、パターン作成ではKiCadがそれぞれ好みの機能・操作方法でした。
KiCadは今後CERNが介入するようです。回路図エディタの操作性等改善されればもっと良いCADソフトになるんじゃないかと予想されます。
どちらのソフトにしてもフリーで十分快適な回路図・パターンを作成できるソフトです。今後のバージョンアップに期待です。
回路図エディタ、PCBエディタ、部品ライブラリの観点からDesignSparkPCBと比較して長所、短所を上げていきます。
●回路図エディタ
**長所
・日本語化されていて、初めて使う人でもわかりやすい
・電源シンボルがライブラリと独立していて挿入しやすい
・下手にいじっても電源シンボルのネットが削除されることがない
・ライブラリの修正が特に操作せずとも即座に反映される
・ピンのシンボルに論理(反転・クロック・負論理入力など)が含められる
・部品同士が重なっている箇所では明示的な選択メニューが出る
・単一回路図ファイルで複数レイヤを備えている=複数のファイルにまたぐことなく1つのファイルで回路図を書ける
・ERCを搭載しているため、回路図作成でのミスを低減できる
**短所
・独特の操作性
DesignSparkPCBでは部品を選択してコピー 、任意の場所でペーストだが、コピーを選択した時点で部品がマウスにくっついてくるため、最初操作に戸惑う
・ ctrlキーで部品をいくつか選択する操作ができない。単一or範囲選択のみ
・ ライブラリが出しづらい
専用ウィンドウが出てきて、部品を出す度に消えるため、操作回数が多くなる
●PCBエディタ
**長所
・配線を削除してもネット情報が残っている
・ 配線幅、ビア径を指定しやすい
・既存の配線がある状態で配線を引き直すと新しい方を採用してくれる
・ラッツネット全表示の切り替えが可能
・ラッツネットの線を選択して削除することがない
・配線の修正が容易
・回路図エディタを同時に起動できるため、回路図見ながらの作業が可能
・ガーバデータの出力がわかりやすく、標準でRS-274X形式で出力してくれる。
**短所
・回路図からネット情報を読み込んだ際に部品が整列されていないため、一度整列させる必要がある
・レイヤーとレンダーの2つがあり、裏面だけ見たいという場合の操作が面倒
・非表示項目も薄い色で表示されるため、邪魔
●部品ライブラリ
**長所
心苦しいですが、比較しての長所がないです。。。
**短所
・SCHシンボルにPCBシンボルを関連付けできない
・PCBシンボルでPIC等他ピンライブラリ作成が面倒(DesignSparkPCBならウィザード形式で楽々)
・SCHシンボルとPCBシンボルのピン割り振りを同じ画面で確認できない(確認しようとするとSCHで部品ピンにネットをつけてPCB上で同じピンに同じネットがあるかを確認するくらい)
●その他
独自昨日としてガーバビューワ、各種計算が容易になる専用計算アプリ、ビットマップからパターンを作成する機能があります。
KiCadとDesignSparkPCB両方使ってみての比較でしたが、回路図作成ではDesignSparkPCB、パターン作成ではKiCadがそれぞれ好みの機能・操作方法でした。
KiCadは今後CERNが介入するようです。回路図エディタの操作性等改善されればもっと良いCADソフトになるんじゃないかと予想されます。
どちらのソフトにしてもフリーで十分快適な回路図・パターンを作成できるソフトです。今後のバージョンアップに期待です。
2012年3月14日水曜日
mbed+VS1002(VS1033D)+☆Bord・OrangeでMP3再生
mbed+VS1002+☆Bord・OrangeでSDカード内のMP3ファイルを再生してみました。
プログラムはこれです↓
http://mbed.org/users/nameless129/programs/MP3_player_on_Orange/m6vq1p
Arduino MP3プレイヤーシールド向けのプログラムを利用しました。
MP3のデコードはmbed単体では不可能なのでVS1002を利用しています。
これは何かというと、MP3ファイルをデコードしてくれるICです。
SDカードのMP3ファイルのデータを転送するだけで勝手にオーディオ信号にデコードしてくれます。
今回は千石で購入したVS1033Dを利用していますが、VS1002と互換性があるので特にプログラムの
変更はありません。
(とはいえVS1002の勉強用にコードを集めただけなので詳しいことはしっかり理解できていません...
プログラムの動作としてはルートフォルダ内のMP3ファイルを最大25個まで連続で再生します。
半角英数のファイル名をつけたMP3で再生ができることを確認しています。
2バイト文字が含まれるMP3ファイルは実験していないので不明ですが、再生できない可能性があります。
プログラムはこれです↓
http://mbed.org/users/nameless129/programs/MP3_player_on_Orange/m6vq1p
Arduino MP3プレイヤーシールド向けのプログラムを利用しました。
MP3のデコードはmbed単体では不可能なのでVS1002を利用しています。
これは何かというと、MP3ファイルをデコードしてくれるICです。
SDカードのMP3ファイルのデータを転送するだけで勝手にオーディオ信号にデコードしてくれます。
今回は千石で購入したVS1033Dを利用していますが、VS1002と互換性があるので特にプログラムの
変更はありません。
(とはいえVS1002の勉強用にコードを集めただけなので詳しいことはしっかり理解できていません...
プログラムの動作としてはルートフォルダ内のMP3ファイルを最大25個まで連続で再生します。
半角英数のファイル名をつけたMP3で再生ができることを確認しています。
2バイト文字が含まれるMP3ファイルは実験していないので不明ですが、再生できない可能性があります。
2012年3月11日日曜日
mbed+☆board Orange+SDでwavファイル再生
ずっと放置してました。サーセン
PICでSDからデータ読みだしてwavファイル再生できるものを作成していたんですが、
昨日Pickit3が壊れてしまったのでmbedで遊んでました。
んで、日本語で書かれた解説があまりなかったのでwav再生に関するまとめです。
プロジェクト一式がこれ↓
http://mbed.org/users/nameless129/programs/wav_pleyer_on_Orange/m6p2a9
☆board Orangeの評価用プログラムとwave_playerを使わせてもらっています。
sdカードに保存されているtest.wavを再生するだけのプログラムですね。
ただ、wave_playerで対応しているwavファイルの形式がよくわからないです。
ソースコードを見るかぎり22kHzでサンプリングしているwavファイルなら再生できそう?
だったので実験してみました。
結果は以下のとおり
評価基準としては音楽のスピードが正しく再生されているかどうかです。
音質は基準にしていないです。
結果から考えると、どうやらデータ転送が間に合わなくなるみたいです。
音質はあまりよろしくないですね。
次はMP3デコードICも手元にあるので、MP3再生に挑戦するかもしれないです。
PICでSDからデータ読みだしてwavファイル再生できるものを作成していたんですが、
昨日Pickit3が壊れてしまったのでmbedで遊んでました。
んで、日本語で書かれた解説があまりなかったのでwav再生に関するまとめです。
プロジェクト一式がこれ↓
http://mbed.org/users/nameless129/programs/wav_pleyer_on_Orange/m6p2a9
☆board Orangeの評価用プログラムとwave_playerを使わせてもらっています。
sdカードに保存されているtest.wavを再生するだけのプログラムですね。
ただ、wave_playerで対応しているwavファイルの形式がよくわからないです。
ソースコードを見るかぎり22kHzでサンプリングしているwavファイルなら再生できそう?
だったので実験してみました。
結果は以下のとおり
ビット数 | ||||
8bit | 16bit | 32bit | ||
サンプ リ ング周波数 | 44.1kHz | × | - | - |
32kHz | ◯ | × | - | |
22kHz | ◯ | × | × | |
16kHz | ◯ | ◯ | × | |
8kHz | ◯ | ◯ | × |
音質は基準にしていないです。
結果から考えると、どうやらデータ転送が間に合わなくなるみたいです。
音質はあまりよろしくないですね。
次はMP3デコードICも手元にあるので、MP3再生に挑戦するかもしれないです。
2011年2月19日土曜日
自作モータドライバプロジェクト:その2
昨日に引き続き自作モータドライバプロジェクトですよ。
昨日から部品の選定やっていたのですが、当初使う予定であった秋月の
フォトカプラ(TLP521-4)の立下り時間が25usと結構長いことが判明。
同じく秋月にてTLP351を発見。立上がり・立下り共に50nsで
しかもMOSFET向けとGOODなんですが、1つのMOSFETしか
制御できないのと1つ100円と少々お高いなーと。
なのでトランジスタアレイ(TD62083AP)を使おうかなと。
立下り0.2usとフォトカプラより早いんで十分かな?
以下回路図

http://srd.s43.xrea.com/circuit_learning/motordrive.shtml
を参考にさせていただきました。
回路図ではNchをドライブするトランジスタをプルアップしていますけど、
書いてる途中で意味ないじゃんってことに気付いたんでナシです。
ちなみにまだブレッドボードとかで実験していません。
これ作ってみたらFETバーニングしたぞとかなっても俺は知りません。
昨日から部品の選定やっていたのですが、当初使う予定であった秋月の
フォトカプラ(TLP521-4)の立下り時間が25usと結構長いことが判明。
同じく秋月にてTLP351を発見。立上がり・立下り共に50nsで
しかもMOSFET向けとGOODなんですが、1つのMOSFETしか
制御できないのと1つ100円と少々お高いなーと。
なのでトランジスタアレイ(TD62083AP)を使おうかなと。
立下り0.2usとフォトカプラより早いんで十分かな?
以下回路図

http://srd.s43.xrea.com/circuit_learning/motordrive.shtml
を参考にさせていただきました。
回路図ではNchをドライブするトランジスタをプルアップしていますけど、
書いてる途中で意味ないじゃんってことに気付いたんでナシです。
ちなみにまだブレッドボードとかで実験していません。
これ作ってみたらFETバーニングしたぞとかなっても俺は知りません。
登録:
投稿
(
Atom
)