白黒ブラウン管、蛍光灯、LEDの発光原理と蛍光灯LEDのシーリングライトの違い

久々に何か書きたくなったので最近勉強していることと関連してまとめたいと思います。

白黒ブラウン管、蛍光灯およびLED照明の白色の発光原理と加法混色

最近白黒どころかカラーのブラウン管さえ見ませんよね・・・かさばって重たいし・・・うちにも前あったんですけど捨ててしまいました。

ブラウン管の仕組みは簡単ですよね・・・でっかい真空管があって電子銃で電子を蛍光体が塗られた面に向かって撃ってそれを偏向コイルで上下左右に動かして面を走査してるわけです。(知らない人はあまりいなさそうなので雑な説明) で、電子が面に塗られた蛍光体にあたって蛍光体が光ってそれが画素になるわけです。カラーの場合は赤緑青と三原色の蛍光体があってシャドーマスクでうまく三色分かれて電子が当たるようになっていて白色を出したいときは当然三色全部光らせるわけです。こうやってRGBの三色を混ぜて色を作るのを加法混色っていうらしいです。色を足し混ぜてるわけですし。

じゃあ白黒ブラウン管は?というと・・・ただ白く光る蛍光体が塗られててて電子が当たると白く光るだけ・・・なので加法混色は関係ないです。

じゃあ蛍光灯とLEDはというと・・・(ディスプレイの話と照明の話を並べてるのなんか変ですがとりあえず発光原理にフォーカスしているので気にしない)

蛍光灯は管内でフィラメントから熱電子が放出されそれが蛍光灯内の水銀原子と衝突して紫外線が発生し、その紫外線が管に塗られた蛍光物質にあたって蛍光物質が白く光るわけです。紫外線を介している違いがありますが端的に言って白黒ブラウン管と同じようなもんです。加法混色?なにそれおいしいの?

じゃあLEDはというと・・・これが本題ですね。僕はデバイス系とか興味ないんでLEDが光る仕組みはスルーします(pn接合の禁制帯を超えて電子正孔が再結合する時にバンドギャップにほぼ相当するエネルギーが光として放出されるとかwikipediaに書いてました)が肝心なことは白い光を出す仕組みです。

LEDは赤とか緑とかは昔からあったのですが青がなかなかできなくて青色LEDでノーベル賞とった人がいましたね・・・青色ができてめでたく三原色が揃ったのでLEDで色んな色が作れるようになりました。だから青色LEDのおかげで白色LEDが登場したわけです。LED照明を使っている人は青色LEDを作った人に感謝しましょう。別に白く光る化合物があるわけでもなく青色LEDうまく使うことで白い光を作っています。白色LEDの構成として大きく三種類あります。

1つ目が多くの人が真っ先に思いつくLEDをRGB三色用意して白を作る方法です。RGB混ぜるのでズバリ加法混色ってやつですね。LEDってスペクトルが鋭いのでこのタイプだとスペクトルが赤、青、緑のとこにビュンビュンビュンと鋭いピークがある状態です。なので黄色とかシアンとかの部分がごっそり抜けてしまします。これじゃ人間の目はごまかせず、自然な白色とはかけ離れてしまうので照明には使えません。ディスプレイ用です。(僕はLEDの冷たい光が苦手なのでこのタイプはムリ・・・)

2つ目が擬似白色LEDで青色LEDに黄色く光る蛍光体をかぶせちゃう方法です。↑の方法では黄色のスペクトルがごっそり抜けちゃうのが問題でしたよね・・・だから青い光で励起して黄色く光る蛍光体をかぶせちゃえば青と黄色でいい感じになります。加法混色の話で言うと赤と緑を混ぜると黄色になります。だから青と黄色を混ぜると白くなります。もともとの青い光も有効活用し、人間の目の錐体は555nm付近の黄緑色に敏感でそこをカバーしているので明るく見え高効率です。演色性(照らされた物体が自然に近い色の見え方をするか的な)も少し劣りますがそこそこです。(もちろん前者よりはマシです)

3つ目は高演色白色LEDで青色(or紫色)LEDに白く光る蛍光体をかぶせちゃう方法です。紫外線の代わりにLEDの青や紫になっただけで白色発光原理としては蛍光灯と同じです。効率は悪いですが演色性は高いです。

蛍光灯とLEDの全光束と照度

照明の話第二弾です。同じ広さの部屋用として市販されている蛍光灯とLEDのシーリングライト(天井の電気)を比較すると前者の全光束(ルーメン)の値が後者よりも大きいらしいです。自分たちが使うのに重要なのは机の上の照度(ルクス)とかがいい感じの明るさであることを考えるとどうして全光束が違うんでしょうか。

その前にルーメンとかルクスとか光の単位がいろいろあってややこしいのでおさらいしたいと思います。まず、光束(ルーメン)は光源自体が出してる光の強さ、量です。照度(ルクス)は単位面積当たりに入射する光束、つまり光が照らした面の明るさです。ちなみに光度(カンデラ)は照度*距離^2で表され、誤解を恐れずに言うと面を照らす明るさを距離を考慮して定量化した???まあとにかく測定した距離に依存しないように光源が面を照らす能力を表したような感じです。

3.11以降、非理系の人でも放射線や放射能の単位に敏感になりましたよね・・・光源を放射能に置き換えると光束に当たるのがベクレル、照度に当たるのがグレイです。グレイに人体への影響の強さを加味したのがシーベルトです。

蛍光灯とLEDの話に戻りますとLEDが光の指向性が強いのに対して蛍光灯は色んな方向にまんべんなく光が出ていますよね・・・

なので机の上を同じ明るさで照らそうとした場合、LEDならピンポイントに下を照らせるので光源自体が出している光の多くが机を照らします。しかし蛍光灯ではいろんな方向に光が出ていてそのうち机を照らすのは一部です。そのためLEDと同じだけ明るく机を照らそうと思ったら蛍光灯自体が出す全体の光(全光束)は大きくなってしまいます。だから同じ照度でも全光束が違ってくるんですね。

 

参考にしたもの

 

やはり何かを勉強したいときはインプットばっかりするのではなくこうやって文章にまとめたり他人に教えたりとアウトプットするとより身につきますよね・・・アウトプットする以上理解する必要が出てくるわけですし・・・自分の勉強のために今後も時間があったらこういうまとめ記事シリーズ書こうかな・・・(書くとは言ってない)

スポンサードリンク

コメント流しもできるAndroid用AbemaTVコメントビューア

最近Androidアプリ作ってみたいなと思っていましたがjavaが難しそうでなかなか手が出せませんでした。しかし、kotlinっていう言語がgoogle公式になったそうなのでkotlinなら手が出せるかなと思ってAndroidアプリの開発にチャレンジしてみました。kotlin自体既にjavaができる人を対象にしてる感あって初学者にはちょっと苦労しましたがとりあえず人生初のAndroidアプリ開発に手を出すことができました。冗長な記述とかが無くてjavaより直感的にスムーズに書けたので(そもそもjava書いたこと無いが)これからAndroid開発する場合はkotlinおすすめかもしれません。(初学者向けの資料とかが増えてほしいですね・・・)

AbemaTVのコメントビューア

AbemaTVの醍醐味はなんといってもコメントだと個人的には思っています。そのためかChromeの拡張機能やユーザースクリプトやWindows用やiOS用のコメントビューアがあったりとコメントまわりのツールは充実しています。(もっともChrome拡張はコメントのためだけのものではありませんが) でもAndroid用のコメントビューアが(探した範囲では)無いことに気がついて泥ユーザーの僕には寂しく感じたので作ることにしました。

これです→ https://abema.nakayuki.net/android-comeviewer/

至ってシンプルなコメントビューアです。

このようなチャンネルリストからチャンネルを選ぶと

コメントが見れます。投稿もできます。
PCで視聴しながら手元でコメントしたい場合に使えるかもしれません。
(ネットに載せられるスマホのスクショはたいていバッテリーが少ない法則がここにも適用されてしまったようですが全くの偶然です。)

コメント流し

動画とコメントといえばやっぱりあの動画サイトのような映像の上をコメントが流れていく表示方法ですよね!賛否両論あるようですが、少ない視線移動で効率よく映像とコメントの両方を楽しめるため個人的には好きです。PCでAbemaTVを見るときにコメント流しするツールがざっと5個(Chrome拡張ユーザースクリプト,、ユーザースクリプト2jkcommentviewerコメントスクローラー)はあることからその需要の高さは伺えます。
ならばスマホでも流したい!ということでこのアプリではコメント一覧画面右上右から二番目のボタンで画面上にコメントを流すことができます。

コメントの上にコメントが流れても見にくいだけですが、この流れるコメントは別のアプリを開いても流れ続けるので右上のボタンでAbemaTVアプリを開けば

この通り映像の上にコメントを流すことができます。AbemaTVアプリで再生してるチャンネルと流してるコメントのチャンネルが同じになるように注意してください。でないと映像とコメントが食い違ってシュールな光景になります。
横画面ではコメントは画面全体に流れます。

これでコメント派の人はAbemaTVをもっと楽しめるかもしれません。

ついでに、PCでAbemaTVを見る場合は是非Chrome拡張を使ってみてください。これはコメントのためだけの拡張ではなく番組通知や番組表のチャンネル取捨選択やその他UIの改善などAbemaTV全般的な機能がありますので、コメント流しはその他のツールでやるという場合でもあわせて使うといいと思います。

空き容量の少ないE200HAでwindows 10 Creators update

Vivobook E200HAでWindows10のcreators updateをしました。

※この記事にはスクリーンショットや画像はありません。撮り忘れた・・・
実は春休みで3月中はずっとバイトしていました。そこでそこそこ稼げたので前からほしいと思ってた持ち運びできるモバイル用のPCとしてAsusのE200HA-8350B (メモリー4GB版)を買いました。E200HA自体についてはまたいつか記事書くかもしれないです。

本体ストレージ残り6GB

E200HAは軽くてバッテリー長持ちでとても安価で素晴らしいパソコンなのですが、本体のストレージ(eMMC)が32GBしかないという欠点があります。そこにOS自体やいろいろなソフトが入るわけですからキツキツです。幸いにも32GBのMicroSDが付属していてそれを装着することで追加の容量が確保できます。ただしMicroSDのままではそこにソフトを入れることができないみたいなので仮想HDD化して使っていました。できる限りソフトはMicroSDに入れるようにしてもやっぱり本体ストレージ(C:)がカツカツになってしまいます。あれこれしてるうちに空き容量が6GBになってしまいました。

Creators update

そして最近、Windows10のCreators updateが配信されました。いろいろ新しい機能もあるみたいですがとりあえずアップデートしてみます。まず空き容量が6GBでは当然アップデートには全然足りません。そこで、USBメモリー(8GB以上)を用意してインストール用のUSBメモリーを作ります。HDDに余裕のある他のWindows10のパソコン上でMedia Creation ToolでUSBメモリーにWindws10インストーラを入れます。(他のPCでやらないとだめみたいです。E200HAでは容量不足でインストールUSBメモリーも作れませんでした。)やり方はググればいろいろ出てきます。一つ迷ったのはMedia Creation Toolのエディション選択画面に「Windows10 Home」が無かったことですが、その場合は普通に「Windows10」(エディション表記なし)を選べば大丈夫でした。(E200HAのエディションはHomeです。)

インストールUSBメモリーを作成したところで早速アップデートします。空き容量6GBでできるのか不安でした。まず、作成したUSBメモリーを差し込んでその中のセットアップexeを実行します。そして画面の指示に従ってアップデートしていきます。引き継ぐ項目で個人用ファイル、アプリ、設定(要するに選択肢の中では全部)を選べばOKです。こういう大きなアップデートを実施する前に小さなアップデート(日常のWindows Update)を済ませておくのがいいかもしれません。

「外部記憶メディアを挿入し、[OK]を押してください」→アップデート失敗

これでアップデートできる!わーい!と思っていましたが、現実はそうスムーズにいきませんでした。アップデートの進捗が進み、再起動がかかった後、「外部記憶メディアを挿入し、[OK]を押してください」みたいなダイアログが出てきました。インストールUSBメモリーは刺してるのにな・・・と思いつつOKを押してもまた出てきます。キャンセルを押すとそのまま起動してアップデート失敗になってしまいました。(アップデート前の状態に戻る)これでいろいろ試行錯誤しましたがどうやってもこうなってしまい完全に詰んだ・・・と思いました。

原因はMicroSD(の仮想HDD)

アップデートは諦めるしか無いのかな・・・と思っているとある日ふと、MicroSD上の仮想HDD内に$WINDOWS.~TMPという見慣れないフォルダがあることに気が付きました。それでひらめきました。Windows10のアップデートではHDDの容量が足りない場合、外部のストレージ(HDDとかUSBメモリーとか)を仮置き場にしてアップデートすることができます。今回はWindows10のインストーラがその仮想HDDを仮置き場にしてたのです。(その旨は表示されなかったので気づきませんでした。インストーラは仮想HDDが内部HDDと同じように見えたのでユーザーに聞かなくても仮置き場にしていいと考えたのでしょう。)しかし、仮想HDDはWindowsを起動しても勝手にはマウントされません。(そのため普段は起動時にバッチファイルを実行させて自動でマウントするように設定しています。)それにより、Windows10のアップデート中に再起動したときに仮想HDDがマウントされずインストーラが仮置き場にアクセスできずに上のようなダイアログが出てアップデートできなかったと思われます。

MicroSDを抜いて再チャレンジ→無事成功

原因がわかったところでアップデートに再チャレンジします。仮想HDDのマウントを解除してMicroSDを取り除いてアップデートを行ってみました。すると、アップデート時に(仮置き場にするための)外部ストレージを聞かれました。今回使ったインストールUSBは16GBで余裕があったのでそのUSBメモリーを選択しました。するとアップデートが進み、途中で再起動しても無事アップデートが継続し、時間はかかりましたが無事アップデートが完了しました。(その間寝てて、朝に確認しました。)特に問題ないようです。

結論

  • 本体ストレージ残り数GBでも大規模アップデートはできそう
  • Media Creation ToolでインストールUSBメモリーを作成
  • 仮想HDDはマウント解除してMicroSDを外しておく
  • アップデート時に空き余裕のあるUSBメモリーを指定

内部容量が32GBしか無くMicroSD上で仮想HDDを使用している人の多いこの機種ならではのハマり方でした。

GL07Sのカスロム導入方法4.2.2/kitkat

最近GL07S使っていませんが4.2.2やkitkatのカスタムロムの導入方法をメモしておきます。
自己責任で壊れるリスクも覚悟する必要があります。
Gl07Sのroot化関連ファイルはhttp://gl07s.nakayuki.net/public/に置いてあります。

まず環境を整える必要があります。
1, ADBドライバーをインストール http://www.ymobile.jp/lineup/gl07s/driver.htmlからドライバーを入手しインストールします。
2, adb,fastbootコマンドを使用できるようにする 「adb fastboot インストール」などと検索すればやり方は出てきます。

次にブートローダーのアンロックをする必要があります。
1, 端末をPCに接続し、fastbootモードにします。電源を切った後、音量下ボタンを押しながら電源を入れるとfastbootモードに入ります。(端末の画面はemobileのロゴのままです。)
2, コマンドプロンプトからfastboot devicesと打って端末が認識できているか確認します。(もしかしたら文字化けしている部分があるかもしれませんが大丈夫です。)
3, コマンドプロンプトからfastboot oem unlock UUUUUUUUUUUUUUUUと打てばアンロックできます。Uは16文字です。

4.2.2カスタムロムの導入方法
GL07S_4.2.2Installer_.zipをダウンロードして同梱の説明のとおりに作業します。
リカバリー画面(電源切ってから音量上下両方押しながら電源入れる)からwipe(データ全削除)する必要があります。

kitkatカスタムロムの導入方法(ファイルは上記のファイル置き場のgl07s-kkディレクトリ下にあります。)
1,TWRPを導入します。openrecovery-twrp-2.8.1.0.imgをダウンロードしてきた後、fastbootモードでPCに接続しコマンドプロンプトでfastboot flash recovery openrecovery-twrp-2.8.1.0.imgと打てばOKです。(もちろんカレントディレクトリはそのファイルがあるところ)
2, GL07S_kitkat_150531.zipをダウンロードして端末の内部ストレージに保存しておきます。
3,リカバリー画面(電源切ってから音量上下両方押しながら電源入れる)に入ります。TWRPの画面になっているはずです。
4, TWRPから先ほどのZIPをインストールします。データ全削除されます。Install → (Up A Level) → emmc → GL07S_kk_150531.zip → Swipe to Confirm Flash → 勝手に再起動 →wipe data/factory reset → Yes → reboot system now
5, このままでは文鎮になるみたいです。再度TWRPを導入しなおし(1,の手順)、TWRPの画面(リカバリー画面)に入ってdataをwipeするといいようです。

参考:【ROM焼き】EMOBILE STREAM X GL07S root1
,[GL07S]GL07S_kitkat_150531.zip をインストールしてみた

VISAデビットのためソニー銀行に口座開設

僕はいつの間にか20歳になっていました。amazonとかaliexpressとか秋月電商とかのネット通販で自由に買い物したい年頃です。(後者2つのチョイスが偏ってるのはしかたないです)
そこでインターネット通販で決済できるカードが欲しくなりましたがクレジットカードはまだ怖いのでVISAデビットを作ることにしました。

さて、どこの銀行で口座を作りましょうか・・・口座持ってる地元の銀行ではVISAデビは扱ってないので(再来年扱う予定らしい)新たにVISAデビのある銀行で口座を作らないといけないのですがどこにするか迷いました。そして迷った挙げく・・・
VISAデビつくるんだから日常の財布代わりに使える口座がいいよね→てことは頻繁にお金出し入れするかもしれないね→じゃあATMが充実していて手数料がかからないところがいいよね→ATM手数料がかからないところを選ぼう
ネットバンキングでのやり取りになるよね→ネットバンキングのUIが使いやすくてモダンでスマホ対応しているところがいいよね、あとハードウェアトークンがあると安心よね
でジャパンネット銀行と住信SBIとソニー銀行で迷ってソニー銀行にしました。
ジャパンネット銀行はちょっと手数料高め、住信SBIはATM引き出し手数料無料が月2回までしかない
ソニー銀行はセブイレとイオン銀行のATMが何回でも無料、その他いくつかのコンビニやゆうちょのATMも5回まで無料と手数料のかからないATMの身近さ、回数の多さで魅力的でした。
ATMの充実さ、手数料でソニー銀行に勝っているのは新生銀行くらいな気がします。(新生銀行は使えるATMどこでも何回でも無料と無敵です!VISAデビはありませんが)
ソニー銀行はハードウェアなトークン(OTP)もちゃんとあります。
ちなみにデビットと日々のお財布としての使用で考えてるので金利とかそういうのはスルーで考えました。(ちなみにソニー銀行は金利はネット銀行の中では安くメガバン並みだそうです。金利を気にするほどのお金なんてあるわけ無い大学生にはどうでもいいけどね)

早速ソニー銀行に口座を作りました。
インターネットで10分程度でちゃちゃっとフォームを完成させてあとはキャッシュカードが届くのを待つだけです。身分証明書のアップロードも不要です。(代わりに本人限定郵便で来るキャッシュカードを受け取るときに郵便局員に提示)
口座開設手続きのボタンの下にある現在実施中の口座開設企画のリンクから都合のいい会員の企画を通して口座開設したらポイントがもらえるのでおすすめです。僕はちょうど家がSo-net契約してたのでSo-net会員経由で申し込みました。
7/20(水)夜 申し込み
7/21(木)昼 口座開設完了メール
7/24(日)午後 本人限定郵便到着の封筒投函→当日夕方に配達してもらった
7/24(日)夜 クロネコDMでトークン投函
結構スピーディーに事が進みました。(僕の家は関西で東京から送られてきます。)

無事カードを受け取り試しにコンビニで入金してみました。Sony Bank Walletのストライプのカードかっこいいです。夏にアルバイトしてお金口座に入れてデビットカードをいっぱい活用したいと思います。まずは通販で使いたい!
そういや発行月から二ヶ月以内に国内でVISAデビ500円以上使ったら千円キャッシュバックされるようです。

現行KTV-FSUSB2/V3をLinuxでrecfsusb2iを使ってts抜き

追記:KTV-FSUSB2/V3の後継機種としてKTV-FSMINIが発売されています。KTV-FSMINIもここに書いたことと全く同じようにLinuxで使えます。

いつかはTS抜きというものをやってみたいと思っていました。そしてKTV-FSUSB2/V3は現行品はts抜きができなかったのですが、去年の終わり間際にできるようになりました。いままでできなかったFSUSB2/V3のK1212以降が無改造で使えるようになりました。(ただし本体のカードリーダーは使えないので別途カードリーダーを用意するか柔らかいので代用するかする必要があります。) なのでKTV-FSUSB2/V3を買ってしまいました。それではLinuxで使っていきたいと思います。
ここではArch Linuxを使いますが、パッケージのインストール方法以外はどのディストリでも同じでしょう。例えばDebian系ならpacman -S hogeをapt-get install hoge hoge-devなどと読み替えたらいいかもしれません。(パッケージ名は多少異なるかも(libhogeだったり)しれないのでパッケージがない場合は検索してそれっぽいのを、-dev付きのが別途ある場合はそれも一緒に)

まず最初に、Windowsで付属CDのドライバと視聴ソフトをインストールし動作確認をしました。初期不良とかあるといけないですからね・・・ちゃんと受信できました。
なのでさっそくLinuxに接続します。「 ID 0511:0046 N’Able (DataBook) Technologies, Inc.」として認識しました。ちなみにKTV-FSUSB2/V3のシリアルナンバー上5桁はK1508でした。無改造でOKだそうです。

それでは準備をします。まずカードの準備をします。

次にカードのセットアップをします。pcscdを動かしてカードを(FSUSB2/V3とは別の)読み取り機に入れpcsc_scanでそのカードを見つけられたらOKだと思います。
柔らかい読み取り機を使う場合は上行の代わりにその導入作業を行えばいいと思います。

次にlibarib25を導入します。単純にmakeするだけです。

最後にrecfsusb2iを導入します。recfsusb2i-src-20160109.zipをアップローダー等から入手します。2chの該当スレとかにリンクがあると思います。

一般ユーザーで使用できるようにします。

ではさっそく受信してみます。
26chを30秒間output.tsに保存する場合は
$ recfsusb2i 26 30 output.ts
出力されたtsファイルを再生できたら成功!

とすればvlcでリアルタイムに視聴できます。
チャンネルは地上デジタル放送 チャンネル一覧表 – マスプロ電工|MASPROとかで確認できます。

大学一年目の終わりに差し掛かって・・・

このブログ1年以上も記事投稿してないことに気づいたので何か書こうと思います。思いついたことをただ書き連ねただけです。
最後の記事は受験まっただ中にarch linuxで赤外線通信に挑戦した記事でしたね。ちょっと懐かしいなぁ・・・
まあ、それからいろいろあって第一志望ってわけではないですが無事大学に進学しました。電気電子工学科です。家から近いので自転車で通学できます。自宅生で自転車通学って高みの見もの感がしてなかなか優雅?な気分です。しかし、家と学校が近いほど遅刻しやすいというのがベタな人間の法則、起きるのがぎりぎりで毎日汗だくで自転車飛ばしているのが現実です。僕が入った大学は下宿生が半分近く占めている国際的ならぬ県際的??な大学です。ただでさえクソ高い理系の大学の学費を払いながら一人暮らしする人が多いなんてすごいですね・・・こっちは奨学金借りて学費に届くかな・・・どうかな・・・って感じなのですが。それよりも高校卒業したばっかというまだ大人として一人前になってるか微妙な、そしてまだまだ親に頼っているような年齢で一人暮らしする人多いのがすごいと思います。僕はまだまだ一人で生活できる自身がありません。就職してもできれば自宅通いがいいなぁとか考えています。僕の住んでいる県は工場がいっぱいあって製造業が盛んなので自宅から通える技術職にありつける可能性が高いかもしれません。そして一人暮らしすると生活習慣や食生活が乱れそうで怖いですし(いや男の一人暮らしで乱れないほうがおかしいか)心配です。

で、肝心の大学での勉強なのですが、1回生の間は数学とか物理とか高校の内容の延長線感がありました。でも様々な新しい概念とか出てきて難しかったです。そして不思議なことに大学の勉強に慣れてきて頭が大学の勉強モードに切り替わってくると高校の数学や物理が簡単に思えてくるのです。高校生の時、あんなに苦労してちんぷんかんぷんだったのに!仮面浪人したらいい点が取れるんじゃないだろうかと思うくらいです。後期には電気回路の授業がありました。テブナンの定理とか三相交流とか電圧電流の複素表示とか出てきました。工業高校の電気科の人はこういうのを高校生のうちからやってるのでしょうか。
後期には実験もありました。テスターとかオシロスコープとかハンダ付けとかを使って基本的な実験をしました。電気電子工学科なのにハンダ付け経験者があまりいなかったのは意外でした。実験のレポートは書く量が多くて大変でした。理系学生の忙しさを味わうことができました。(レポート地獄があるのは大学だけでなく高専や工業高校にもあるようです。技術系にレポートは欠かせないんですね・・・)そして、実験でオシロスコープを使用して、家にも自分用のオシロスコープが欲しくなりました。波形が見れたらいろいろ便利ですよね・・・バイトしてお金貯めて中華製の廉価なオシロ買おうかなと思ったのですが秋月電子に3千円台でDSO138というオシロスコープのキット見つけたので冬休みにそれを買って組み立てました。1Mspsで200kHzまで対応しているようです。(実際はそううまく性能出ないけど)まあオーディを帯域や数十kHz以内のちょっとした信号みるには結構使えます。

まあそうこうして後期セメスターも終わりが近づき、定期試験日程に入りました。数学の試験が1つ終わって今この文章を書いています。試験期間が終わればついに長い春休みです。春休みはバイト始めてある程度お金貯めたいと思います。奨学金だけじゃ微妙に学費まかなえないですし、脳内の秋月電子で買いたいものリストも溜まってきましたし、夏休みは旅行行きたいとか思ってますし・・・

そして最近、ESP8266を搭載したモジュール(esp-wroom-02とか)を使ってarduinoとして使うのにハマっています。プログラミングとかもやっていきたいです。

なんかまとまってない文章になりましたが2015年度を振り返りつつ2016年も有意義に楽しくいろいろなことをしていきたいと思います。もちろん学業もがんばります!

Arch Linuxで赤外線通信でケータイとファイル転送

今はスマホとかbluetoothとかNFCとかの普及ですっかり影の薄くなった赤外線通信ですがガラケーには欠かせない機能の一つですよね・・・
Bluetoothが使えなくても赤外線さえあればスマホでない携帯電話とファイルのやり取りができます。

ケータイで写した写真をBluetoothでパソコンに移そうと苦戦して諦めたので赤外線で移すことにしました。
パソコンに内蔵の赤外線ポートを使います。(古いノートPCなら結構標準装備されてますよね・・・)

まずはIrDA関係を使えるようにします。
aurからirda-utilsをインストール
$ yaourt -S irda-utils
irdaスタート
$ sudo systemctl start irda
こちらの環境ではエラーが出ましたが気にせず進めます。
ir関係のモジュールを読み込み
$ sudo modprobe irda irtty ircomm ircomm-tty
赤外線ポートを設定
irattachコマンドに赤外線ポートのデバイスを指定します。(うちの環境では/dev/ttyS3でした)
$ sudo irattach /dev/ttyS3
通信できてるか確認
$ sudo irdadump
携帯を写真送信する状態にするなどしてPCの赤外線ポートに向けてみてirdadumpに反応があれば成功です。無反応であれば違うデバイス(他の/dev/ttySxやUSBでつないでるのなら/dev/ttyUSBnなど)でirattachをやり直してirdadumpが反応するか確認を繰り返してみてください。

次はファイルの送受信に使うircp-trayをインストールします。
irda-utilsに含まれているircpでファイル送受信できるらしいですができずircp-trayを使えばOKです。
aurにircp-trayありますがコンパイルが通りませんでした。
ソースを簡単に修正する必要がありましたのでソースからインストールします。
gtk2,intltool,irda-utils,libnotify,openobexが必要です。irda-utilsはさっきインストールしたので他をインストール
$ sudo pacman -S gtk2 intltool libnotify openobex
https://launchpad.net/ircp-tray
ここからソースコードを落としてきます。(バージョンは0.7.6でした)
そして展開
$ tar zxvf ircp-tray-0.7.6.tar.gz
$ cd ircp-tray-0.7.6
ソースコードの変更をパッチ形式にしました。

これを適当な名前で保存して適用します。/path/to/patchfileに保存したとすると
ircp-tray-0.7.6 $ patch -p0 < /path/to/patchfile
あとはいつも通り
$ ./configure
$ make
$ sudo make install

早速ファイルを受信してみましょう
$ ircp-tray
で立ち上がります。
携帯電話を送信状態にして赤外線ポートに近づけると保存先を指定するダイアログが出てくるので指定したら受信されます。
保存先フォルダをnoneのままにするとセグフォしますので注意。
無事受信開始されると受信状況のプログレスバーが出てきて受信したファイルが保存されます。
送信はステータスバーのアイコンをクリックするとできるようです。

さすが赤外線通信・・・今の技術に慣れてると遅い・・・でもうまくいってよかった!

HFコンバータキット(RTL-SDR用)作りました

一年くらい前からRTL2832Uドングルを使ったSDRにはまってました。
が、VHF帯から1.7GHzまで聞けるようになったら7MHzのアマチュア無線や短波放送とかも聞きたくなってきますよね・・・
いろいろ調べてHFコンバーターを使えば聞けることがわかったので、[email protected]北海道さんの頒布しているキットに挑戦してみました。
記事にするのがかなり遅くなってしまいました・・・

まずこのキットはSMD(表面実装部品)をはんだ付けして作ります。
予めこれくらいの大きさだなと把握していたのですが、いざ手元に実物を取ってみると思ったより小さくてびっくりしました
部品一つ一つは普通のそげ抜きピンセットでなんとかつかめるくらいの大きさで、これを手ハンダするのかと思うとちょっとゾッとしました(笑)
プリント基板用の細いハンダは先に秋月電子で買っておいたのですが、手元にあるハンダゴテは60Wのどちらかというと電工作用の少し太いやつなのでちゃんとはんだづけできるか不安でした。
(今は1000円前後で買えるからそろそろ電子工作用の細いの買おうかな・・・そのハンダゴテ小学中学年ころに買ったやつだから8-9年くらい経つのか・・・)
実際にやってみるとなんとか出来ました。
まず基盤のランドにコテを当ててハンダをちょっと盛る→その上にピンセットで押さえたまま部品を置き片方の面にコテを当ててランドに持ったハンダをつける→反対側もつける
とやればうまく行きました。部品が基盤に(ハンダで)固定される前にピンセットから外れるとコテ先にくっついてしまうので注意です。

水晶発振子のハンダ付けはランドにハンダを盛った後部品を載せて、固定して・・・側面の金属部分にランドからハンダが流れるようにやっていきました。
q-solder

このキットには電源供給にMiniUSB使うようになっていますが、僕は家にMiniUSB機器が殆ど無くMicroUSBならスマホの充電器/ケーブルなどが転用できて便利かなと思いMicroUSB端子をつけることにしました。
使った端子はこれ: http://akizukidenshi.com/catalog/g/gC-05254/
基板の並びと端子の足の並びが逆だったのでMicroUSB端子を反対に取り付けて端子の足と基板のランドを銅線の細い芯を何本か撚ってつなげることにしました。思うように固定できない線を他の部品より細かいところにつけないといけないので数時間くらい格闘した記憶がありますがうまくできました。いい練習になったかも
hfc-microusb

アンテナ端子のとこにはBNC端子をつけてみました。
http://akizukidenshi.com/catalog/g/gC-02296/をこんな感じに
hfc-bnc-con
斜めにつけたから接続するときちょっと変かも・・

リレー付ける前までの完成写真
hfc-kansei1
左のBNCコネクターはSMAに付け替えるかもしれないので軽くつけています。
リレーを取り付けるのは十分動作を確かめた後で・・・

使ってみた結果

使ったチューナーはお馴染みのRTL2832U R820T= DVB-T+DAB+FMで
1.5mぐらいのワイヤーをつなげて窓の近くの室内で北京の放送がなんとか聞こえました。
ベランダに出てワイヤーつなげて2mくらい張ると中韓の主要な短波放送がいろいろ聞こえました。中波のAMラジオもなんとか入ってる感じです。

窓から3mくらい壁につかないように垂らしたワイヤーをつなげてみたらチョソンの声放送とかもいい感じに入りました。

説明には中波のAM放送が強く入るか確認してと書いてあったのでHFコンバーター本来の感度よりは少し落ちているようです。
単にハンダ不良なのか電源のノイズがひどいのかまさかDBMがいたんでしまったのかまた今度探ってみたいです。
なのでリレーの取り付けはまだしないでおきます。

なにやともあれRTL-SDRで短波ラジオが聞けるようになってSDRの幅が広がりました。
僕が生まれるよりうーんと昔に短波ラジオが中高生を中心に大流行したことがったそうですがそのときの気分を少し味わえたらいいなと思います。

せっかくHFコンバーターがあるからには短波帯のアマチュア無線とかも聞いてみたいですがうちは田舎なせいかほとんど拾えません。(ごくまれにモールス信号が聞こえたりしますが)
144/430MHz帯でもトラック無線とリピーター越しらしき遠方の交信とかがたまに聞こえるくらいなのでそんなものかもしれません。
県内でコンテストがあった時はいろいろ拾えました。

ちなみにRTL-SDRするときの環境はスマホはGL07S+SDR TouchでパソコンはLinux(主にArch)でGQRXを使っています。ただし最近はあまりスマホでは使ってません・・・

node.jsでuser agentからできるだけ詳しい情報を得る

useragentからできるだけ多くの情報を得たくなる時がありますよね・・・
WindowsのバージョンとかLinuxのディストリビューションとかAndroidの型番とかレンダリングエンジンとかCPUのアーキテクチャとか・・・

そこでnode.jsで使えるuseragentのパーサーを探すとhttps://github.com/faisalman/ua-parser-jsがありました!

かなりいろんなOSやデバイスやブラウザに対応してて最強感あります。
日本のガラケーとかsleipnirのような日本のブラウザに対応してないのは・・・しかたないですね

npm install ua-parser-jsで入ります。

これでこんな感じに出力されます。

すごく便利ですね!おそらくモバイル系デバイスだと思いますがメーカーまで出てくるのはすごい!

おそらくUA関係で調べたいことだいたい出てくると思います。

.getResult()関数以外にも.getOS()や.getBrowser()などの関数もあります。

例えば.getOS()すると{name:’名前’,version:’バージョン’}とgetResult()の一部分が出てきます。

続きを読む