So-net無料ブログ作成

Webラジオ と ストリーミング [NXP LPC1769]

こんにちは

「そらみみの声」さんでは Webラジオ AM/FMラジオからデータを制御しながら受け取り、WAVEで受信、AD変換 UDPパケット で送信されて居られるそうですが、

http://www.soramimi.jp/etherradio/index.html

拙の場合はLAN内をすでに記録されたデータをhttp://にポートを指定して 決まったプロトコルで送り出すだけなのでほとんど同じ感じで、放送が出来ちゃいます。

WIZ820io だけで2000円近くしますので チップの性能などを考慮しますとだいぶ有利です。

 営業用ではなく家庭内容で、WANには流さないので著作権問題もクリアできます。

AKIさんでこの評価ボードが2500円、これにLAN RJ45コネクタと SDHCカードコネクタを足して、曲位置などをロータリーエンコーダで選択できるようにして、モニター用にMP3コンバータ等(特には不要)や、曲情報表示のLCDを付ければ、立派な放送機が出来そうです。

まずはおきまりのLチカをやってみました。

sIMG_3977.jpg

WS000126.JPG

さすがにARMだけ有ってパワフルです。

次はNXP LPC1769 のEthernet を使ってみます

動作クロック周波数:120MHz
プログラムメモリ:512KB
SRAM:64KB
コアはARM社のCortex-M3を採用
超低消費電力(LPC1769/1768単体):
 7mA@12MHz
 50mA@100MHz
 67mA@120MHz
USB2.0(OTG対応)
RS232、RS485、JTAG
Ethernet(PHYオンボード)
8ch 12bit A/D、1ch 10bit D/A
USBまたはRS232経由で書き込み可能

次はメモリ制限のない mbed も試してみたいです。

追記

I2C_LCDと MP3デコーダを除く 部分の回路を書いてみました。

WS000151.JPG

 


Arduino の不思議 [Arduino]

Arduino の不思議 というより、AVR Atmega328p は 絶対設定pinは 電源やRESET しかなくて、

ほかにはxtal位で、アナログやPWMなどはディジタルポートとして使え、それ以外に、COMポート SPI I2C などの専用機能があることです。

今回の目的にはイーサネット、SDカードを SPIで使い チップセレクトでデバイスの選択し、

LCDはめんどくさいI2Cをさけて、余ったpinに分離状態で割り当てようと思っています。

Atmega328P の機能名 SS MOSI MISO SCK は

16-PB2-D11 17-PB3-D12 18-PB4-D13 19 -PB5-D14

といくつもの名前があって  ややこしいです。

ライブラリに寄りますと SPI によるイサーネットは10、11、12、13 となっています

メモリーや SDカードの SPIは 4 がチップセレクト MOSI MISO SCK は同じバスですが、

機能名ですと DとかAとか書いてあるので10というのはXTAL機能pinでしょうか?

もし違っていれば 適当に入れ替えても 動作するようです。

(専用機能は出来るだけそのまま使った方が速度が上げられます)

さて残ったLCDは LiquidCrystal lcd(rs-a2, Enbl-a3, d3, d4, d8, d10);

LiquidCrystal lcd(25, 26, 5, 6, 14, 16); とバラバラに割り当ててためしてみます。

追加

今更なんですが デジタルピンはd13で終わっていますが、

アナログピンはその次からa0~a5 となっています。

しかしこれをデジタルピンとして設定すると d14~d19として扱えます。

xt1、xt2、は発信器が必要で ほかに宛てることは出来ませんが、

txd、rxd には スケッチを聞き込まないときは ほかに宛てることがせきますが、

d何々とかの名前が内容ですが (d0、d1)かもしれません。

Arduino は AVRチップと ファウンデーションの IDEが核となって チップと基板を組み合わせ

高く売りすぎているように思います。 所詮は  AVRの能力を超えるものではなく、ピン配列なども無理に制限を加えられ、ワンチップ化して マイクロコントローラーとして使うしかない様で、

それとなれば PICの方が  遙かに高機能なんですが、 フルサポートする ソフトが高く、 

次の LPCXpresso NXP LPC1769 なんかと比べると もう終わったな と感じてしまいました。


Arduino と ワンチップ Arduino はおもしろい [Arduino]

Arduino と ワンチップ Arduino はおもしろい。

いろいろ資料を調べてゆくうちに、チップICのピン番で表示をしたものや、

Arduino 本来の端子名で表示がしてあるのとが判った。

またAruduino のバージョンや OSのバージョンで動作したり動作しなかったりと、

不思議な現象になるようだ。


ワンチップArduinoのブートローダ書き込み機 と 「COMポート」の認識 [Arduino]

こんにちは

元ネタは http://www.geocities.co.jp/orion_cosmo/boot.html のからです。 

ワンチップArduinoのブートローダ書き込み機の書き込み機を作ろうと、

(安いチップだけをを好きな基盤に移せるので便利です)

AE-UM232R をPCに認識させようとしたんですが「USB シリアルコントローラ」

は認識するんですが、「COMポート」を認識しません。

スタート 設定  コントロールパネル ハードウエアの追加 から入れようとしても、

うまく設定できません。

nWS000092.JPG

WS000094.JPG

--------------------------------

しばらくあきらめて、FT232RLを使う別の基盤を組み立て、使ってみるとちゃんと認識します。

sIMG_3946.jpg

sIMG_3950.jpg

これを使ってD2XXダイレクトドライバーでブートローダを書き込みました。

FT232RLチップなんですが FT245R と表示されて進行します。

途中、パスが違うとかいろいろ失敗をしながら最後は書き込めました。

C:\に「arduino-1.0.2」 と

「avrdude-serjtag04n」 を移して 「C:\avrdude-serjtag04n\bin」 の下に

BOOTATmega328P.bat  

「@echo off
echo # チップを消去します #
pause
cd C:\avrdude-serjtag04n\bin
avrdude.exe -c diecimila -P ft0 -p m328p -B 4800 -e
echo # フューズビットをセットします #
pause
cd C:\avrdude-serjtag04n\bin
avrdude.exe -c diecimila -P ft0 -p m328p -B 4800 -U efuse:w:0x05:m -U hfuse:w:0xDA:m -U lfuse:w:0xCF:m
echo # ブートローダーを書き込みます #
pause
cd C:\avrdude-serjtag04n\bin
avrdude.exe -c diecimila -P ft0 -p m328p -D -U flash:w:"C:\arduino-1.0.2\hardware\arduino\bootloaders\atmega\ATmegaBOOT_168_atmega328.hex":a
echo # ロックビットをセットします #
pause
cd C:\avrdude-serjtag04n\bin
avrdude.exe -c diecimila -P ft0 -p m328p -U lock:w:0x0F:m
echo # 終了します #
pause」

WS000100.JPG

WS000101.JPG

WS000102.JPG

Arduino ブートローダ書き込みと Arduini IDE スケッチの使い方をまとめてみました。

「ワンチップArduino は Arduino UNO ATMega328P などを搭載、

「ワンチップArduinoブートローダの起動書き込み」
C:\XXXX\BOOTATmega328P.bat へ を起動して、
C:\avrdude-serjtag04n\bin から ブートローダを書き込む。

「Arduino IDEの起動」
C:\arduino-1.0.2\arduino.exe が Arduino IDE の本体、
これを起動して、

「Arduino IDEの設定」
ツール マイコンボード Arduino UNO を選択。
ツール シリアルポート (今回は COM4)を選択設定。
ツール 書き込み装置の選択 (USBtynuISP または、USBasp)
何も選択しなかったら
「avrdude: stk500_getsync(): not in sync: resp=0x00」
と表示されました。

IDE の ツール ブートローダの書き込みは使えません。。

「スケッチの読み込み や スケッチの作成」
C:\arduino-1.0.2\examples\01.Basics\Blink のスケッチ
Blink.ino を ファイル 開く で読み込ませる。
または スケッチブックの例 01.Basic Blink を選択する。

「スケッチのコンパイル書き込み」
ファイル下 の 右矢印を押す。
コンパイルが始まり、書き込みが行われ、
成功すれば、「マイコンボードの書き込みが完了しました。」
と表示されます。」

WS000105.JPG

WS000104.JPG

WS000097.JPG

WS000098.JPG

WS000099.JPG

--------------------------------

AE-UM232R を使った場合の不具合は

MPROGを立ち上げて内容を見ようとしたら、もう無くて、「FTD2XXST.EXE」 に変わっていました。

新型は使いからが判らず少しはさわってみたのですがよくわからず直りません。

 「USB シリアルコントローラ」のドライバの内容をよく見ると「COMポート」同じで、

詳細設定に 「VCPをロードする」というチェック項目があり はずれていたので、チェックをして差しなおしますと、「COMポート」を認識してくれました。

WS000095.JPG

確か以前はこんな設定は見なかった気がするんですが 、デュアルコアにしたせいか、WINXP-SP2をSP3にしたせいなのか、あるいは見落としていたんですね。

今度のPCになってからファイルの削除がよく失敗するのですが、調べてみると、

ダウンロードした、圧縮ファイルが幻を見せてくれるようで、

ダウンロードした圧縮元ファイルを削除すると消えてくれます。

ほかには、FT245RLを差したらFT245Rをまず認識し、 USBシリアルコントローラとして認識し、

更に、COMポートとしても認識します。

FT245RLはどこに行ってしまったんでしょうね。

ではまた

追伸 この Arduino には SDカード と WIZ820IO(イーサネットをつなぎますが)

両方とも SPI接続で チップセレクトをSDカードはd2(pd2) と WIZ820IOはxtal(pb7) にします。

LCDは I2C なんですが 持っていないので  本来 a4,a5 の所を、HD44780 互換の       標準の LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); から

LiquidCrystal(rs, enable, a2, a3, d3, d4, d8, d10) に変更するつもりですが、こんなにバラバラでも動作するか心配です。

今回は 

VS1053bギミック基板 完成品 2060円
VS1053bギミック基板 380円
SPI SRAM 23K256-E/SN 280円
インターネットラジオメイン基板 380円
ワンチップArduino作成用ブートローダー&スケッチライタ(完成版)980円
ワンチップArduino作成用ブートローダー&スケッチライタ 380円
AE-UM232R 950円

と随分高く付いてしまった、それに20曲しか選択できないが、Arduino を使っているので、操作の仕方を変えられるので仕方がないか?

主要部品のアクセスが SRAM, SDカード、MP3デコーダ、WIZ820IO SPIなので、

LCDもそれが使えれば良かったのだけれども、これはI2Cしかないようだ。

(MIKROCで組んでみたら16f628aでも出来るし、74HC590なんかのシフトレジスタだけで実現できるのに、販売されていないようです)

 

 

 

 

 

 

 

 

 


Winamp と BBshout の連携 [LAN 内 放送]

こんにちは LAN内サーバでブロードキャスト(放送)し、BBshoutラジオ(秋月扱い)で放送を聞いています。放送には Winamp を使用しますので PCを立ち上げておく必要があります。

この放送には Winamp の SHOUTcast サーバ経由で LAN内 (パブリックをneverとすると)専用にしていて、外部には出ません。

これで手持ちのCDなどの音楽を流していましたが、 SHOUTcast ラジオ ディレクトリーから、Winamp のプレイリストにドロップダウンして、ダブルクリックすると局と曲の詳細、URL:PORTが取り込まれますので、m3uに保存すると、外部の局であっても、BBshoutラジオから聞くことが出来ます。

SHOUTcast は ほとんど無限の ソースがありますので、切り替えると、どちらも聞くことが出来ます。

(問題はないのですが m3u と BBshout の リスト形式が違うのが 少しネックとなっています)

Web-Radio 

に少し書き足しました。

 


SHOUTcast の 状態を表示するバッチです。 [LAN 内 放送]

こんにちは WIN-XP-SP2 を使っていますが、

IF による分岐 を間違っているらしく、 ELSE 文ではうまく動作しません。

で、2行に分けて 飛び先を換えるインチキをしています。

URL_PORT_test.bat

「@echo SHOUTcast のURLとポートを入力すると、局のステータスを表示します。
@echo stopを入れると諸状態を表示さながら、最後にscサーバを停止します。
@echo 入力をするにはコマンドプロンプト窓から操作してください。

rem URL]PORT 入力初期化
set USR_INPUT_STR=

cd "C:\Program Files\SHOUTcast"
 net start sc_serv

rem cd "C:\Program Files\SHOUTcast"
rem  sc_serv_simple.conf

rem 初期表示
rem start http://Cast.Play.Home:8000/
 start http://174.36.237.66:9060/

@echo off
rem 入力要求
:label03
set /P USR_INPUT_STR="URL:PORTかstopを入力してください:"
IF not "%USR_INPUT_STR%" == "stop" goto label01
IF  "%USR_INPUT_STR%" == "stop" goto label02
rem else が使えない?
:label01
 start %USR_INPUT_STR%
goto label03
rem 繰り返し

rem 終了処理(各種)
:label02
pause
cd "C:\Program Files\SHOUTcast"
 net stop sc_serv

echo scサーバ開始状態表示
pause
cd "C:\Program Files\SHOUTcast"
 sc start sc_serv

echo scサーバ停止状態表示
pause
cd "C:\Program Files\SHOUTcast"
 sc stop sc_serv
pause

後ろの部分は蛇足です。

SHOUTcast サーバのインストール アンインストールのバッチも書きました、これによってサービスそのものの本体を変更できます。

instserv.bat「cd "C:\Program Files\SHOUTcast"
sc_serv.exe install sc_serv 0 0 sc_serv_simple.conf」

uninstserv.bat「cd "C:\Program Files\SHOUTcast"
sc_serv.exe uninstall sc_serv」


LAN内放送と起動と停止、ブラウザに関するバッチファイル [日記]

sc_serv2_win32_07_31_2011.exe

winamp563_lite_ja-jp.exe

shoutcast-dsp-2-3-1-windows.exe

を順にインストールして、

sc_serv_simple.conf の 中を

publicserver=never password=XXXXXX adminpassword=YYYYYY

などに替えると LAN内だけで放送できました。

これは o6asan's さんに随分お世話になってわかった結果です。(ありがとうございました)

http://o6asan.com/blog-j/2012/10/27/winamp%E3%81%AE%E3%83%97%E3%83%AC%E3%82%A4%E3%83%AA%E3%82%B9%E3%83%88%E3%81%AE%E8%A9%B1%E3%80%82/

次は 起動停止を楽にするため考えた バッチファイルです。


(最初のSTART /* は大文字小文字でも出来ます、
ドス窓表示の選択です。)

パスを替える。
XXX>cd “C:Program FilesSHOUTcast”
C:Program FilesSHOUTcast>sc_serv.exe uninstall sc_serv
(サービスの状態は sc_serv 表示がが無くなりました。)

C:Program FilesSHOUTcast>sc_serv.exe install sc_serv 0 0 sc_serv_simple.conf
(sc_serv が登録されて、表示が出ました)
サービスの状態は sc_serv 停止 手動 になりました。
(最初のインストール時に 登録されて ブラウザから見られるのは 開始 自動 になっているのでしょうね。)

C:Program FilesSHOUTcast>START /B net start sc_serv
C:Program FilesSHOUTcast>
sc_serv サービスは正常に開始されました。
(サービスの状態は sc_serv 開始 自動 になりました。)

C:Program FilesSHOUTcast>START /B net stop sc_serv
C:Program FilesSHOUTcast>sc_serv サービスを停止中です.
sc_serv サービスは正常に停止されました。
(サービスの状態は sc_serv 停止 手動 になりました。)

C:Program FilesSHOUTcast>sc_serv.exe sc_serv 0 1 sc_serv_simple.conf
C:Program FilesSHOUTcast>sc_serv.exe sc_serv 1 0 sc_serv_simple.conf
C:Program FilesSHOUTcast>sc_serv.exe sc_serv 1 1 sc_serv_simple.conf
これらはすべて バッド(悪い)コマンドでした。

C:Program FilesSHOUTcast>START /B net auto sc_serv
C:Program FilesSHOUTcast>このコマンドの構文は次のとおりです:

NET [ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP |
HELPMSG | LOCALGROUP | NAME | PAUSE | PRINT | SEND | SESSION |
SHARE | START | STATISTICS | STOP | TIME | USE | USER | VIEW ]
************************
(sc_serv サービスが登録されていると次の操作ができました。)

C:Program FilesSHOUTcast>START /B net start sc_serv
C:Program FilesSHOUTcast>
sc_serv サービスは正常に開始されました。
(サービスの状態は sc_serv 開始 自動 になりました。)

C:Program FilesSHOUTcast>START /B net stop sc_serv
C:Program FilesSHOUTcast>sc_serv サービスを停止中です.
sc_serv サービスは正常に停止されました。
(サービスの状態は sc_serv 停止 手動 になりました。)

C:Program FilesSHOUTcast>sc config sc_serv start= auto
[SC] ChangeServiceConfig SUCCESS
(自動)

C:Program FilesSHOUTcast>sc config sc_serv start= demand
[SC] ChangeServiceConfig SUCCESS
(手動)

C:Program FilesSHOUTcast>sc config sc_serv start= disabled
[SC] ChangeServiceConfig SUCCESS
(無効)

sc を使うと 操作と詳細な 状態が表示されました。

C:Program FilesSHOUTcast>sc stop sc_serv

SERVICE_NAME: sc_serv
TYPE : 10 WIN32_OWN_PROCESS
STATE : 3 STOP_PENDING
(STOPPABLE,NOT_PAUSABLE,ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0×0)
SERVICE_EXIT_CODE : 0 (0×0)
CHECKPOINT : 0×0
WAIT_HINT : 0×0

C:Program FilesSHOUTcast>sc start sc_serv

SERVICE_NAME: sc_serv
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING
(STOPPABLE,NOT_PAUSABLE,ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0×0)
SERVICE_EXIT_CODE : 0 (0×0)
CHECKPOINT : 0×0
WAIT_HINT : 0×0
PID : 2852
FLAGS :


うちでは33台のLAN ipアドレスを使っていますが、8台しか実装していません。

Ipアドレスの固定 

# ローカル エリア接続 右クリック 
# TCP/IP 固定アドレス、サブネットマスク、デフォルト ゲートウエイ を入れる。
# デフォルト ゲートウエイ を 優先DSNサーバーにコピーする。
# インターネットに繋げなくなるので、つぎの解決をする
# ローカル エリア接続 をダブルクリック サポートタブ 修復を押す。
# %SYSTEMROOT%\system32\drivers\etc\hosts

192.168.0.2      Abcd.efgh.ijkl
127.0.0.1         localhost

代替DSNは出来ればipアドレス範囲内の続きでほかで使いそうにないところにします。

これで1台のpcから放送をして別のPCにwinampだけを入れるとLAN内でのみ放送が聴けます。

SHOUTcast型のラジオでも聴けます。

送り出しPCの裏でやってくれているので、BGMに最適です。

WINDOWS_XP-SP3 の場合は ファイアウオールと管理のサービス、ローカルエリア接続が関連します。

ではまた


メッセージを送る

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。