virt_flyのブログ -11ページ目

virt_flyのブログ

フライトシミュレーターソフトのFlightGearで仮想飛行を楽しむブログです。

試してみてよかった

 

うれしいことに、離れに母屋のWi-Fiが届きました。これで、安心してZoomができます。

 

■離れからWi-Fiにアクセスしたいわけ

 

我が家では、心臓が弱り一時は危ぶまれた年寄りが、退院できたものの歩けなくなり、離れで介護することになりました。

 

甲斐甲斐しく(時分で言うか?!)介護の効果あってか、結構元気になってきてよかったのですが、別途悩みが生じました。

 

離れでインターネットするには、スマホのテザリングを使うしかなく、一度Zoom会議に参加するだけでデータ容量をオーバーし通信速度が制限されてしまうことです。

 

動画を視聴したりするのでなければそれほど困ることはないのですが、気持ちはあまりよいものではありません。

 

母屋のWi-Fi環境にアクセスできれば好都合なのですが、屋外用の中継器を買い足すことなく実現できるか? 実際にかつて試したところではやはり接続できませんでした。

 

しかし、検索すれば他家のWi-Fi機器が検出されますので、別棟と言えど電波が強ければつながる可能性は否定できません。

 

実は、母屋ではデバイスが増えて不安定になったWi-Fi環境を改善するために、Wi-Fiルーターを更新していました。しかも、電波も強くて中継器を使わずとも、家の1階の端から2階の反対側の端まで電波が届くようになっています。

 

そこで、余った中継器を離れに置き、母屋のWi-Fiにアクセスできないか、ダメもとで試してみることにしました。

 

■母屋と離れをつなぐWi-Fi環境

 

屋外用中継器を使わずに、母屋と離れをつなぐWi-Fi環境をつくるために使用した機器を次に示します。

 

↑Wi-Fiルーター

 

↑中継器

 

母屋のWi-Fiルーター:TP-Link 無線LAN WiFi 6E ルーター AXE5400

離れに置いた中継器:TP-Link AC1200無線LAN中継器 RE350

 

機器の設置場所は以下の通り。

 

母屋と離れは、わずか2mほど。都合の良いことに、母屋のWi-Fiルーターは離れ側に面した壁のすぐ内側に設置されています。

 

そこで、離れの中継器は室内のどこに置くかですが、インターネット接続のスムースさをとればなるだけ母屋に近い側に置きたいものの、ローカルエリア接続させるデバイスから離れていたり何かでさえぎられていたりすると、例えばAlexaによりデバイスをコントロールすることができなくなるので、微妙な選択を迫られます。

 

結局、中継器は母屋からは壁一つ隔てただけで電波が届きやすそうなダイニングキッチンに置くこととし、リビングを見通せる冷蔵庫の上に決めました。

 

■結果、ギリギリの通信速度

 

中継器のランプは残念ながらブルーでなく大概オレンジに色でしか光りません。おそらくWi-Fi接続は不可を示しているものと思われますが、今回のケースではインターネットにアクセスでき、デバイスもローカルエリア接続できています。ただし、レスポンスは悪く、せっかちな方にはストレスかもしれません。

 

 

なお、インターネット通信速度を何回か測定してみた結果からしても、快適に利用できる通信速度にギリギリ及ぶか及ばないかのレベルであることがわかります。次に示すのは、実際の測定結果による通信速度のおおよそです。周波数帯は2.4GH。5GHzは使えるネットワークとしてほぼリストアップされないので測定していません(注参照)。

 

ダウンロード1.4~4.5Mb/秒

アップロード0.1~0.2Mb/秒

レイテンシ5~14ms

 

ぎりぎりと言っても、テザリングによるスマホの制限時の通信速度がアップロードで0.2Mb/秒だったりするのですから、段違いにマシです。試してみて正解です。

 

 

注)

母屋から離れなど別胸にWi-Fi電波を飛ばして使用することは、自宅敷地内であろうが電波法の屋外利用にあたります。2.4GHzは別にして他の周波数帯は一部を除き屋外使用が禁じられています。5GHzを受信できる状態だと電波法違反になるのでしょうか? 登録局手続きが必要な高出力データ通信システムの高出力とは? 大丈夫だとは思うのですが、法務省のホームページを一瞥しただけではよくわかりません。

↑自作単極モニターのGIF動画 見てくれは悪いですが、銅線がクルクル回ります(末尾に動画) 

 

クルクル回る針金に感動

 

物置を片付けていたら、一冊の薄くて古い本が出てきました(次の画像を参照)。学校での英語教育用のテキストです。有名な19世紀英国の科学者であるマイケル・ファラデーの「ロウソクの科学」を教材にしています。

 

 

少年少女向けのクリスマス・レクチャーとしてファラデーが王立研究所で行った講演のうちから6回分をまとめたものが「ロウソクと科学」なのですから、学生が英語を学ぶのに適していると考えられたのでしょう。

 

言うまでもなく、ファラデーによる電磁気学、電気化学の分野での貢献は大きく、電磁場の基礎理論を確立、電動機を発明し、「それだけでなく電気を使ったテクノロジー全般が彼の業績から発展したもの」(Wikipedia)とされます。

 

Wikipediaを見れば、単極モーターはファラデーの発明なのですね。

 

小学生の頃に直流2極モーターと言うのでしょうか、エナメル線を巻いてこしらえた電磁石を回転できる回転子として置き、回転に伴い電磁石に流れる電流の方向がかわるたびに、外側に置いた永久磁石のN極やS極と電磁石のつくる極との間で引き合い・反発が交互するのを利用して回転子が回り続けるという原理のモーターを製作したことがあります。以来、モーターは2極(あるいは3極などそれ以上)とばかり思いこんでいました。

 

単極モーターの存在は、最近になってようやくYouTubeでを知ったばかりでした。磁石と電池と銅線だけでできるシンプルさに驚いたものです。

 

ファラデーの「ロウソクの科学」が出てきたのも何かの縁。ネオジウム磁石は確か100均に売っていたはず。俄然、単極モーターを試す気になりました。

 

【用意したもの】

 

単三のアルカリ乾電池 必ずアルカリ電池であること。他のものだと発熱、破裂や液漏れの恐れがあるとか。

ネオジウム磁石 100均では乾電池の太さにピッタリな直径が15mmがなく、近い16㎜を購入。なお、厚みは1mmのものしかありませんでした。パワーが足りなければ磁石を2つ重ねるのもありです。

扱いに注意:ネオジウム磁石はかなり強力なため、磁石同士引っ付く時に指を挟まれ骨折したり、時計やスマホ、キャッシュカードが使用不能になるおそれがあります。飲み込んだら命の危険があり、小さな子供に触らせないようにしましょう。

銅線 回転させる針金は、磁石に引っ付く金属では回ってくれませんので、銅線を使います。手元にあった直径0.9mmのものを使用しましたが、太いのやら細いのやら。

 

【作り方】

 

①ネオジウム磁石の上にアルカリ乾電池を立てて乗せます。普通、電池のプラス極が上でしょう。磁石のN、Sはどちらでもかまいません。

②回転させる銅線はどんな形状でもよいのですが、回転する際に何かに引っかかると止まりますから、ヤジロベーよろしくバランスよく電池の上にかぶせて乗せられる形がのぞましく、また、乗せる部分が電池に接触している一方、磁石にわずかに接触する部分があることも絶対に必要になります。

発熱に注意:結構発熱するようです。過熱による電池の損傷や発火を避けるため、長時間回すのは厳禁。放置はもっての外との指摘がありますので、十分気を付ける必要があります。

 

銅線の形状は、らせん状だったりハート型をした作例が見られますが、今回、自分でこしらえた単極モーターの銅線の形状は筒状で、見た目も良いとは言えません。上のリング状部分は、実際のところ何の意味もないようですが、上のリングと下のリングが上から見てピタリ重なり合っていれば、すなわち横から見て傾きもなければ、銅線は電池や机上に接触することなくうまく回転してくれます。うまく回らないときには、バランスが悪く銅線がどこかが引っかかっているからと見られます。その際は、銅線の形を変えて重心の位置がうまくとれるようにし、場合によっては下の輪が磁石の位置にくるように高さを調整します。

 

銅線がクルクル回るのを見ていると、フレミングの法則やローレンツ力(注)を知っていても、よくこんなシンプルさで動くものだと、しばし感動的な気分になります。

 

 

↑製作した単極モーターの動画

 

注)磁場中の導体に電流が流れるときにその導体に力(ローレンツ力)が作用します。この現象について、磁場の向きをと電流と力の向きの関係を左手の指で示すのがフレミングの左手の法則。左手の人差し指が磁界の向き、同じく中指が電流の向き、親指が導体にかかる力の向きを示します。ちなみに、電気を力に変えるモーターの場合がフレミングの左手の法則なら、力を電気に変える発電機の場合がフレミングの右手の法則です。説明は省略します。

 

↑Microsoft 365で32ビットのAccessファイルを開いたら、コンパイルエラーを示して動かなくなった

Microsoft 365 Personalをインストール

 

●被団協のノーベル賞受賞を祝します

 

本題とは関係がないのですが一言。

 

日本原水爆被害者団体協議会のノーベル平和賞受賞をお慶び申し上げます。

 

被爆二世なもので嬉しさひとしおです。被爆者の多くが亡くなり、各県での会の活動が困難になっていると聞いて久しいですが、何もお手伝いできていないことを恥ずかしく思います。核兵器の即時廃絶、世界平和へつながることを願ってやみません。

 

●インストールしたはずのAccessが見つからない

 

今回は、MicrosoftのデータベースアプリAccessにかかわる話です。

 

Accessを使う必要にせまられて、Microsoft 365 Personalをインストールしました。

 

いうまでもなく、Microsoft 365は買い切り型でなくサブスクリプション型。期間を限って使用する権利を買うというのは、古い人間にとっては現物がないのに金が払えるか、ととて受け入れがたいもので、これまではスルーしてきました。

 

とはいえ、永続版のAccessを買うとなれば結構高額で、そんなことなら何台の端末にもインストールが可能なサブスクリプション型にし、好きな時に止めたらいいじゃないかと、ついに節を曲げることになったものです。

 

なお購入は、Microsoftから手に入れるより安いAmazonの1年版にしました。

 

いくつもバージョンのあるアプリのインストールってわかりにくいのですが、Microsoft 365 Personal 1年版についても少々まごつきましたが、なんとかインストール。と思ったらAccessが見当たりません。

 

メニュー画面に生成したMicrosoft 365(Office)のアイコンをクリックして開いた画面には、WordやExcel、PowerPointなどのアイコンがあるのに、なぜかAccessがないので激しく動揺。

 

実際には、メニュー画面の[すべてのアプリ]をクリックして開いたリストのなかに、Accessはちゃんとありました。Accessは別扱いなのですね。紛らわしいことをしてくれるものです。

 

ここまでは、毎度当ブログおなじみの「なんと驚いた」パターンですが、今回は想定外のサプライズがこの後にまだ控えていました。

 

●エラーの原因と対処

 

高い金を支払ったというのにAccessがない、と肝を冷やしたばかりですが、今度はそのAccessでmdbファイルを開いたところ、コンパイルエラーが表示されて動かないのです。愕然となりました。

 

Office(Access)はかつて32ビットしかなく、Office2010以降のインストーラーに32ビット版と64ビット版が同梱されるようになって、Office2016までは32ビット版が自動インストール、64ビット版は従扱い、Office2019から64ビット版のインストールが主に変わったんだとか。

 

今回エラーが起きたのは、64ビット版のAccessで32ビットAccessプログラムを動かそうとしたからです。32ビット版のAccessにてVisual Basicで書いたモジュールがエラーを起こすようです。テーブルやクエリーだけなら問題はありません。

 

①Accessプログラムを32ビット版Accessで動かす

 

慌てましたが、インストール時に32ビット版か64ビット版かを選択することができるということなので、何台でもインストールできるOffice 365の利点を生かし、とりあえず別なパソコンに32ビットでOffice 365をインストールしました。結果、従来型の32ビットAccessプログラムであるmdbファイルは、無事動かすことができました。


32ビットAccessプログラムは、次に示す64ビット対応に書き換える方法をとるより、不測の事態を招かぬようそのまま32ビット版Accessで動かす方が無難かもしれません。

 

②Accessプログラムを64ビット対応に

 

64ビット版Accessで32ビットAccessプログラムがエラーを起こすのは、プログラムの書き方が32ビット版Access向けだからなんだそうです。

 

Accessでは「Windows API」という機能を使用しており、その機能を呼び出すための宣言方法を64ビット版に改めれば、エラーは解消されるはずだということ。

 

今後、AccessをはじめOfficeは64ビット版を使うことがもっぱらと思われますから、32ビットAcⅽessプログラムも64ビット版対応に書き換えて使いたくなりますよね。

 

その方法は、該当する各モジュールの冒頭部分にあるDeclareステートメントにPtrSafe属性を設定すること。具体的にはDeclare Function …あるいはDeclare Sub …となっている箇所を、DeclareのあとにPtrSafeを挿入するよう、Accessで検索しすべて置換します。

 

 

なお、置換の際は現在対象となっているモジュールだけでなく、該当するモジュールがもれなく書き換えられるように、Accessで開いた置換のダイアログボックスの[カレント プロジェクト(C)]にチェックを入れておきます(画像参照)。

 

たったこれだけで、完了です。

 

結果、64ビット対応させたAccessプログラムは、Microsoft 365(Access)で今のところ問題なく動いています。