はじめに
リモートワークをしていると、会社から監視されることもあると思います。会社によってはスクリーンセーバーの起動頻度で、さぼっているかどうか見ているようですね。ただ、トイレに行くとか、子供に呼ばれるとか、ネコがひざに乗ってくるとか、不測の事態で、PCの操作ができず、スクリーンセーバーが起動してしまう場合もあります。「さぼってないのに…」という方向け、USBにさしておくだけでスクリーンセーバーの起動を回避するガジェットを作りましょう。
とにかく動かしたい人向け
買い物(ハードウェア)
まずは以下のハードウェアを購入します。
- Blue Pill
Aliexpressで買うと安いのですが、このご時世、中国からの発送に30から50日かかります。仕方ないので、私はアマゾンで買いました。
アマゾン Blue Pill
アマゾンのカスタマーレビューに「R10に1.5kohmが載っているか要確認」とあります。私が購入したものは1.5kohmでした。そうでないものが届いてしまった場合は、張り替えか、もう一つ買う必要があります。
- STLINK/V2
これもアマゾンで買いました。
アマゾン STLINK/V2
ソフトウェア
STM32CubeProgrammerというのをダウンロードします。
これをPCにインストールします。
Blue Pillに書き込むファームウェア
このbinファイルをダウンロードします。
書き込み
- STLINK/V2とBlue Pillを以下のように接続します。
STLINK/V2 | Blue Pill |
---|---|
GND | GND |
SWDIO | SWO |
SWCLK | SWCLK |
- STLINK/V2とBlue Pillの両方をPCに接続します
- STM32CubeProgrammerを起動します
- ST-LINKがつながっているのを確認します
- Blue PillのRESETボタンを押しっぱなしにします
- Connectボタンを押して、Blue PillのRESETボタンを離します
- Connectインジケータがついたらつながりました
- 左下のEraseボタンを押して、Blue PillのFLASHを消去します
- 左上のErasing & Programmingボタンを押します
- BrowseからダウンロードしてきたBluePill.binを選択します
- Start Programmingで書き込みます
- 成功したら、Disconnectして、そのあとSTM32CubeProgrammerを終了します
- Blue PillをSTLINK/V2をPCから外します
- Blue PillとSTLINK/V2の接続を外します
動かしてみる
Blue PillをPCに接続します。ドライバーのインストールが始まって、マウスとして認識されます。
おめでとうございます。これで完成です。5分に一度マウスカーソルを右に移動します。その1秒後に元のポジションに戻ります。
コンパイルしたい人向け
ソースコードのダウンロード
https://github.com/kotetsuy/ScreenSaverKiller
からソースコードを引っ張ってきます。
STM32CubeIDE用のプロジェクトですので、STM32CubeIDEをダウンロードしてコンパイルします。バージョン1.3.0で作成しています。
5分に一度を変更したい
main.cの
htim1.Instance = TIM1;
htim1.Init.Prescaler = 48000;
htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
htim1.Init.Period = 60000;
//htim1.Init.Period = 2000;
htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim1.Init.RepetitionCounter = 4;
htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
htim1.Init.RepetitionCounterに「設定したい分数-1」を入れて再コンパイルします。今は4なので5分です。
もっと知りたい人向け
どんなマウス?
STM32CubeIDEのデフォルトで設定するとMicrosoft Intellimouseの設定になるようです。USB INに以下の配列を返します。
offset | content |
---|---|
0 | ボタン3、ボタン2、ボタン1 |
1 | x(相対値) |
2 | y(相対値) |
3 | wheel |
4 | MotionWakeupと何か |
終わりに
これでリモートワークもさぼれる余計な心配をしなくていいですね!