あれこれ備忘録@はてなブログ

勉強したことやニュースや出来事を備忘録として書いていきます

現代の電気を使った文明の産みの親なのに知られていない上、怪しい人だと思われているニコラ・テスラ

ニコラ・テスラ - Wikipedia

ニコラ・テスラを知っているだろうか?

私がニコラ・テスラを知ったのは超常現象ものの番組である。

その中で「ハチソン効果」というものが出てきた。

ハチソン効果 - Wikipedia

物体が重力に逆らって浮いたり、捻じ曲がったりする現象である。

その効果を使って米軍が船全体を特殊な状況に置いて瞬間移動や透明化などの、実現すればとてつもなく有利な状況を作り出せないか実験したが失敗し、兵士などが金属の壁に埋まっていたなどとされた実験の話もある。

フィラデルフィア計画 - Wikipedia

真偽のほどは定かではなく、ほぼ怪しいものだとされている。

それはともかくとして、その「ハチソン効果」を作り出す装置に使われていたのが、テスラ・コイルというものだった。

テスラ・コイルは全く胡散臭いものではなく現実に存在し、使用されている装置である。

テスラコイル - Wikipedia

これを考案、発明したのがニコラ・テスラなのである。

私は超常現象番組を通じて彼を知った時、ニコラ・テスラも超常現象の世界で有名な人なのだと思っていた。

もちろんそれもあるのだが、彼は現在使われている交流電流による電力送信や、無線通信を発明したという王道の電技技術者、発明家なのだった。

そんな彼が何故、多くの人にほとんど知られず、知られたとしても怪しげな人物として捉えられ、通常とは違った注目を集めるようになったのか?

それがわかるのが上の伝記小説である。

誰もが知っている大発明家トーマス・エジソンは直流を支持していた。

直流のほうが仕組みがわかりやすく、回路の動作もさせやすい。

現在でも多くの機器はACアダプタで交流を直流に変換して使う。

AC-DCアダプタの略なのである。

ACアダプタ - Wikipedia

目の前の機材、道具を動かすのにはとても都合が良い直流にも弱点があった。

高い電圧を作るのが難しかったのである。

電気のエネルギーは電力といいW(ワット)で表される。

これは電流 I と電圧 V の積で表される。

同じ電力を送るとき、電流を極力小さくしないと送電線を流れるときに熱になって損失してしまう。

同じ電力で I を小さくするためには、電圧 V を大きくしなくてはいけないのである。

当時、直流で高電圧を作り出すことは難しく、発電所から数kmの範囲にしか十分な電力を届けられなかった。

交流はトランス(変圧器)を使って、簡単に電圧を変えることができた。

変圧器 - Wikipedia

高電圧にすることで電力をより遠くまで届けることが可能になったのである。

テスラは交流発電機を発明し、交流の発電所が作れることを示した。

現在でも発電所で作った電力を高圧送電線で遠くまで送り、変電所で電圧を下げて電柱の間に張られた電線を通って各家庭まで送り、そこからさらに電圧を下げて100Vの電圧としてコンセントから取り出しているのである。

現在では当たり前の交流の送電システムだが、テスラが交流発電の仕組みを発明した頃には、理解できる人が少なかった。

さらに大発明家であるエジソンがこのシステムに反対し、直流にこだわったのである。

結局、最後には交流発電、送電システムが勝利するものの、エジソンネガティブキャンペーンによって、テスラは苦境に立たされ、エジソンのような安定した地位を築くことができなかった。

東芝の巨額損失計上で良く聞かれたウェスチングハウス社に繋がる資産家ウェスティングハウス氏や、現在のJPモルガンに繋がるモルガン氏から資金提供を受けたもの、エジソンとは違い、現物を作ることでしか信頼を得られなかったテスラは、発送電システムを実現するも孤立して会社をやめることになったり、無線通信システムを作る過程で投資家との関係が悪化して資金難となり、特許を手放すことになる。

本来ならニコラ・テスラを大資産家にし、自分の発明や計画に自ら投資することも可能になっただろう様々な特許を二束三文で売ることになってしまったのである。

テスラが不遇な境遇できちんとした形で実現できないうちに、イタリアのマルコーニという人物が無線通信を成功させたとして発明の名誉と安定した地位、資金を手に入れる。

グリエルモ・マルコーニ - Wikipedia

ニコラ・テスラが無線通信の創始者であることが認められたのはテスラの死後のことである。

テスラは独創的なアイディアで最後まで独立独歩で発明家、電気技術者と人生を全うしたが、エジソンやマルコーニに比べると不遇だった。

ニコラ・テスラが一般に知られていないのにはこのような背景があるのだ。

当時、良くわからなかった交流や電気そのものを一人理解し、投資家などに対して実演してみせたため、魔法使いのような怪しげなイメージだけが独り歩きし、それが現実に存在する仕組みであることを示した人物として知られる機会だけが失われたのである。

一部のオタク、技術者と超常現象好きの間でだけ有名な人物となったのにはこんなわけがある。

とはいうものの、実際にニコラ・テスラが怪しげな実験をしていたという話もある。

現在、小電力ではすでに実現している無線による電力送信(スマホを台の上に置くだけで充電できる仕組みもそれである)をニコラ・テスラはすでに試みていた。

資金がなく実現できなかったし、現実にできたかどうかは怪しいが、地球自体を共振させることで大きな電力を無線で送電できると考えていたらしい。

また、エジソンとの直流、交流の論争があったころ、交流電流の安全性を示すために、放電の稲妻が飛んでいる中で本を読んでくつろいで見せたりしており、その写真は彼を知っている人の間では有名である。

さらには電流は健康に良いとして、自らの身体に電流を流すという独自の健康法を実践していたとも言われる。

エジソンが犯罪者を私刑にするための装置である電気椅子を発明したのとは対照的だ。

さらには殺人ビームを作ったなどという話も伝わっている。

そして液晶バックライト、ワイヤレス電力送信から「ハチソン効果」などにまで使われるほど幅広い応用が利く装置であるテスラ・コイルの存在がある。

テスラがエジソンやマルコーニのような地位を得て、自由に発明、実用化が可能であったなら、現在の世の中はもっと違ったものになっていたかも知れない。

多くの人にこの不思議だが本当は決して怪しくない人物ニコラ・テスラを知ってほしい。

Puppy Linux(TahrPup,XenialPupなど)でモニタの解像度が低くなってしまう不具合(Ubuntuなどでも起こるらしい)の対処法

うちのPuppy Linuxを入れているマシンにつないでいるモニタはこれまでずっと1024x768が最大の解像度で、ずっとそのまま使ってきた。

あるとき、モニタにRESOLUTION NOTIFIERという機能があり、これをオンにして見たところ、「最適信号は1280x1024」だと表示された。

つまり、このモニタは1280x1024で表示できたのだ。

今まで気が付かなかったが、そういえばWindowsXPではその解像度で使っていたような気もする。

XPを消してしまって随分経つので忘れていたのかも知れない。

ともかく1280x1024で表示できるならそれで使うほうが良いに決まっている。

Puppy Linuxにある「Xorg ビデオ ウィザード」から解像度を設定するアプリを呼び出せる。

f:id:t_massann:20170706164806j:plain

そこには確かに1280x1024がプルダウンメニューの選択項目にある。

f:id:t_massann:20170706165242j:plain

しかし、これを選択してXサーバーを再起動しても解像度が上がらないのである。

/etc/X11/xorg.confを直接編集して

    Subsection "Display"
        Depth       24 #screen0depth
        Modes       "1024x768" #screen0modes
    EndSubsection

のModesを"1280x1024"に変えてもダメだった。

調べてみるとPuppy Linuxを入れているマシンのオープンソースのグラフィックドライバのradeonが1024x768以下の解像度しか設定できないと認識しているようだ(この言い方が正しいかわからない)。

/var/log/Xorg.0.logの中に以下の出力がある。

[    19.576] (II) RADEON(0): Modeline "1024x768"x60.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
[    19.576] (II) RADEON(0): Modeline "800x600"x60.3   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
[    19.576] (II) RADEON(0): Modeline "800x600"x56.2   36.00  800 824 896 1024  600 601 603 625 +hsync +vsync (35.2 kHz e)
[    19.576] (II) RADEON(0): Modeline "848x480"x60.0   33.75  848 864 976 1088  480 486 494 517 +hsync +vsync (31.0 kHz e)
[    19.576] (II) RADEON(0): Modeline "640x480"x59.9   25.18  640 656 752 800  480 489 492 525 -hsync -vsync (31.5 kHz e)

同じような症状に悩まされている人は多いようで、もっと高い解像度で表示できるモニタですら1024x768でしか表示できないのはかなり悲惨である。

ネットで調べてみると、どうやらgtfやcvtというコマンドを使って強制的に解像度を変更できるらしい。

gtf 1280 1024 60

  # 1280x1024 @ 60.00 Hz (GTF) hsync: 63.60 kHz; pclk: 108.88 MHz
  Modeline "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync +Vsync

cvtだと

cvt 1280 1024
# 1280x1024 59.89 Hz (CVT 1.31M4) hsync: 63.67 kHz; pclk: 109.00 MHz
Modeline "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync

と出る。

微妙に値が違う。

PCディスプレイの信号タイミング基準について - Diary on wind

GTFのタイミング公式はブラウン管ディスプレイに最適化されており、電子ビームの移動に必要な空白期間を多めにとるようになっている。 液晶ディスプレイではそれほど空白期間を必要としないため、空白期間を短くしたタイミング公式 CVT RB(Reduced Blanking) を新たに制定した。

CVTの方が新しい規格である上、液晶モニタを想定して作られているということからcvtコマンドの出力結果を利用する。

xrandrコマンドでXの再起動無しに動的に解像度を変える方法もあるが、結局、設定を保存して次回から自動的に設定した解像度で表示されるようにするには/etc/X11/xorg.confを書き換えなければいけないので、最初からそれを行う。

もしものために今のxorg.confを保存しておく。

端末で

cp /etc/X11/xorg.conf xorg.conf.bak

などとすると/rootディレクトリにxorg.conf.bakというファイルができる。

エディタでxorg.confを開いているなら「名前をつけて保存」で同じようなことをしても良い。

とにかくバックアップをとっておこう。

cvtコマンドを使って出力された文字列のうちModeline以下をコピーする。

端末でドラッグして選択し、マウスの右ボタンと左ボタンを同時にクリックすればコピーできる。

ドラッグするとそれでコピーされ、端末内でマウスの右ボタンと左ボタンを同時に押すと貼り付けの動作となると書いてある記事もあるが、そのように動作する場合もあればそうならない場合もある。

また、

cvt 1280 1024 > modeline.txt

とすると出力が/root/modeline.txtに保存されるので、これをエディタで開けば良い。

コピーした文字列をxorg.conf内のSection “Monitor"に貼り付ける。

こんな感じだ。

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
#   HorizSync    35-81
#   VertRefresh  59-76
    #UseModes     "Modes0" #monitor0usemodes
#   Option      "PreferredMode" "1024x768" #monitor0prefmode
    Modeline "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
    EndSection

EndSectionのインデントがおかしいのだが、これはPuppy Linuxの問題で、動作には問題ないのでそのままにしておく。

次にSection “Screen"のSubsection "Display"にModesを追加する。

    Subsection "Display"
#       Depth       24 #screen0depth
#       Modes       "1024x768" #screen0modes
        Modes       "1280x1024_60.00"
    EndSubsection

とした。

これでXサーバーを再起動すると1280x1024で表示されるはずである。

もしうまくいかなかった場合は、Ctrl+Alt+Backspaceを使ってコンソールに戻るか、強制終了して再起動し、Grubコマンドラインで"pfix=nox"としてコンソールで起動するようにする。

そして

rm /etc/X11/xorg.conf
cp xorg.conf.bak /etc/X11/xorg.conf

としてバックアップしておいた設定ファイルを復元して、xwinでXサーバーを起動するか、PCを再起動すれば元に戻る。

随分、画面が広く使えるようになった。

画面サイズが大きいので、ツイッター公式サイトなどレスポンシブなレイアウトを使っているサイトは見た目が変わった。

今まで気がついていなかったが、考えてみるとこれと同じ状況はAndroid-x86やRemixOSにもあるんじゃないだろうか?

画面解像度は変更前のPuppy Linuxと同じだった気がする。

それが普通だと思っていたので気が付かなかっただけである。

ともかくPuppy Linuxではモニタを本来の最高の性能で使えるようになった。

めでたしめでたし。

Realtek RTL8192CUを使っている無線LANアダプタがPuppy Linux(TahrPupやXenialPup)でつながらない時の対処法(Ubuntu系ディストリビューションでも起こる)

うちで使っている古いマシンで使っているUSBタイプの無線LANアダプタではTahrPupの通信が不安定だった。

lsusb

とすると

Bus 001 Device 003: ID 2019:ab2b PLANEX GW-USEco300 802.11bgn Wireless Adapter [Realtek RTL8192CU]

と出てきた。

どうやらこれのようだ。

www.planex.co.jp

この無線LANアダプタは、有線から無線に変換することもできる無線LANルーターにタダでついてきたものだったと思う。

こんな感じのいわゆる「ホテル用WiFiルーター」などと言われているものだ。

調べてみると、RTL8192CUの無線LANアダプタはLinuxでは通信が不安定だとして有名らしい。

不具合を改善したものがあるらしく、これを自分でビルドしなくてはいけないようだ。

ここではTahrPup 6.0.6を例に、その手順を書いていく。

有線で接続するか

https://github.com/DebianDog/xenialdog/blob/gh-pages/rtl8192cu-dkms_0.2_all.deb

をインストールし

/etc/modprobe.d/blacklist.conf に

blacklist rtl8xxxu

をして再起動すると、不安定ながらもインターネットへの接続は可能になる。


訂正

Trusty Tahr(14.04)なので以下のdebファイルだった。

https://launchpad.net/~hanipouspilot/+archive/ubuntu/rtlwifi/+files/rtl8192cu-dkms_0.2~trusty_all.deb

また、TahrPupの32bitにはrtl8xxxuは無いようなのでblacklistには何も追加しなくても良いみたいだ。

しかし、通信が不安定なのは同じ。

訂正終わり


ネットにつなげるようになったら

http://distro.ibiblio.org/puppylinux/puppy-tahr/iso/tahrpup%20-6.0-CE/devx_tahr_6.0.6.sfs

をダウンロードする。

そしてカーネルソースもダウンロードする。

カーネルの確認は端末で

uname -r

として確認する。

TahrPup 6.0.6は3.14.79のはずである。

http://distro.ibiblio.org/puppylinux/pet_packages-tahr/kernel_sources-3.14.79-tahr.sfs

をダウンロードする。

この2つを/mnt/homeなどに置き(そもそも容量の関係もあるのでPuppyの個人データ用の場所にダウンロードするよりも最初から/mnt/homeへダウンロードする方が良い)、SFS-Loadでロードする。

Puppy Package Managerを開いて、リポジトリを更新する。

その方法は以下の記事に書いてある。

arekorebibouroku.hateblo.jp

更新したあと、「dkms」で検索してdebファイルをインストールする。

これを書いている時点では、dkms_2.2.0.3のはずである。

gitもインストールする方法もあるが、今回のビルド以外には使わないのでファイル群を直接ダウンロードする。

github.com

Ubuntuだと、そもそもリンク先にある方法をそのまま行えばうまくできるはず。

f:id:t_massann:20170704154854j:plain

上の画像のように「Clone or download」という緑のボタンからZipファイルがダウンロードできる。

これを解凍すると「rtl8192cu-fixes-master」というフォルダとその下にファイル群ができる。

一応、これを「rtl8192cu-fixes」にリネームする。

そして

dkms add ./rtl8192cu-fixes

とし、次に

dkms install 8192cu/1.10

として、ドライバーをビルドする。

それが終わったら

cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/

とする。

終わったら、マシンを再起動する。

うまく行けば、wlan0が有効になり、ネットにつながるはずである。

今、試してみている範囲では通信は安定している。

同じような症状に悩んでいる人は試してみて欲しい。

お金に余裕があるなら、別のUSB無線LANアダプタを買うのが一番手っ取り早いとは思うが・・・。

今はハイパワーのものや5GHz帯を使える無線LANアダプタがあるし、そちらのほうが便利なことは間違いない。