2021年3月14日日曜日

CF-NX4をSSD化してみた

 友人がコスパが良いノパソを欲しがっていたので中古のLet's noteをSSD化してみた。CF-NX4のi5モデル、メモリ8GB、SSD250GBにすればそこそこ使えそうだし。

SSDは変なもたつきがあると嫌なのでDRAMキャシュ付きでそこそこ安いやつを探していたらサムスンの860 Evoがやすかったのでこれの250GBにしてみた。

本当は500GBにしたかったところだったんだけど予算の関係で…

中古のCF-NX4の方はHDDにOSがクリーンインストールされている状態だったので今回はSSDにOSをクリーンインストールする形にした。
このPC、HDDはバッテリーを外したところにネジが一本あってこの蓋をスライドすると出てくる模様。
スライドしたカバーを取るのに少し苦労したけど、カバーを取ると白いテープ的なのがあるのでこれを引っ張り出す。
このテープを引っ張るとHDDが抜けてくる。

あとはSSDにこのテープを張り替えて逆の手順で突っ込むだけ。
突っ込むときはスポンジが邪魔をするのでポイントカードのようなある程度硬いものでスポンジを抑えながら突っ込むと楽だった。

あとは起動してF2連打でBIOSに入ってUEFIを有効にしてWindows 10をクリーンインストールして完成!
ドライバはWindows Updateからほぼ入ったので公式サイトからWindows 8.1用の純正アプリケーションをそこそこ入れて完成。Windows 10でも動いた。

3万円でこのクラスのPCならまあまあコスパ高いんじゃないかなぁ。軽いし。
ちなみにこの個体は4GBのメモリが増設されていたのでもともと8GBでお買い得だった。


2021年3月13日土曜日

XiaomiのBluetooth温湿度計2を買ってみた

 AliexpressでたまたまXiaomi Mijiaの温湿度計2が安かったので買ってみた。BLEに対応しているやつ。品番でいうとLYWSD03MMCで、小さくて安いやつ。送料込み400円ぐらいだった。

レビューに紹介画像より小さいっていうのが書いてあったのでサイズは確認していたんだけど、パッケージからして小さい。
裏面には仕様も書いてある。電池はCR2032っぽい。

付属品は説明書と両面テープ。両面テープでどっかに貼り付けられるぐらいかるい。

電池は裏蓋のにドライバーを突っ込むところがあるのでここにマイナスドライバーをつっこんでパカッと開く感じ。
電池入りだったので透明のシートを抜いたら起動した。

Bluetoothで接続する場合はMi Homeアプリを入れてBluetoothをオンにしておくと勝手に認識するので初期設定を済ませる。
アプリでは1秒ぐらいごとに最新の温湿度が見られる。そんでもってログ機能は1時間に1回ログしてるっぽい?

Pythonでデータを読めるようにしていたり、カスタムファームウェアもあるようなので改造ベースにも面白そう。







2021年3月6日土曜日

UPnPでESP32から自動でルータのポート開放してみた。

 インターネットに繋いだESP32からクラウドにデータを上げたりする分にはルータのポートを開けなくてもデータをサーバに蓄積することができるんだけど、ESP32-CAMのようにESP32自体をサーバにして運用するときはどうしてもルータのポートを開けないとインターネット越しにアクセスできない。

ESP32側から簡単にポートを開けられるようにUPnPでルータのポートを開けてみた。これならいちいちルータの設定画面を開かなくてもいいし、手軽に設置できるはず。

使用させてもらったライブラリはUPnP_Generic Library

これはArduino上のいろんなデバイスに対応しているUPnPライブラリで、ESP32とかESP8266も対応している。最近のルーターはたいてい対応していると思うけどポートを開けたいルーターはUPnP対応ルータが必要。あと2重ルータになってたりするとうまくいかないかも。

SimpleServerESP32のサンプルスケッチを動かしてみたがポートがうまく開かない…

他のライブラリを使ってみたりとかはしてみたんだけども、どうにもルータのUPnPには到達できてるのにうまくポートが開かない。ルータ側で見ていると一瞬開いてるようにも見えるんだけどすぐ消えてしまう状態…

フォーラムを読んでいると同じようにハマっている人がいるようで、最終的にはLEASE_DURATIONを0にすることでうまく動かすことができた。サンプルスケッチのデフォルトでは36000(秒)に設定されていた。ルータとの相性もあるのかもしれないけど、DD-WRT環境化ではこれを0にすることでうまくポートが開けられるようになった。LEASE_DURATIONは有効期限なので、0にすると有効期限がなしになってしまうが、ESP32側から不要になったら消すようにすればいいかもしれない。

ルータ側で設定を削除した場合は、一旦UPnPを無効にして有効にし直すか再起動しないともう一回追加できなかった。これはルータ側の仕様かも。

あとはDDNSとかでIPアドレス変わったのに対応できればサーバとして一通りの機能が搭載できるんじゃないかな…

DDNS自体は定期的にURL読み込めば良さそうだし。