stylesheet

2021-05-28

OPPO RENO A へ GCam アプリを導入

プリインのカメラアプリではおかしな色合いになることがおおかったので、GCamを導入してみた。

センサーについて

https://en.wikipedia.org/wiki/Exmor

メインカメラのセンサーはSony製Exmor RS IMX398。
OPPOとSonyの共同開発したとされるセンサーで、IMX298をベースにした1600万画素のイメージセンサー。 画素数は16MPで、センサーサイズは6.4mm (1/2.8")。RAW出力、位相差AFには対応するが、光学式手ブレ補正はなし。F値1.7の明るいレンズ。
スペック的には前モデルのIMX298から、位相差AFがデュアルコアAFと呼ばれている高速なものへアップデートされたぐらいのように見える。

IMX298を搭載したOnePlus3TとGCamの組み合わせで、そこそこ綺麗に取れていたので、センサーとしてのスジはそう悪くないはず。

GCamアプリについて

https://www.cyanogenmods.org/google-camera/

Google CameraアプリをGoogle製以外のアンドロイド端末向けに改変、機能追加したもの。
Play Storeでは配布されていない。
現行バージョンの8.xは、Android 11/10に対応している。Android 10以前の場合は、旧バージョンの7.xから探すことになる。

通常は機種ごとに専用のものをインストールすればよいが、"RENO A"に関しては、専用版は用意されていない。
また、センサー構成が同じと思われる機種("Oppo R17 Neo/K1"や"Oppo R15x"等)の専用版も見当たらないようだったので、 "Older Google Camera APK"に記載されているものを試して見た。

それぞれの結果は以下の通り。

Google Camera 7.3 and 7.4 by Arnova8G2:
起動するがすぐにクラッシュする。
Google Camera 7.3 and 7.4 by BSG:
画面を連続タップするとクラッシュするが、概ね動作する。
Google Camera 7.3 and 7.4 by Nikita:
ビューファインダーがコマ送り状態となり撮影できない。動画は動作するので、設定でなんとかなるかもしれない。
Google Camera 7.3 and 7.4 by Parrot043:
INSTALL_FAILED_OLDER_SDKでインストール不可。Android 10以降向け。
GCam 7.4 by PitbulL:
起動するがすぐにクラッシュ。Arnova8G2版と同じ。
GCam 7.3 by wyroczen:
起動するがすぐにクラッシュ。Arnova8G2版と同じ。
GCam 7.3 by Urnyx05:
画面を連続タップするとクラッシュするが、概ね動作する。BSG版と同じ。

多少不安定だが、実用できそうだったのが、BSG版とUrnyx05版。
現在はUrnyx05版を常用しているが、特に目立った問題には遭遇していない。

サンプル画像

GCamアプリを使用

Stockカメラアプリを使用

2021-01-22

AppEngineで課金設定をするにあたってすべきこと

Google AppEngineさん、今後は課金設定しないと使わせてくれないようで。

App Engine スタンダード アプリケーションを引き続きご利用いただくために、2021 年 1 月 31 日までにお支払い情報の追加をお願いいたします。
  
  2019 年 11 月 30 日以降、App Engine スタンダード環境ではデプロイ時に Cloud Build を使用しております。Cloud Build には、他のすべての Google Cloud 同様に、有効なお支払い方法が必要です。当時、今後もお客様にプロジェクトのデプロイを継続していただくために、App Engine プロジェクトを有効なお支払い方法を設定した請求先アカウントにリンクしていただくようお願いいたしました。

2021 年 1 月 31 日以降、すべての App Engine プロジェクトの継続には、有効なお支払い方法を設定した請求先アカウントとのリンクが必要です。

2021 年 1 月 31 日までに、有効なお支払い方法が設定された請求先アカウントとリンクされなかった App Engine アプリは、シャットダウンされます。運用中のインスタンスは終了し、プロジェクトにお支払い方法が追加されるまで新しいインスタンスを開始することはできません。

この変更による既存の App Engine の無料枠への影響はございません。また、使用量が無料枠の割り当ての範囲に収まっている場合は、App Engine の料金が発生することはございません。ただし、使用量が無料枠の使用限度を超えた場合は、料金が発生いたします。このたびの変更前は、無料枠を超えて使用した場合、1 日の割り当てがリセットされるまでアプリの稼働が止まりました。

ありがとうございます。
今後は破産のリスクに晒されることになりました。

無料枠を費用管理方法としてご利用の場合は、以下の方法のうちいずれかの方法でApp Engine の費用を管理されることをおすすめします。

- app.yamlで max_instances 設定に 1 を指定して、無料枠の超過リスクを減らします。この設定により、アプリのスケーリング能力が制限されますが、ハードリミットではないため、使用量と請求額が増える可能性があります。
- Cloud の予算アラートを設定して、予算上限に近づいたときに通知を受け取ります。
- アプリを手動で無効にします。ただし、この場合、無効にできるのはインスタンス時間やネットワーキングなどアプリの実行に関連した料金のみです。アプリを無効にした間も、Cloud Storage の容量に対する料金などの固定費は引き続き発生します。
- アプリをプログラムで無効にすると、指定したしきい値以上の費用が発生しないよう上限を設定できます。

親切にありがとうございます。ところで、一日単位で予算制限はできないのしょうか?G〇〇gle BotとかのBotが大挙して押し寄せるとコストが嵩むので。
ない?
なるほど、予算制限機能は先立って廃止されたのですね。

それでは、おすすめに従って、max_instanceの制限プログラムで無効にする対策を行うように致します。

2020-09-23

AutoHotKeyで変換/無変換キーを有効利用

中古で安く手に入れたThinkpadの一体型パコパコパッドが、アレなもんで...。余ってる変換/無変換キーを活用するAutoHotKeyスクリプトを書いてみた。
このスクリプトを起動しておくと、変換/無変換キー/かなキーでそれぞれ右/左/中クリックを行うことができる。
また、同じキーで日本語入力のON/OFFを行うモードもつけているので、そちらの気がある方も便利に使えるのではと思う。

だだし、このスクリプトはUSキーマップ環境で日本語キーボードを使っている変態さん向けのプログラムだ。
完全な日本語環境では、いろいろとキーバインドが衝突して、動作に支障をきたす可能性があるので注意されたし。

2020-09-10

一眼レフカメラ Olympus E-410 電源スイッチ修理

オリンパスのミラーレスではない、デジタル一眼レフカメラE-410。
2007年の発売なので、かれこれ10年以上前の製品。

オリンパスがカメラ事業を手放すことが決まったそうで。そういえば、オリンパスの一眼レフを持ってたなと。 久々に引っ張り出してみるもうまく電源が入らない。
スイッチの接点が退化してしまっているようで、上から押さえつけてやるなりしてうまくアタリをつけてやらないとすぐに電源がオフになってしまう。

この症状、検索してみるとよくあるようで、接点の清掃で治るらしい。
分解作業もドライバー一本で簡単に行えるようなので、セルフリペアすることとし、分解手順を記録としてここに記す。

2020-08-25

格安Wi-Fi6ルーターのTP-Link Archer AX1500 / AX10

Wi-Fiルーター故障に付き、新調。

せっかくなのでWi-Fi6対応品にしてみた。購入したのは、tp-link製のArcher AX10。 Wi-Fi6対応品としては最安値レベル、実売8000円前後のエントリーモデル。

2020-07-09

東証株価指数ヒートマップ表示 デスクトップアプリ その3

東証株価指数ヒートマップ表示デスクトップアプリです。久々に触って気分がよくなったので連日の更新です。

今度は新機能追加です。
ユーザーCSSを追加できるようにしてみました。

前回同様、アプリについて詳しくはその1を参照してください。
また、前回の更新内容についてはその2を参照してください。

ダウンロード (最新版はv1.1.0になります)

2020-07-08

東証株価指数ヒートマップ表示 デスクトップアプリ その2

東証株価指数ヒートマップ表示 デスクトップアプリです。地味に更新しました。
アプリについてはその1を参照してください。

稀に、リモート側が壊れたデータを返すことがあるので、そちらへの対処を追加しています。
新しい機能などはありませんので、面倒ならば更新スルーしても問題ありません。

ダウンロード (最新版はv1.0.2になります)

2020-04-11

Ubuntu 18.05 マウスの中ボタンクリックエミュレーション

左右ボタンクリックで中ボタンクリックとする機能。昔はGUIで設定できた気がしたのだが...

# /usr/share/X11/xorg.conf.d/99-mydev.conf

Section "InputClass"
    Identifier "Kensington Orbit Trackball with Scroll Ring"
    MatchIsPointer "on"
    MatchDevicePath "/dev/input/event*"
    MatchUSBID "047d:2048"
    Driver "evdev"
    Option "Emulate3Buttons" "True"
    Option "Emulate3Timeout" "50"
EndSection

Match*でデバイスを絞り込んで、オプションを追加している。Emulate3Buttonsフラグで中ボタンエミュレーション。Emulate3Timeoutはしきい値。

デバイスIDを調べるにはlsusbを、ボタンIDを調べるのはxevを使用するとよい。evdevドライバで使えるオプションはman evdevに記載されているので参照されたし。

2020-02-18

Clova Friends mini SALLY + Clova Friends Dock (赤外線リモコン) の在庫処分品を救出

某所マラソンセールでドックとのセット品が投げ売りされていたので買ってみた。

Clova Friends mini SALLY + Clova Friends Dock (赤外線リモコン)がクーポン利用で1480円。
格安のBluetoothスピーカーとして使えればいいかといったモチベーション。

2020-02-11

東証株価指数ヒートマップ表示 デスクトップアプリ

東証の株価指数をヒートマップ表示するElectron製アプリを公開。
他人の褌で土俵を取っているので、ひっそりと...

ちゃんと保守する気はないので、突然消えたりします。必要な方は早めに確保願います。

東証株価指数ヒートマップ - jpx-heatmap

概要

日本取引所グループ公開の株価指数データを使用したヒートマップ表示アプリケーションです。

ダウンロード

こちらからダウンロードできます。

Electron製につき、内容の割に非常にファイルサイズが大きいのでご注意ください。

  • Windows 64ビット版 - jpx-heatmap-?.?.?-win.zip
  • Linux 64ビット版 AppImage - jpx-heatmap-?.?.?.AppImage

インストールと実行

Windows版
zip書庫を解凍し、jpx-heatmap.exeを実行します。

Linux版AppImage
AppImageファイルを直接実行します。

アンインストールと削除

Windows版
ディレクトリごと削除してください。設定情報なども削除する場合は、%AppData%/Roaming/jpx-heatmapディレクトリも削除します。

Linux版
ファイルを削除してください。設定情報などは~/.config/jpx-heatmapディレクトリを削除します。

スクリーンショット

メイン画面

設定画面

アプリについて

Window 64ビット版/Linux 64ビット版 ダウンロード

2020-02-09

Electron + Vue.jsでデスクトップアプリを作る

久々のJavaScriptネタは、Electron

ダウンロードしたアプリケーションがコイツを使ったWebアプリだったりするとなかなかに残念な気持ちになる、あのElectron。
一部のセクターで根強いニーズがあるとかないとか。

そんなElectronをVue.jsと合わせて使うメモ。開発環境はUbuntuベースのディストリ。

2020-01-19

OrangePi WinをDLNAメディアサーバーにする

前回、OrangePi WinへSambaを入れてファイルサーバー化した。

ネットワーク内でのファイル共有、主にメディアファイルの複数マシンからのアクセスに便利に使用しているが、せっかくなので、格納しているメディアファイルをDLNAで公開してメディアサーバーにしてみようと思う。

最近は、PlexServiioといった有償アプリケーション(無料版もある)が人気のようだが、高機能な分リソース消費も多そう。非力なOrangePiでは荷が重いことだろう。
そこで、今回はDLNAサーバーとしては最もシンプルな、管理用UIやトランスコーディング機能もない、minidlnaを使用することにする。

インストールはaptで行える。

$ sudo apt install minidlna

設定ファイルを編集。管理用のUIは持たないので、直接設定ファイルを編集する。
配信用ディレクトリは、音声/画像/動画で別々のディレクトリを指定することも可能。 また、friendly_nameで表示名を変更できる。

$ sudo jed /etc/minidlna.conf

...

# Path to the directory you want scanned for media files.
#
# This option can be specified more than once if you want multiple directories
# scanned.
#
# If you want to restrict a media_dir to a specific content type, you can
# prepend the directory name with a letter representing the type (A, P or V),
# followed by a comma, as so:
#   * "A" for audio    (eg. media_dir=A,/var/lib/minidlna/music)
#   * "P" for pictures (eg. media_dir=P,/var/lib/minidlna/pictures)
#   * "V" for video    (eg. media_dir=V,/var/lib/minidlna/videos)
#   * "PV" for pictures and video (eg. media_dir=PV,/var/lib/minidlna/digital_camera)
# media_dir=/var/lib/minidlna
media_dir=A,/mnt/usbhdd/music
media_dir=P,/mnt/usbhdd/photo
media_dir=V,/mnt/usbhdd/media

...


# Name that the DLNA server presents to clients.
# Defaults to "hostname: username".
friendly_name=OrangePi Media Server

ファイルが多いとinotfyが足りなくなるので、max_user_watchesを増やしておく。
最大524288まで指定できるが、大きな値を指定するとそれだけメモリーを専有するので程々に。
64bitシステムで最大値を指定した場合、1つあたり1kB、合計512MBのカーネルメモリーを使用する。

$ sudo sysctl -a | grep fs.inotify
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 128
fs.inotify.max_user_watches = 8192

$ sudo sysctl fs.inotify.max_user_watches=65536

再起動後も反映させるため、sysctl.d以下にファイルを作成。

$ sudo jed /etc/sysctl.d/90-inotify.config 

fs.inotify.max_user_watches = 65536

デーモンを停止。


$ sudo service minidlna start

DBを強制再作成。

$ sudo minidlnad -R

デーモンを起動。

$ sudo service minidlna start

MediaTombのような管理インターフェイスは存在しないが、ブラウザでポート8200番にアクセスすると簡易なステータス表示を行える。死活監視用に使えるだろう。

Windows10ではエクスプローラーが自動認識した。
クライアントとしてはPCではWindows Media Player、スマホではVLC Media Player等がDLNAに対応している。 その他、一部テレビやプレイステーション等からも参照可能。

もっとも、PCやスマートフォンならばSamba経由でマウントしてしまうほうがよっぽど扱いやすいので、DLNA自体の出番は少ないかもしれない。
Google HomeやAmazon Echo等のスマートスピーカーで直接再生できるようになれば、もう少し活用のしがいもあるだが...

2020-01-18

OrangePi WinにSambaを入れてファイルサーバーにする

OrangePi Winへ最新のArmbianをクリーンインストールしたので、ちまちまと環境再構築を行っている。
今回は、NTFSファイルシステムのUSBハードディスクを繋いで、簡易ファイルサーバーにする手順をメモ。

USBハードディスクを起動時に自動マウント

据え置きでつけたり外したりすることがないならfstabに追記してしまうのが楽。割当先が変わってしまっても良いようにHDD固有のUUIDを指定する。
UUIDを調べるにはblkidコマンドが手っ取り早い。

$ sudo blkid
/dev/mmcblk0p1: UUID="df60a59a-dc75-4ca4-9a17-c546acbb03f3" TYPE="ext4" PARTUUID="e6de6566-01"
/dev/zram0: LABEL="log2ram" UUID="297abf0b-bd2e-4f58-a031-424e6c752837" TYPE="ext4"
/dev/sda1: UUID="D6BEABF3BEABCA77" TYPE="ntfs" PARTLABEL="Elements" PARTUUID="4dd64d94-0369-4714-a4b6-6bdf04b56b62"
/dev/zram1: UUID="924853f6-4a2d-4b88-b93b-bdd289a81d77" TYPE="swap"
/dev/mmcblk0: PTUUID="e6de6566" PTTYPE="dos"

/dev/sda1がUSBハードディスクなのでUUIDは"D6BEABF3BEABCA77"だとわかる。

マウント先を作ってfstabに追記。
今回のハードディスクはNTFSファイルシステムを使用しているため、ntfs-3gを使用。uidgidにはマウント時に所有権を与えるユーザーを指定する。

$ sudo mkdir /mnt/usbhdd
$ sudo emacs /etc/fstab

UUID=df60a59a-dc75-4ca4-9a17-c546acbb03f3 / ext4 defaults,noatime,nodiratime,commit=600,errors=remount-ro 0 1
tmpfs /tmp tmpfs defaults,nosuid 0 0
UUID=D6BEABF3BEABCA77 /mnt/usbhdd ntfs-3g defaults,iocharset=utf8,uid=1000,gid=1000,umask=0022 0 0

再起動するかmount -aで反映させる。

Sambaをローカル認証で使用

aptでインストール。

$ sudo apt install samba

Linuxユーザーを作成してSambaへ登録。ユーザー名とパスワードはWindowsと合わせておくと楽。

$ sudo adduser USERNAME
$ sudo pdbedit -a USERNAME

共有を追加してサービスを再起動。

$ emacs /etc/samba/smb.conf

...

[share]
  comment = USB Harddisk
  path = /mnt/usbhdd
  browseable = yes
  read only = no
  writable = yes
  force user = 1000
  create mode = 0755
  directory mode = 0755

# ゲスト共有用
;  guest only = yes
;  guest ok = yes


$ sudo service smbd restart

以上。

Windows10 Creators Updateの留意事項

Windows 10 Creators Update以降、SMB1.0と認証なしゲスト共有はセキュリティリスクの懸念からデフォルトで無効化されているので使用しないようにする。

どうしても必要な場合は...

SMB1.0は「Windowsの機能の有効化または無効化」からインストールできる。

ゲスト共有は、グループポリシーの「コンピューターの構成 > 管理用テンプレート > ネットワーク > Lanmanワークステーション > 安全でないゲストログオンを有効にする」または、レジストリ「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\AllowInsecureGuestAuth」で設定できる。