ぐり、DTMerになる!

こんにちは、ぐりです。

昨日、DTMを始めようと、オーディオインターフェースとモニタリングヘッドホンを購入してしまいました。購入したのは以下の2品。

[amazonjs asin="B017JSEDJY" locale="JP" title="Steinberg スタインバーグ 2x2 USB2.0 24bit/192kHz オーディオインターフェース UR22mkII"]

[amazonjs asin="B000UPEJCU" locale="JP" title="SONY 密閉型スタジオモニターヘッドホン MDR-CD900ST"]

(一応断っておきますが、上の2つはアソシエイトのリンクです)

合計3万円を超えていますが、ここはないと始まらないので買っちゃいました。

Cubaseが付いているということなので、届いたらすぐ始められそうですね。

打ち込み用に49鍵のMIDIキーボードがありますが、4オクターブだと両手での演奏ができないので、また今度88鍵のキーボードを買おうかなと考えています。その時には49鍵のキーボードを誰かに安く譲ろうかな。

持っているのはAlesisのQ49というやつです。ダンパーペダルとして、自作のペダルスイッチを使っています。自作なので構造は適当で使いにくいですがね。

[amazonjs asin="B003VG2P6M" locale="JP" title="Alesis MIDIコントローラ(49鍵) Q49"]

今度購入を検討している88鍵のキーボードはM-AudioのKeystation 88というものです。ハンマーアクション鍵盤じゃないのでピアノの代わりに使うのは厳しいですが、セミウェイトなので、そこそこの弾きごたえはあるんじゃないかな、と考えています。ピアノは1,2か月程度しか触っていないので、タッチはそこまで気にしません。あと、スタインウェイのグランドピアノ音源がバンドルされているので少し期待しています。これとスタンド、ダンパーペダル等入れて3万円前後ですかね。買うなら来月下旬ですね。

[amazonjs asin="B00IWTS58A" locale="JP" title="M-AUDIO エムオーディオ Keystation 88 88鍵MIDIキーボード MA-CON-024"]

というわけで、しっかりDTM始めようとしていますが、よく考えればそんな時間なんてないわけで、プログラミングの息抜き程度になるかと思います。

USBデバイス作るぞ

NTに出展してきたら急にmake欲が高まってきたぐりです。

さて、NT京都で出展しながら考えました。「USBメモリみたいなハッキング装置」をもっと改良したいな、したら面白そうだな、と思ったので、新しく作り直そうかと思います。せっかくなので、新しい機能として幾つか考えてみました。

  • DFUによる単体でのプログラミング
  • microSDカードを搭載し、MSC対応

これで、組み込んだ状態でコマンドを書き換えられるし、本物のUSBメモリとしても使えるようになります。後は無線をつければ完璧ですが、そこまではやりません…

で、ただのハッキング装置を作ってもつまらないし(というか、ネタにしかならない)、さらにそれを量産して意味あるのか?と思ったので、USBデバイス作成用の汎用マイコンボードにしてやろうと思いました。構想としては、マイコンボードの一部を切り取ると、USBメモリ状になる、というのを考えています。

具体的な回路等は全く考えていませんが、マイコンはARM Cortex-M0の乗ったNXP LPC11U3xシリーズを使おうと考えています。多分11U35になると思う。

サクッと設計してしまえば、NT金沢や東京、MFTの時期には十分間に合うと考えています。ちなみに、今年もMFTに応募してみようと考えています。落ちたらNT東京ですね。金沢は交通費等の面でクソ行きにくい場所なのでやめておきます。行くとしたらどうせ新幹線になるだろうし…

もし、イベントに間に合ったら基板等頒布するかもしれません。ですが、悪用されたら困るので、一般向けではないです。完成品頒布するとしても、プログラム書き込んでない状態になりますね。興味あるって方、いらっしゃったらtwitterとかで声かけてください。コメントでもいいですよ。

それでは。

iptablesの使い方メモ

iptablesの設定メモです。良く忘れるので。ほかの人に役に立つかは知らない。

ルール確認

sudo iptables -nvL

n -> サービスでなくポート番号で表示 v -> パケット数を表示

 

ルール1つ削除

sudo iptables -L --line-number
sudo iptables -D INPUT [number]

 

ルール追加(許可)

sudo iptables -A INPUT -p tcp --dport [portNo] -j ACCEPT

 

 

 

NT京都2016に出展してきました(真面目Ver.)

こんにちは、ぐりです。 リフロー炉も3Dプリンタもひと段落着いたのに全然記事書いてなくて申し訳ないです。今日明日あたりにでも書きます。

さて、先日の3月19日(土)20日(日)に春日幼稚園で開催されたNT京都2016に出展してきました。年に一度、合法的に幼稚園に泊まることができるなんともうれしいイベントですね。

真面目Versionということで、自分の出展物等の説明や、周りの面白かった展示(といっても同じ部屋しか見れていない・・・)を紹介しようかと思います。

[caption id="attachment_226" align="alignnone" width="300"]NT京都2016のtessecraftブース NT京都2016のtessecraftブース[/caption]

今回も、Rといっしょに"tessecraft"という名前で出展してきました。tessecraftとしてはNT東京、名古屋に続いて3回目の参加です。tessecraftとしては光り物とか鳴り物をやろうって去年のNT京都の時に言っていたはずですが、ぐりが作ったものは光ることもなければ、鳴ることもありませんでした。

Rの出展物に関しては本人のブログ(http://zgtk-r.blogspot.jp/)に任せるとして(投稿するとは言ってない)、自分の出展物を紹介します。出展物は以下の2つですね。

[caption id="attachment_220" align="alignnone" width="300"]USBメモリみたいなハッキング装置 USBメモリみたいなハッキング装置[/caption]

1つめのUSBメモリみたいなハッキング装置ですが、去年出展したものとまったく同じです。しいて言えば、外装をはがしただけですね。こいつの説明に関しては、去年の出展報告の記事を見ていただきたいです。要はUSBキーボードマクロって感じですね。

このUSBメモリみたいなハッキング装置ですが、汎用のUSBマイコンボードとしても使える新バージョンを(脳内で)企画しています。これは基板を起こして頒布もしようかなと考えています。決して悪用しないでね!!

[caption id="attachment_221" align="alignnone" width="300"]IC乗車券の履歴を記録するやつ IC乗車券の履歴を記録するやつ[/caption]

2つめは新作のIC乗車券の履歴を記録するやつ(仮称)ですね。これはユニバーサル基板で仮組みしただけの試作品で、しかもプログラムがまったくできていませんでしたが、そこそこ好評でした。この作品は、Suica,PASMO等のIC乗車券をかざすことでSF残高と乗車、使用履歴を確認できるとともに、あらかじめ登録してあるカードであれば履歴をSDカードに記録することができるものです。IC乗車券を使ってると、なかなかお金を払って電車に乗っているような気がしなくなってくるもので、実際、残高が減ると無意識にチャージしてしまうものです。この装置を使うことで、ひと月の総使用額だったり総チャージ額、乗車履歴なんかを可視化できるようにしよう、というものです。出展してみると、「交通費清算に役に立ちそう」なんて声が良く聞こえました。確かに、仕事で定期外に乗車することだってあるだろうし、使えるなーと感じました。

[caption id="attachment_222" align="alignnone" width="300"]IC乗車券の履歴を記録するやつの中身 IC乗車券の履歴を記録するやつの中身[/caption]

中身はいたって単純です。手前の青いモジュールがUART接続のPasoriSuica等の読み取りを行います。そのほかに、LCD、ロータリーエンコーダーが付いているのが分かるかと思います。Pasoriのモジュールは高さを稼ぐために3Dプリンタで製造したスペーサーを挟んで両面テープで固定しています。microSDスロットはPasoriの下に取り付けてありますね。マイコンはマルツで売っているLPC1115を使用しました。取り付け場所は基板の裏です。配線はスパゲティなので見せられません。0.5mmピッチICを0.2mmのUEWで配線しています。Pasoriモジュールの手前の余白には本当はRGBLEDを付けて、タッチ時に光らせようかなと考えていましたが、RからLEDをもらうタイミングがなく、実装できませんでした。

実際に展示したものは、IC乗車券の残高を表示するだけでした。時間がなかっただけです。前々日にカラオケなんか行ってるから悪い。

周りの紹介ですが、全然写真を撮るのを忘れていました。もう少し余裕がほしいですね。

[caption id="attachment_223" align="alignnone" width="300"]炭酸の爽健美茶(by GHz2000さん) 炭酸の爽健美茶(by GHz2000さん)[/caption]

1枚だけ撮っていた写真です。緑のボンベが炭酸ガスが入ったボンベで、それをつかって炭酸の飲み物を作っています。持ち込めばなんでもやってくれるということで、Rはコーヒーでやっていましたが、自分は飲みませんでした。その代わりに飲んだのが、炭酸の爽健美茶です。GHz2000さんが右手に持っているペットボトルに入っているのが炭酸の爽健美茶ですが、かなり泡立っていますね。麦が入っているものは泡立ちやすいって言っていた気がします。ビールみたいですね。味は酸っぱかったです。ちょっと前に(普通の)爽健美茶を飲んでいましたが、全く違うものでした。もう二度と飲みたくないと思いましたが、機会があればぜひ飲んでみてください。お茶だと思って飲むと後悔しますよ。

このほかにも、7Seg.LEDでBadAppleや布教活動用のアタッシュケースに入ったフルカラーLEDマトリクス、そうめんを食べてるのにラーメンを食べてるような気がするVR、ほかには初音ミクライブとか最高でした。「NT京都2016」とかで検索してあげると色々見れるかと思うのでぜひ!!

3Dプリンタ Prusa i3をポチった

こんにちは、ぐりです。

3Dプリンタを自作しようと少しずつ部品をそろえようと、Maker御用達(俺の周りだけ?)の中国のショッピングサイト、AliExpressを物色していたところ、「3Dプリンタのキット買ったほうが早いし、安く済むんじゃない?」という、気づいてはいけないことに気が付いてしまいました。デルタ式用にアルミフレームはすでにMonotaROで購入済みでしたが、それは2台目の材料にするということで、AliExpressで3Dプリンタのキットを購入しました。

雑学追究室でも丁度1年前に3Dプリンタ(Kossel k800)を購入し、そこそこ使えるように(?)なっているようですが、やはり、出力に時間がかかる3Dプリンタは自宅にあった方が気軽に使えます。雑学追究室の本部は夏は暑くて、冬は寒いという、最悪な環境なので、そんなところで数時間も待てないですしね。

ということで、購入した3Dプリンタはこれです。

2015 Upgraded Quality High Precision Reprap Prusa i3 DIY 3d Printer kit with 2 Rolls Filament 8GB SD card and LCD for Free 2015 Upgraded Quality High Precision Reprap Prusa i3 DIY 3d Printer kit with 2 Rolls Filament 8GB SD card and LCD for Free

これを選んだ理由ですが、

  • XYZ軸が独立している(デルタ型じゃないものを扱ってみたかった)
  • 安かった(3万円でおつりが!?)
  • オーダー数が多く、評価も高かった(記事書いた時には1500order以上、★4.8あった)
  • 配送がFedExで、しかも送料無料(DHLで186USDというぼったくりな選択肢もあったが・・・)
  • フィラメントが2巻ついてくる
  • ヒートベッドがある

といったあたりですかね。

一応、1週間以内に発送、そこからまた1週間以内に到着という予定なので、早ければ来週中、遅くとも3月上旬には届いてるでしょう。

また届き次第、次の記事を書きます。お楽しみに。

オーブントースターを改造したリフロー炉を製作中(1)

こんにちは、NT京都2016に出展応募したぐりです。

さて、今、学校でオーブントースターを改造したリフロー炉を製作しています。リフロー炉の製作はメインでやっているわけではなく、同じく学校のあるチームで開発しているブツの製造のために仕方なくやっている、といった感じです。そのブツにはBGAの部品があり、手はんだできないということで、先生を説得(?)して製作してます。

今回はSwitch Scienceさんが業務でも利用しているというオーブントースターリフロー炉を参考(というか、パクリ?)にして製作しています。本当は時間に余裕があればもう少ししっかり検討してから開発したいんですがね・・・。

主な部品

  • オーブントースター

[amazonjs asin="B00O5WWZU2" locale="JP" title="パナソニック オーブントースター ダークメタリック NT-T500-K"]

ハードウェア

Switch Scienceさんで実際に製作した際の例をもとにオーブントースター、SSR等を入手しました。コントローラはArduino互換機(一番近いのはPro nanoかな?)で3.3V 8MHz動作のATmega328P-AU、ディスプレイは20列4行のそこそこ大きいもの(バックライト付きだけど非点灯な回路)、温度測定は熱電対(K型?)、電源制御は先ほど挙げたSSRを2つ(上下のヒーターにそれぞれ)使用してます。Arduinoを卒業してmbedに移行したと(脳内で)宣言していた自分としては不本意Arduino復帰となりましたorz。

ちなみに、操作用にタクトスイッチを2つ増設しています。

本体が学校なので写真はまた今度。

ソフトウェア

こちらもSwitch Scienceさんがgithubで公開しているものを・・・と思いましたが、ゼロから自力で書けって(自分が)うるさかったので(ライブラリを除いて)ほぼ自作です。「ほぼ」っていうのは熱電対から温度を取得するルーチンだけ流用したからです。

主な仕様(予定)は以下の通り

  • プロファイルは2つから選択
  • PCでプロファイルを作成し、転送してEEPROMに書き込める
  • PCで温度のグラフを出力できる
  • ヒーターはPID制御(したい)
  • PID制御の係数(Kp, Ki, Kd)の自動チューニング(したい)

上の3つはほぼ実装済み、PIDの自動チューニングは少し厳しいため、自力チューニングしているところです。ここで実際のグラフを見せたいところですが、編集する気力がないのと文字数が増えてきたので、また次回。

ソースコードは現時点で800行。まだまだ少ないですね。プログラムメモリは半分程度埋まっています。

数日後には運用しないといけないのでそのころまでには次を書きますね。

 

ちなみに、前記事のブルースクリーン、今のところ再発していません。やったね。

2016年2月14日 01:10 公開 2016年2月14日 14:21 リンクを追加

Windows8.1でSTOPエラー0xdead039e

こんにちは、ぐりです。Aitendo福箱の記事を書くと言ってましたが、忙しすぎて箱ごと埋もれてしまっています。

今回は最近頭を悩ませているブルースクリーンについてです。Windows7か8になったころから、ブルースクリーンに遭遇する頻度が非常に少なくなったように思います。NT6系カーネルになってからかなり経ってるので当たり前といえばそうかもしれませんが、安定性が高くなっているのは評価できると考えています。

ところが、1月の下旬ごろから、サブ機として使っているThinkPad X250がブルースクリーンで突然落ちるということが複数回続いています。ブルースクリーンの原因を探る際にはブルースクリーンで表示されるSTOPコードやエラーメッセージですが、0xdead039eというコードはGoogleで検索をかけても症例が数えられるほどしか見つけられませんでした。そのため、とりあえず後回しにしていたのですが、つい先日、このエラーで再起動して1時間もたたずに同じエラーが発生したため、本格的に調査してみることにしました。

ちなみに、その時はIDEを2つ起動して本気のプログラミングをしていたのですが、運が良かったのか、ちょうどデバッグをしている最中でソースコードの消失はありませんでした(デバッグするためにはビルドする必要があり、その際にすべて保存されるため)。もし消えてたとしたら発狂してたでしょうね。

[caption id="attachment_200" align="alignnone" width="300"]0xdead039eで落ちたWin8.1 0xdead039eで落ちたWin8.1[/caption]

まず、イベントビューアーで再起動前後のイベントを確認してみましたが、ブルースクリーンの際の「このコンピュータはバグチェック後、再起動されました」というもの以外には発見できませんでした。

[caption id="attachment_201" align="alignnone" width="300"]0xdead039eを記録したイベントログ 0xdead039eを記録したイベントログ[/caption]

次はエラー発生時に生成されるメモリダンプを解析してみました。解析に当たっては次のサイトを参考に作業を進めました。

http://did2memo.net/2015/04/16/windows-bluescreen-crash-dump/

メモリダンプを解析した結果、このエラーはNetwbw02.sysというドライバが引き起こしていることが分かりました。これはIntelWi-Fiモジュールのドライバです。

[caption id="attachment_202" align="alignnone" width="300"]原因はNetwbw02.sys?? 原因はNetwbw02.sys??[/caption]

Intelのホームページから最新のドライバをダウンロードして、インストールしてみたところ、該当ファイルのタイムスタンプはエラーが発生した時のものより新しくなっていたため、これで少し様子を見てみることにしました。また変化がありましたらこのブログで知らせたいと思います。

P.S. 0xdead039e の最初の4桁、どう見ても死んで(Dead)ますよね・・・