オーディオ環境をでっちあげてみた

ラズパイマガジン 2018年4月号の付録を作ってみて、以前作ったアンプや買うだけ買って作ってなかったイコライザなとを組み合わせてみた。
とりあえず全景。

今回は、100円ショップで売っていたアクリル製品を利用している。

普段はアクリルの残材などを使って作っているスタンドですが、ちょうどいい大きさの物があったので、今回はそれを買って利用。
他にもアクリル板をコの字に加工したものがあって、サイズがちょうどだったので2つ使って棚状に組み合わせて使っている。そのまま重ねてもずれたりするので、ここは残材のアクリル板を接着して固定している。

上段の様子。

上からラズパイマガジン 2018年4月号の付録。
次におとなの科学で売られていた真空管アンプ
そしてベビー・アンプ [ PS-3238 ]TELキット 5分割グラフィックイコライザ
その下に電源(12V)と音源の分配ユニット。
スピーカーは以前作った物を塗装した。

中段の様子。

以前作ったローノイズパワーアンプ [AKIT-326]と新たに作ったスピーカー
枠に吊るされるように取り付けてあるのがオーディオ スペクトラムインジケータ
作るだけ作って使ってないものも置いてあるけど。

スペアナ用に単独で電源を用意すれば特に問題ないけど、ACアダプタをこれ以上増やしたくないため分配ユニットから電源を取るとようにしたのだが、そうするとノイズが回ってくるので、間にOPアンプを使ってバッファを設けようと考えた。

そしたらちょうど秋月のNJM4580DD使用ヘッドホンアンプキットというのが目的にぴったりだったので、これを使うことにした。
電源は3端子レギュレータキット 5V DCジャック版(DCJ版)で5Vに降圧している。

背面の様子。

分配ユニットで配線を減らそうとしたけど、やっぱりごちゃごちゃしてしまう。

概要は下の図の通り。

電源は一括でON/OFFできるようにつくってある。
図にはないけど、ユニット前面のジャックに別の音源を差すとそちらが優先されるようになっている。

今回、このオーディオラックを作ってみて、久々にいろんな曲を聴いてみた。
やっぱスペアナついていると、曲を聴いていて面白いよね。
この手のキットって、ほかの面白そうなキットも含めて最近は輸入物ばかりなんだけど、日本のメーカーも数が限られているからなぁ・・・

カテゴリー: RaspberryPi, 電子工作 | コメントする

VPNサーバの自力での構築はあきらめた

何年も前からVPNサーバの構築に挑んでいたが、結局あきらめた。

もともとは仕事の関係でスマホでL2TP/IPsecを使ってVPNのサービスできないものかと検討を始めたことがきっかけで、そのとき自分の家とVPNをつなげたら外出先で自宅のPCいじれるんじゃねってことで、ネットでググりながら構築を始めたのが最初。

どうやらPPTPよりもL2TPの方が制限事項もなくIPsecと組み合わせてセキュアにつなぐことができるらしいとのことだが、そのころはPPTPが使えるブロードバンドルーターはあっても、L2TPに対応しているルーターは皆無だったので、自分で構築するしかなかった。

旧ひとりごとでも何度か書いたような気がするけど、最初はPCでLinuxを動かしてOpenswan等を使って構築。
しかし最初の数分は通信ができるけど、それを過ぎると途端に通信できなくなる。
いろいろ試してみたけどダメだった。

その後引っ越しして、さらに時間が経った頃にRaspberry Piが発売された。
今度はRaspberry Piで同じように構築してみようと思い実行してみたが、やはり通信できるのは初めのうちだけで、そのうちに疎通が途切れる状態。

PC+LinuxでやってもRaspberry Piでやっても全然だめで、どうしたものかと思いながら、amazonでL2TP/IPsecに対応したルーターがないものかと検索したところ、値段的に高いものの対応しているルーターがいくつか見つかった。
数年間やってもうまくいかず、今後も見通しが立たないのであれは2万円ぐらいまで出してもいいかなと思ってたところ、手ごろな値段のルーターを見つけることができた。
PLANEX 10/100Mbps 有線タイプ VPNルータ VPN-41FE IPSec・L2TP・PPTP対応
結局このルーターを購入してVPNを使えるようにした。

VPNサーバを構築・試験するために作ったラック。
100円ショップで買ったパーツを組み合わせて試験ラックを作った。
Raspberry Piが3台あり、元VPNサーバ用、VPN接続確認兼WardPress練習兼プラグイン検証用のWebサーバ、試験用LANと室内LANをつなぐための踏み台サーバ。
さらにLATEPANDAがWindows版の踏み台サーバとしてつながっている。
VPNは試験用LANにつながって、直接室内LANには入れないようにしてある。

結局VPNは製品を使ってしまったので、これらの機器については今後どうしようか悩みどころだ。

カテゴリー: ひとりごと | コメントする

ラズパイマガジン 2018年4月号の付録をいじってみた

ラズパイマガジン 2018年4月号の付録について、筆者のページにて4月4日版の最新ソフトが公開されていたので、導入してみた。
リモコンから、再起動、シャットダウンの機能が追加されていた。
しかし、自分としてはIPアドレスの表示の機能がほしかったので、自力で追加してみた。

システムメニューの空きスペースに無理やりIPアドレスの表示を突っ込んでみた。
eth0はつながっていないので赤で000.000.000.000の表示をしている。

ソフトウエアの変更点だけをdiffで取ってみた。
もう少しうまくできると思うんだけど、Pythonをはじめから勉強する必要ありそうだな。

 
root@superdac:/usr/local/bin# diff superdac.py superdac.py.orig
350,357d349
<                               os.system('ip a show dev eth0 | grep "inet " | sed -e \'s/^ *inet //\' | cut -f1 -d "/" > /usr/local/bin/ip-eth0.txt')
<                               fe=open('/usr/local/bin/ip-eth0.txt')
<                               ipeth=fe.read()
<                               fe.close
<                               os.system('ip a show dev wlan0 | grep "inet " | sed -e \'s/^ *inet //\' | cut -f1 -d "/" > /usr/local/bin/ip-wlan0.txt')
<                               fw=open('/usr/local/bin/ip-wlan0.txt')
<                               ipwlan=fw.read()
<                               fw.close
366,378d357
<                               draw.text((0,58) , 'IPアドレス'      , font=jpfont, fill='#FFCC00')
<                               draw.text((0,72) , 'eth0'            , font=jpfont, fill='#88FFFF')
<                               if ipeth == '':
<                                       draw.text((0,86) , '000.000.000.000' , font=jpfont, fill='#FF0000')
<                               else:
<                                       draw.text((0,86) , ipeth             , font=jpfont, fill='#44FF88')
<
<                               draw.text((0,104), 'wlan0'           , font=jpfont, fill='#88FFFF')
<                               if ipwlan == '':
<                                       draw.text((0,118) , '000.000.000.000' , font=jpfont, fill='#FF0000')
<                               else:
<                                       draw.text((0,118), ipwlan            , font=jpfont, fill='#44FF88')
<
root@superdac:/usr/local/bin#

 

カテゴリー: RaspberryPi | コメントする

スマホ用Bluetoothリモートシャッター

ネットをウオッチしていたところ、ダイソーでBluetoothを使ってスマホのカメラのシャッターが操作できる商品があるとあった。
早速自分でも手に入れて確認してみる。

使い勝手は、まあ悪くない。
三脚を使って写真を撮ろうとすると、ズーム操作やシャッターが押しにくいと感じることがある。
ダイソーでスマホ用Bluetoothリモートシャッターを発見→分解→ちょい改造:ウェブ情報実験室で改造記事を読むと、ボリューム調整ができるように改造しています。
しかし記事のままの改造では、手持ちのスマホの場合、ボリュームの調整はそのままズームの調整だけでシャッターを切ることはできません。
そこで、ボリューム調整(ズーム調整)とシャッターが使えるようにタクトスイッチ3つ使ったものにしてみた。

新規で買ったのはタカチ電機のコイン電池が入れられるCS75Nと専用の基板ぐらい。
後は手持ちのタクトスイッチとスライドスイッチを使用。

実際組んでみたところ。
ポリイミドテープで絶縁して両面テープで固定。
面倒なのはICから直接配線するところぐらいで、あとか既存のスイッチのパターンやチェック用のパターンを利用して配線。

ケースに組んだところ。

ボリューム(V-,V+)でズーム調整で、シャッターボタンでシャッターを切ることができる。
使いやすいようにタクトスイッチは三角に配置してみた。
これで三脚を利用した撮影がやりやすくなった。

ただ、この改造はグレーゾーンでもある。
もとの商品は技適を取ってあるが、改造したことで技適的にどうなのだろうか。
スイッチを追加して外見を変化しているだけで、無線上の特性は変わってないはずだが。
室内だけで使って、あまり多様はしないほうがいいかもしれない。

そういえば以前、携帯電話端末関係の仕事で技適がどうこうってことで苦労したことがあったな。
かなり面倒で落としどころを見つけるまで結構時間がかかったような気がする。

しかし、某店では技適取ってないだろ的な商品や怪しい名称の機器や明らかにコピー品を売ってたりしてるし実際のところどうなんでしょう。

カテゴリー: 電子工作 | コメントする

電車で見かけたヴァカ者ども その2

電車で見かけたヴァカ者どものその第2弾。

1ヶ月か2ヶ月ぐらい前だったと思ったけど、ネタにしようしようと思ってたらこんなに時間が経ってしまった。

それはともかく駅を利用していると、意味不明な行動を行っている奴に出くわすことがある。
一つ目は、まっすぐす進めばすぐに改札機があるのに、なぜか進路を変えて自分の前に割り込んできたバカ女。
磁気カードの定期や切符で対応してないからやむなくというわけでもなく、普通にICカード式の定期を出していた。
なんでわざわざ進路を変える必要があるか理解できない。


そういえば、ICカードをこれでもかってぐらいに改札機にたたきつける奴もいるけど、一体何考えているのか理解できない。

もう一つは、並ぼうとしたところを横から割り込まれた。

横から見てたら並ぼうとしているのがわかるだろうに、自分が合間を詰めようとしている隙に割り込まれてしまった。
ほんとふざけんなって感じだ。

そういえば、先日、電車に乗ってたら出入り口付近の通路のど真ん中に座り込んでベルマークかなんかをハサミで切り出した奴がいた。
邪魔この上なかったので写真でも撮ろうかと思ったが、シャッター音をさせるのもアレなのでやめた。

他にもひゃっくりのように奇声を上げ続ける奴とか、最近見かけないけど電車の中でいきなりでかい声で歌いだす奴も見かけたのだが、そういった連中をどうにか排除できないものか。

カテゴリー: ひとりごと | コメントする

ラズパイマガジン 2018年4月号の音楽プレーヤーを作ってみた

ラズパイマガジン 2018年4月号の音楽プレーヤーがちょっと面白そうだったので、買って作ってみた。

リモコンはaitendoで売っていたものを使用。
リモコンは本に書かれている方法では、登録しても認識できなかったので、補足の方にあったirrecordのRAWモードで登録。
SDカードは相性があるようで、使えたり使えなかったりしたが、それ以上に横に飛び出ているのが見た目的にバランスが悪い。

USBメモリを使うように少し設定を変える。
また、RaspberryPi 2Bを使っているので、WiFiドングルを取り付ける。

見た目的に少しすっきりしてきた。
これでつながっているケーブルは電源とオーディオの出力だけ。
L型のコネクタならばもう少しすっきりするかな。

リモコンの方は、MENU,STOP,PAUSEに当たるものがないのでそれぞれ適当に割り当てて代用。
銀色のテプラで機能を表示、未使用な部分はテプラを貼った際の切れ端でマスク。

実際使ってみた感じでは、MP3のタグの文字コードによっては文字化けして日本語が正しく表示できないことがある。
アルバム選択画面で文字化けばかりだが、文字化けを起こしているのは古い時代にフリーソフトを使って取り込んだものばかりで、Windows Media Playerで取り込んだ最近の物だと正しく表示してくれた。
音質は悪くないと思うけど、自分の耳ではPCで再生した時やスマホで再生した時との違いがあまりわからなかった。
まあエンコードする際のビットレートや、アンプ、スピーカやヘッドホンなども影響するのだろうけど。

作ってみて面白かったけど、半田付けを楽しんだぐらいかな。
もう少しスキルがあればいろいろカスタマイズしたいところだけど、自分ではそこまでするほどのスキルもないし・・・

カテゴリー: RaspberryPi, 電子工作 | コメントする

NanoPi NEO2とLattePanda

NanoPi NEO2だがpinピンアサインをよく見ると、USBが2ポート分出ている。
また、このままだと放熱板を下向きで扱うことになるのでなんか気になる。
そこで、USBポートと音声系のジャックを付けたベース基板を作ってみた。

コンソールからI2Cのメッセージが出っ放しだったのは、プルアップ抵抗をつけてみたところ全く出なくなった。

装着したところ。
 
GPIOコネクタはNanoPi NEOの場合24ピンだが、RaspberryPiに合わせて26ピンにしてある。
25番ピンはGNDにして26番ピンはNCにしてある。
秋月電子のRaspberry Pi キャラクタ液晶ディスプレイモジュールキット バックライト付をつないで表示させてみたところ。

ピンアサインは同じなのでそのまま使うことができた。

それとは別にLattePandaも買った。
追加で液晶モニタやタッチパネルを買って繋いでみたが、タッチパネルの右側に行くほどずれて認識して右端は全然反応しない。
キャリブレーションしても右端の方は認識できずハズレを引いたかと思ったが、秋月電子のよくある質問(Q&A)のところにドライバの更新で改善されるとあったので試したところ、今度は正しく認識するようになった。
LattePanda用のケースはいくつか見かけたが、ディスプレイ込みのケースは見つけられなかったので、アクリル板を加工してケースをつくる。
ちなみにLattePandaの上に載せてる透明のアクリル板は別途買ったケースのもの
最初はディスプレイまでつけようとは思ってなかったので、買ったケースの物をそのまま使っている。
余った底板はどうしたものか。

ちなみに冷却ファンはケースの説明書にあったようにLattePandaの表側に付けてある。

秋月電子マルツの商品ページを見ると基板の裏面の方に付けているのだけど、表側でも大丈夫なのかしら。

背面の様子。

フラットケーブル長すぎ。
どういう使われ方をするかわからないから長めに作ったんだろうけど、余長の部分は無理矢理ケースの部分に押し込んである。

あとはスタンド。
いつものごとく切り取った残材を利用。
というか、今回は残材がわりと多かった。


今回は、冷却ファンやコネクタをふさがないようにちょっと凝ってみたけど、電源用のUSBケーブルやHDMIケーブルとぎりぎりの場所になってしまった。

ちなみに今回買ったのは4GB/64GBのほう。
ストレージが32GB版の方が安いのだけど、そんな容量だどすぐ残り容量が枯渇してくるのは目に見えていたので、奮発して64GB版の方にした。
それに32GBの方はWindows10 Homeに対して、64GB版の方はWindows10 Enterprise LTSBで、2万円台後半の値段でハードとEnterprise版がセットっていうのは結構いいほうなのかな。
秋月電子のページ
マルツのページ

カテゴリー: Linux, PC, 電子工作 | コメントする

NanoPi NEO2

NanoPi NEO2を手に入れて遊んでみる。

コンソールをつなぐと、延々と「i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0」のメッセージが出続けている。

 
pi@NanoPi-NEO2:~$
pi@NanoPi-NEO2:~$ [   24.062267] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[   26.110219] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[   28.158041] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[   30.206210] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[   32.254037] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0

NanoPi NEO/NEO2を販売しているページに載っている注釈にRaspberryPiとは互換性はありませんと書かれてはいるが、ピンアサインを見ると、実は結構RaspberryPiを意識しているのではないかと思わされる。
図のように、+5V,+3.3V,GND,i2c,UART,SPIの位置が一致している。
もちろんピン数が違うので、RaspberryPiでしか使えないものもあるし、UARTの使われ方も若干違うが、そこは設定や使い方次第だし、SPIも1デバイス分しかないけど、その辺を押さえておけば結構流用できる物もあるのではないだろうか。
どちらかというと初期型のRaspberryPiが近いのかな。



そこで、メッセージが鬱陶しいのでなんとなくRaspberryPi用のRTCモジュールをつないでみた。

 
root@NanoPi-NEO2:~#
root@NanoPi-NEO2:~# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
root@NanoPi-NEO2:~#
root@NanoPi-NEO2:~#

結果、「i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0」のメッセージは出なくなって、RTCも認識しているようだ。
あとは、RTCモジュールを使えるように設定してやればOKかな?

カテゴリー: Linux, 電子工作 | コメントする

続・MSXのプリンタを手に入れた。そしてポケコンにつないでみた。

前回MSXプリンタを手に入れた際、自作のインターフェースでは印刷に不具合が発生していた。
少し気になったことがあったので、自作2号で試してみることにした。

Dサブ25ピン用に作ってあるので、変換ケーブルを作る。
PaperEnd、Errorまで考慮に入れていないのでPaperEnd、ErrorのLEDは付きっぱなしだが、信号をモニタしているだけなので、とりあえず無視する。
気が向いたら変換ケーブルの方手直ししておくか。

そして実際印刷させてみた。

案の定LLISTもハードコピーもうまくいっている。

1号機2号機の違いについてみてみる。

1号機は元にした本をそのまま作っているのに対し、2号機では74HC05ではなく74HC04を使ってアレンジを加えている。

回路図は以下の通り。

74HC04と74HC05の違いについてデータシートを確認すると、74HC05のデータシートには『ピン接続、機能はTC74HC04A と同じですが、すべての出力がNチャネルFET のオープンドレインになっており、ワイヤード接続が可能です。』と記述されている。
元の回路を見るに、プリンタ側でプルアップされているだろうことを前提に、74HC05を使用しているようだ。

ところが今回のMSXプリンタの場合、74HC05がオープンドレインになっていることでプリンタ側でHレベルが十分認識できない場合があって1号機では正しく印刷できず、74HC04を使った2号機ではH/Lがはっきりしているので正しく印刷することができたってところか。

こうして原因を調べたらあっけないものだったな。

カテゴリー: ポケコン, 電子工作 | コメントする

MSXのプリンタを手に入れた。そしてポケコンにつないでみた。

16日の土曜日。
秋葉原でいつものようにジャンク巡りをしていた。
昔に比べてジャンク屋が確実に減っているよなと思いつつ、まだ入ってみたことがない店があったので、入ってみる。
なんと、昔MSXで使っていたプリンタと同じものがジャンク扱いで480円(税別)で売っていた。
懐かしさもあいまって、値段もお得なのでダメ元で速攻購入。
それがこのPanasonicのFS-PC1というプリンタ。

カラー印刷もできる機種だが、もはやインクリボンは売ってないだろうからもっぱら感熱紙専用のプリンタとしか使いようがない。
早速100円ショップでFAX用の感熱紙ロールを買う。

A4サイズ用の感熱紙ロール用の止め具はついているが、100円ショップで売ってたのはB4サイズの物のみだった。
とりあえず、Lアングルの残材を用いてB4ロールの止め具を作る。
オプションを取り付けるための穴があるのでそれを利用して固定。

高校時代も確かB4サイズのロールを使ったような記憶があるのだが、そのときどうやったのかよく覚えてない。
針金を使って何とかしたような気もするのだがよく思い出せない・・・

本来なら針金でできた印刷された紙が給紙側に巻き込まれるのを防止するための金具があるのだが、ジャンクのためかついてなかったので、塩ビ板を適当に加工して代用品を作って準備完了。

ただ懐かしさと値段の安さだけで買ったわけではない。
高校時代にポケコンとこいつをつないで印刷してみたりしていたこともあったので、今回もこいつでポケコンから印刷をしてみようと思ったわけだ。

まずはCT-431をつないで印刷してみる。

OPEN ”LPRT:”したあとにLLISTコマンド。
ちゃんとリストが印刷された。
いったんCLOSEしてプログラムを実行。
ポケコンの表示はこんな感じ。

FS-PC1(というかMSX用のプリンタ)はPC-PR系のコマンドが使われているのをだいぶ昔に調べたことがあったので、もしやと思って確かめてみる。

うん、OPEN前のHDCOPYは正しく印刷されている。
というか、なぜか左上に「P」と印刷されているが。
OPEN後にLPRINTとかした後とかCLOSE後のHDCOPYコマンドはなぜかゴミが混ざってしまっている。
[SHIFT]+[1]でもハードコピーを取ってみる。

一応うまくいっている。
なぜかやっぱり左上に「P」と印刷されているが。
もひとつおまけに文字コードで印刷してみる。

80h~9FhとE0h~FFhはMSXではひらがなが割り当てられているので、プリンタもその通りに印刷されている。
ちなみにLPRINTで「;」を付けて連続印刷した場合、最後に「;」を付けずでLPRINTしてやらないとプリンタのバッファに残って印刷されないことがあるので注意しなければ。

次に本を参考に自分で作ったインターフェースで確かめてみる。

LLISTが正しく印刷されていない。
ハードコピーもうまくいっていない。
自作のインターフェースが悪いのか、それとも別の何かがあるのか。
高校時代にPC-G803・PC-G813とつないだ時は正しくLLISTで印刷できたのに。
TM-T88IVの場合もLLISTは正しく印刷できているし、いったい何が何やらわけがわからなくなってきた。

ちなみにエプソンのTM-T88IVのページはいつの間にか削除されていた。

カテゴリー: ポケコン, 電子工作 | コメントする