1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

リモートワークに役立つ、スクリーンセーバーキラーの製作

Last updated at Posted at 2020-03-10

はじめに

リモートワークをしていると、会社から監視されることもあると思います。会社によってはスクリーンセーバーの起動頻度で、さぼっているかどうか見ているようですね。ただ、トイレに行くとか、子供に呼ばれるとか、ネコがひざに乗ってくるとか、不測の事態で、PCの操作ができず、スクリーンセーバーが起動してしまう場合もあります。「さぼってないのに…」という方向け、USBにさしておくだけでスクリーンセーバーの起動を回避するガジェットを作りましょう。

とにかく動かしたい人向け

買い物(ハードウェア)

まずは以下のハードウェアを購入します。

  • Blue Pill

Aliexpressで買うと安いのですが、このご時世、中国からの発送に30から50日かかります。仕方ないので、私はアマゾンで買いました。
アマゾン Blue Pill
アマゾンのカスタマーレビューに「R10に1.5kohmが載っているか要確認」とあります。私が購入したものは1.5kohmでした。そうでないものが届いてしまった場合は、張り替えか、もう一つ買う必要があります。

  • STLINK/V2

これもアマゾンで買いました。
アマゾン STLINK/V2

ソフトウェア

STM32CubeProgrammerというのをダウンロードします。

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がつながっているのを確認します

image.png

  • Blue PillのRESETボタンを押しっぱなしにします
  • Connectボタンを押して、Blue PillのRESETボタンを離します

image.png

  • Connectインジケータがついたらつながりました

image.png

  • 左下のEraseボタンを押して、Blue PillのFLASHを消去します

image.png

  • 左上のErasing & Programmingボタンを押します
  • BrowseからダウンロードしてきたBluePill.binを選択します
  • Start Programmingで書き込みます

image.png

  • 成功したら、Disconnectして、そのあとSTM32CubeProgrammerを終了します

image.png

  • Blue PillをSTLINK/V2をPCから外します
  • Blue PillとSTLINK/V2の接続を外します

動かしてみる

Blue PillをPCに接続します。ドライバーのインストールが始まって、マウスとして認識されます。

image.png

おめでとうございます。これで完成です。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と何か

終わりに

これでリモートワークもさぼれる余計な心配をしなくていいですね!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?