室外温度を測るのにいままでは使っていないエアコン配管用の穴があったので、それを使ってセンサーを外に出していましたが、先日エアコンを増設したためその穴がふさがってしまいできなくなりました。なにか良い手はないものかと探したところ、サッシ越しにアンテナをつなぐケーブル(FPC)があったのでこれを使いました。FPCへの接続はTV用のプラグを使いました。センサーケーブルをぶった切って、配線を引き出し、TV用の同軸プラグにつなぎました。抵抗が増えるので測定温度にずれが生じるでしょうが、まあどうせ外の環境次第なんで気にしない。連休の工作でした
追伸)ワイヤレスの温度測定器もありますね。電池がいりますが、そっちのほうが安くつきそう。PCにつながるやつは高いけど。
SteamのサマーセルでTestament of Sherlock Holmesがセールをしてたのでぽちったところ、プレイ中落ちまくる、落ちまくる。どうやら古いゲームだからWindows10は対応してなかったようだ。これは返金依頼か?と思いながらいろいろ調べると、管理者モードやXPモードで起動やNvidiaドライバのDLLをゲームフォルダに置くわなどいろいろ情報はあるが、どれもうまくいかない。でもやはり同じことで悩んでいる人がいたようで、最終的にはここ"The Testament of Sherlock Holmes:steamゲームをwin10で!"で情報を見つけました。
この方によるとSteam コミュニティ :: The Testament of Sherlock HolmesにあるDevs, please do something about the crashes :: The Testament of Sherlock Holmes 総合掲示板のSteam掲示板中によると、フルスクリーンで使ってるとメモリ不足で落ちるらしい、ということです。当時より解像度が上がってるからかな?そのため4GB Patch – NTCoreの非公式パッチをあてると大丈夫!、となっている。配布しているのは実行ファイルなので、怪しみながらも実行したところ、今度は落ちない落ちない。とりあえずよかった。
でもイチマツの不安はぬぐえないので、変更後のEXEファイルの差分を調べてみました。
アドレス
旧値
新値
<意味>
備考
0x14E
0x03
0x23
FileHeaderのCharacteristics
0x20はIMAGE_FILE_LARGE_ADDRESS_AWAREフラグ
2GBを超えるアドレスが使えるようになるPE Format - Windows applications | Microsoft Docsを参照
0x190
0x8F
0xAF
OptionalHeaderのChecksum
PE Format - Windows applications | Microsoft DocsのCheckSumの項目参照
ということで、アプリのアドレスの制限を外すだけのようで、怪しげな変更ではなさそうので安心しました。どうもこのサイト4GB Patch – NTCoreは32bitアプリ全般を4GB化するためのもののようです。有志の方々に感謝です。
本サイトのWordpressの表示が乱れていることに気が付き、どこかファイルが壊れたかといろいろ四苦八苦したところ、どうもWordpressプラグインのCrayon Syntax HightlighterがPHP7.3で誤動作するのが問題のようだ(2019年版 Crayon Syntax Highlighterのエラー)。そういやレンタルサーバー側から先日7.2から7.3に上げると案内がきていた。Crayonは高機能なSyntax Hightlighterなので使っている人も多いようだが、すでにメンテされなくなって3年くらいたっている。代わりのプラグインを探したが、書式がコンパチというのは見当たらない。とはいえいまさら古いコンテンツをすべて書き換えるのも面倒なので、いろいろ探したところGithubで有志の方がメンテナンスされていたようだ(Release Crayon Syntax Highlighter & PHP 7.3 fix · Crunchify/crayon-syntax-highlighter · GitHub)。Wordpressのプラグインサイトには乗らないので、手動でアップデートが必要だがとりあえずこれでしのぐ。
この投稿をInstagramで見る
Mohmongar(@mohmongar)がシェアした投稿
この投稿をInstagramで見る
Mohmongar(@mohmongar)がシェアした投稿
Pythonを使って初歩的なミス。二次元配列の初期化で端折ってa=[[0]*3]*3などとしてしまったため、a[0][0]=1とした時、a[0][0]==a[1][0]==a[2][0]==1となり、しばらくうまく思ったとおりに動かず悩む。初歩的ミス。とりあえずa = [[0 for i in range(0,3)] for j in range(0,3)]と書いたが、個人的には美しくない。
firefoxがぶっとんだ。プラグインも設定も再設定。とほほ。
まずはフォントが汚いのが気になるため。以前どうやってか忘れたので、調べてメモ。
C:\Users*\AppData\Roaming\Mozilla\Firefox\Profiles*.default-*\user.js
のファイルに
user_pref("layers.acceleration.disabled", false); user_pref("gfx.content.azure.backends","direct2d1.1,cairo"); user_pref("gfx.direct2d.disabled", false); user_pref("gfx.direct2d.force-enabled", true); user_pref("gfx.font_rendering.cleartype.always_use_for_content", true); user_pref("gfx.font_rendering.cleartype_params.cleartype_level", 100); user_pref("gfx.font_rendering.cleartype_params.enhanced_contrast", 200); user_pref("gfx.font_rendering.cleartype_params.gamma", 500); user_pref("gfx.font_rendering.cleartype_params.pixel_structure", 1); user_pref("gfx.font_rendering.cleartype_params.rendering_mode", 5); user_pref("gfx.font_rendering.directwrite.enabled", true); user_pref("gfx.use_text_smoothing_setting", true); user_pref("layers.acceleration.disabled", false); user_pref("layers.acceleration.force-enabled", true);</pre>
にする。参考はWindowsのFirefoxのフォントレンダリングをきれいにする - Qiitaです。
この投稿をInstagramで見る
Mohmongar(@mohmongar)がシェアした投稿
Nature Remoを使っていろいろ設定してきたが、どうもうまく時間指定したコマンドを実行させられない。動いたり、動かなかったり、動いてもコマンド実行が指定時間よりちょい遅いなどの現象が起こるのだ。動かないときにはスマホ側には送信した、との通知はくるのだが、家電は反応してない。スマホから手動で実行すると動くので、赤外線が物理的に届いてないわけではない。遅いときには1分くらいずれるときがある。じゃあちょっと早めに時間設定してやれ、と思ったら、Natureのトリガだと15分単位でしか設定できない。どうもNatureのサーバがしょぼいせいの気がする。NatureはIFTTTで実行させるアプレットを提供しているので、IFTTTを使って自動運転させることにする。IFTTTは異なるウェブサービス間でサービスを連動させるウェブサービスだ。この場合
IFTTTで定時イベント&Natureへコマンド発生
Natureから家のRemo miniにコマンド発生
と、ひどく迂遠な方法で実行させる。これにより動かないことはなくなったが、それでも30秒~1分くらいは遅延するが、動かないことはないようなので、これで運用を続ける
Nature Remo Miniが届いたので、まずは照明の操作を登録するのだが、ある程度プリセットがあるかなと思っていたがあるのはボタンが多いTVとかエアコンだけ。照明系はリモコンから学習させるしかないことが発覚。でも操作したい照明のリモコンには点灯状態を変化させるのは1つの切り替えボタンしかない。しかもOn/Offではなく、On→調光→保安灯→OFF→...の4段階のモード切替。コマンドを送ってもその時の点灯状態次第ではどうなるかわからん・・困った。
だがここですでにもっていたUSB赤外線リモコンが役に立った。USB赤外線リモコンキットは、リモコンの赤外線情報のデータを読み取ることができ、かつある程度任意のコード(4種類くらいのフォーマットに対応)を出力できる。該当のリモコンのデータを読み取って、数字をちょっといじると、Onだけ、Offだけで動作するリモコンデータが見つかった!(下記参照)。意外とリモコンのボタンがもっている以上の機能に対応してるもんですな。助かったわ。オフィシャルじゃないけど、動けばOK!。
ちなみにこのUSB赤外線リモコンで直接照明まで送信できれば、話は簡単だったのだがパワー不足でどうにも届かないので(本来これが届くのであればNature remo miniはいらないかも)、「赤外線データをPCで作成→USB赤外線リモコンを”NatureRemo mini"に向けて発信させて学習→Nature Remoを照明の部屋にもっていき、そこで動くかどうかスマホから動作確認」をくりかえして各データの動作確認した。なんと迂遠な。
DAIKO製照明の一例:送信データとリモコンのボタン
"86409A60" がトグルスイッチ
"86409C60"が60minSLEEP
"86409D60"が30minSLEEP
手探りで解明した送信データと照明の動作
"86409669"が調光
"86409867"が保安光(黄色いやつ)
"86409E61"が消灯
"86409F60"が全灯
ちなみにこの照明のリモコン赤外線データはNEC式のようです。
参考にしたサイトは
赤外線リモコンの信号定義データの合成 — 赤外線リモコンの信号定義データの合成 1.3 ドキュメント
DSAS開発者の部屋:親指サイズの USB 赤外線リモコンが面白い
赤外線リモコンの通信フォーマット
です。