Android – matoken's blog https://matoken.org/blog Is there no plan B? Fri, 22 May 2026 21:39:22 +0000 ja hourly 1 https://wordpress.org/?v=7.0.4 https://matoken.org/blog/wp-content/uploads/2025/03/cropped-1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9-32x32.jpeg Android – matoken's blog https://matoken.org/blog 32 32 motorola moto g24 + mineo D環境でテザリングがうまく行かなくなった https://matoken.org/blog/2026/05/23/motorola-moto-g24-mineo-d-tethering-doesnt-work/ https://matoken.org/blog/2026/05/23/motorola-moto-g24-mineo-d-tethering-doesnt-work/#respond Fri, 22 May 2026 21:39:22 +0000 https://matoken.org/blog/?p=5474

motorola moto g24というエントリーAndroidスマホにMVNOのmineo DのSIMを挿して使っています.先日久々にWi-FiテザリングをしようとしたらAPとして動作してIPも振り出されますが,「インターネットに接続されていません」となり外に出られません.
Bluetoothテザリングでもダメそう.

moto g24 tethering ng

以前はうまく行っていたので恐らく最近のシステムアップデートのタイミングで動作が変わったのかもしれません.

現在のAPN設定を確認すると元の設定は「default,supl」これは確かこの端末のプリセットのままです.
mineoのサポートを見ると以下のようになっています.

APNタイプ ※ default,supl,ia

※ 一部機種においてテザリングをご利用いただく場合、「default,supl,ia」に加えて「,dun」を入力する必要があります。

ia が無いので ia を付けてみると動作変わらず, dun を付けるとテザリングがうまく行くようになりました.

少し試すとこんな感じ.

APN テザリング

default,supl

NG

default,supl,dun

OK

default,supl,ia

NG

default,supl,ia,dun

OK

ia がなくても動きそうですが,サポートページでは付いているので `default,supl,ia,dun`にしておこうと思います.

環境
$ adb shell getprop ro.build.version.release
14
$ adb shell getprop ro.build.version.sdk
34
$ adb shell getprop ro.build.id
UTAS34.82-126-2
$ adb shell getprop ro.product.model
moto g24
]]>
https://matoken.org/blog/2026/05/23/motorola-moto-g24-mineo-d-tethering-doesnt-work/feed/ 0
Motorola moto G24で充電制限(「過充電の防止」機能) https://matoken.org/blog/2026/05/09/motorola-moto-g24_overcarge/ https://matoken.org/blog/2026/05/09/motorola-moto-g24_overcarge/#respond Fri, 08 May 2026 21:31:31 +0000 https://matoken.org/blog/?p=5465

以前,Androidスマートフォンをadbコマンド経由でバッテリー充電状況を確認して80%までしか充電しないようにしていた時期がありました.

しかしあまり差がないように感じてやめてしまいました.
現在利用しているAndroid端末のmoto G24に似た機能があるのに気づいたので有効にしてみました.

「設定」→「バッテリー」→「過充電の防止」で有効にできます.

moto g24 overcharging

この状態で充電を行うと80%担ったところで充電が止まるのが確認できました.
以下のような説明があるので一旦80%になったら20%になるまで充電できないのかなと思いましたが,充電ケーブルを接続し直したらまた80%まで充電してくれました.

電話が電源に接続されている間、過充電の防止機能により電池は
正常な状態に保たれます。充電は80%で一時的に停止し、電池の列
量が20%を下回ると再開します。

80%充電が完了すると通知が来ます.この通知をタップすると設定画面は開きますが,「過充電の防止」は開かないので100%充電にするために機能をoff似するのが少し面倒です.

過充電の防止が動作すると、通知が届きます。

通知例

しかし,この通知が来ても充電が止まらず100%充電されることも.設定を確認するとちゃんと過充電の防止はonの状態です.再起動しても100%充電されます.「過充電の防止」設定をoff/onすることでまた効くようになりました.充電周りにバグがあると少し不安です.

他社でも機能名はそれぞれですが,類似機能のある機種があるようです.あまり目につく機能ではありませんが購入前に知りたいところです.

環境
$ adb shell getprop ro.build.version.release
14
$ adb shell getprop ro.build.version.sdk
34
$ adb shell getprop ro.build.id
UTAS34.82-126-2
$ adb shell getprop ro.product.model
moto g24
]]>
https://matoken.org/blog/2026/05/09/motorola-moto-g24_overcarge/feed/ 0
スマホを使って手軽にMapillary とKartaView に写真アップロード https://matoken.org/blog/2025/12/06/mapillary-and-kartaview/ https://matoken.org/blog/2025/12/06/mapillary-and-kartaview/#respond Sat, 06 Dec 2025 10:47:35 +0000 https://matoken.org/blog/?p=4807

しばらく前から月に1〜4回位の頻度で歯医者に通っています.いつもは暗い時間帯に移動するので明るい時間に移動するのが新鮮.ということで久々にMapillary をやってみようと思い立ちました.

Mapillary はジオタグ付きの写真を共有しいぇGoogle オープンストリートマップのようなものをみんなでつくるようなものです.Mapillary にUp されたデータはCC-BY-SA-4.0 のもとで利用することが出来ます.また,OpenStreetMap に投稿するために写真からデータを取り出すためには特別な許可を得ているのでOpenStreetMap のマッピングにも利用できます.

以前はアクションカム+GPSロガーなんかを使っていましたが壊れて久しいです.とりあえずサブで医療している少し古いAndroidスマートフォン+Mapillary アプリを利用することに.画質や画角はいまいちな感じがしますが,自分の行動圏内を見るとほぼ真っ白なので何もないよりはましだろうと思っています.

Mapillary アプリを久々に起動すると認証に失敗します.タイミングが悪かったかなと思い時間をずらして何度か試しましたが数週間してもだめです.

mapillary login fail

アプリストアのレビューを見てみようと思いアクセスすると,アプリ名の後ろに「discontinued」 と付いています.え,と思いMapillary のsite からアクセスすると app.mapillary → com.mapillary.app と違うアプリになっています.

この新しい方のアプリを導入することで認証も成功し,ログインできるようになりました.アイコンも微妙に変わっています.

mapillary icons

ということでMapillary アプリが利用できるようになったので自動車のダッシュボードに置いて撮影してみました.
撮影時はこんな感じ.

View on Mastodon

自動車のシガーソケットからUSBに変換したものからケーブルを引っ張って給電しつつダイソーのスマホスタンドにスマートフォンを立てかけてMapillary アプリで撮影しています.
この状態だとカーブでずれるので現在は滑り止めを敷いています.

これで少し早めに家を出て少し回り道をしつつ移動してみています.

帰宅後アップロードを試みますが1枚もアップロードできません.

mapillary upload fail

これは回線の問題(楽天モバイルauローミングエリアの端っこ)のようでモバイルルーターを都会に持ち出してそこでアップロードを試みることでアップロードできました.

アップロード後しばらくしてからMapillary にアクセスすると反映されています.

というような話を鹿児島Linux勉強会 2025.11(オンライン開催)終了後の雑談時に話していたら「(Mapillary は)META 参加なのですね」といわれ確認すると2020年6月にFacebook(現META)へ売却されていました.

そういえば類似サービスのOpenStreetCam は?と確認すると旧OpenStreetCam およびOpenStreetView はKartaView というサービスになっているようです.
KartaView もアップロードされたデータはCC-BY-SA-4.0 になるようです.

KartaView を少し確認すると,BETA ですが,KartaView からMapillary への連携機能があるようです.これを有効にするとKartaView にアップロードした写真がMapillary にアップロードされます.KartaView にアップロードするだけで両方にUp できるので良さそうです.
リンク手順はログインしてユーザページに入ることで可能です.

kartaview mapillary link

KartaView にもiOS/Android アプリがあります.Mapillary に無い機能としてOBD2 連携機能ああります.トンネルなどのGNSS 電波の届かない,弱い場所でOBD2 のデータで補強して制度を上げることができるようです.
恐らくさいきんの自動車であれば以下のようなものを取り付けることで制度が上がると思います編み確認です.自分は切り通しや木々で囲まれた道路をよく通りGNSS 電波を見失うことがよくあるので試してみたいところです.

Amazon JP を眺めると日本で適法で利用できそうなものはこの辺でしょうか.¥3,132 税込.

ということでこれからはKartaView アプリを利用することにしました.

Note

今日はState of the Map Japan 2025 開催日ということで少し関連しそうな記事にしてみました.後で動画を視聴したいところ.

]]>
https://matoken.org/blog/2025/12/06/mapillary-and-kartaview/feed/ 0
Squawker 3.8.4 で再度認証可能に https://matoken.org/blog/2025/12/02/squawker-3-8-4-allows-authentication-again/ https://matoken.org/blog/2025/12/02/squawker-3-8-4-allows-authentication-again/#respond Tue, 02 Dec 2025 09:45:00 +0000 https://matoken.org/blog/?p=4761

squawker logo

非公式Twitter client の Squawker バージョン 3.8.4 がリリースされました.

今回のリリースで仕様変更による認証情報の取得 異失敗する問題が解決されています.

Implement a new way to log (via the X web page, inspired by QuaX).

QuaX を参考にして実装されたようです.
今回の問題でQuaX に乗り換えようかとも思ったのですが,Squawker からのデータ移行は出来ましたがたくさんのアカウントの読み込みがうまく行かなかったりと自分の使い方ではSquawker のほうが良さそうです.

ということで早速更新.
F-Froid から導入していたので,F-Droid アプリで更新を行いました.

起動するとセッションの切れた認証情報を消しておいたせいか Not logged in と言われます Login から認証を行おうとしましたが,

squawker login

回線がプアなせいで何度かタイムアウト

squawker timeout

とかやっていたら Not logged in 画面を消してしまいました.右上の歯車→account からアカウントを追加しました.

squawker addaccount

Web認証画面に遷移するので認証を行うとSquawker にアカウントが登録できます.

squawker xlogin

アカウントの登録ができると時系列でTweet を見たり出来ます.

squawker matoken1

Nitter と組み合わせて使っていこうかと思います.

環境
$ adb shell dumpsys package org.ca.squawker | grep versionName=
    versionName=3.8.4
$ adb shell dumpsys package org.fdroid.fdroid | grep versionName=
    versionName=1.23.1
$ adb shell getprop ro.build.version.release
14
$ adb shell getprop ro.build.version.sdk
34
$ adb shell getprop ro.build.id
UTAS34.82-113-2
$ adb shell getprop ro.product.model
moto g24
追記

今回入った以下のバグのせいで使いづらく.前者は指でどうにか操作できますが後者は指でタップしておいても強制的にtop に移動してしまうのでスレッドの投稿が読めません.v3.8.5 で治る予定とのことなのでリリースを待ちましょう.

追記2

v3.8.5 がリリースされました.Issue #391 は治っていそう?

]]>
https://matoken.org/blog/2025/12/02/squawker-3-8-4-allows-authentication-again/feed/ 0
AndroidアプリのCan I Driveでお酒を飲んだあといつ頃運転できるか教えてもらう https://matoken.org/blog/2025/01/05/can-i-drive/ https://matoken.org/blog/2025/01/05/can-i-drive/#respond Sat, 04 Jan 2025 21:53:29 +0000 https://matoken.org/blog/?p=4356

ic launcher beer foreground
年末年始はアルコールを摂る機会が増える人が多いと思います.しかしアルコールを摂ると乗り物の運転ができなくなります.どのくらいでアルコールが抜けるかは個人差もありますが目安の計算式があります.でも計算するのは面倒.
ここではAndroidで動作する自分が接種したアルコール量で運転が可能かどうかの目安が簡単にわかるアプリケーションの Can I Drive の紹介をします.

Can I Driveは飲酒中に接種したアルコールをアプリ上で登録することでいつ頃運転できるようになるかの目安時間を計算して表示してくれます.

Can I DriveはF-Droidから入手が可能です,

Can I Driveを起動するとこんな画面が表示されます.まずは左下の人形のアイコンをタップします.

CanIDrive01

利用者の情報を登録します.

Weight

体重

sex

性別

Health

体調

Drive law

運転する法律の国

体重,性別は普通に.体調はその時の体調で調整,国は日本の場合日本を選ぶだけでいいですが,国によっては他にも職業ドライバーであるなどのチェックボックスが表示されたりします.職業ドライバーだと厳しくなるようです.
これらの情報を入力すると準備完了です.右下のチェックアイコンで完了します.

CanIDrive02

Can I Driveのメイン画面に戻ります.メイン画面の右下の+アイコンから接種したアルコールを登録します.

CanIDrive03

いくつかのアルコールプリセットが表示されます.ここから自分の接種したアルコールを登録します.Whenで規定値は現在ですが,過去に遡って登録もできます.

自分でアルコールをプリセットに登録することもできます.例えば以下のように「oyuwari」という名前の130mlアルコール度数10%のアルコールを登録したりできます.

CanIDrive04

アルコールを登録するとメイン画面に戻り,ステータスが表示されます.
以下の例では運転は不可,推定血中アルコール(0.63g/L),運転が可能になる時間(8:36),血中アルコール濃度が0になり酔が覚める時間(11:00)がわかります.

CanIDrive05

アルコールを摂るたびに登録していくとこれらのステータスは更新されていきます.
これにより運転が可能になる時間の目安がわかるようになります.登録してみると夜に飲み会に出て次の日の朝にはまだ運転できそうにないなとかいったことがわかります.

ただし,これはあくまで目安で個人差や体調などで大分変わるでしょう.でも手計算するよりは大文楽で便利です.

]]>
https://matoken.org/blog/2025/01/05/can-i-drive/feed/ 0
Gadgetbridgeのデータ移行 https://matoken.org/blog/2024/12/21/gadgetbridge-data-migration/ https://matoken.org/blog/2024/12/21/gadgetbridge-data-migration/#respond Fri, 20 Dec 2024 21:19:09 +0000 https://matoken.org/blog/?p=4287

ここ2年ちょっとAndroidアプリのGadgetbridgeでスマートウォッチを利用しています.Android本体をリプレースしたのですが,データ移行が面倒で旧Android端末との連携のままでしたが今回データ移行をしました.

基本的に旧端末でデータをエクスポートして,新端末でGadgetbridgeをセットアップしてデータをインポートするだけです.

旧端末での操作

まず旧端末でGadgetbridgeのデータをエクスポートします.

バックアップの前にデータが更新されないようBluetoothをoffにしておきます.

Gadgetbridgeを起動し,の左上の「☰」でメニューを表示,「データの管理」でデータ管理画面に遷移します.

Gadgetbridge export 01

Gadgetbridge export 02

「Backup and Restore」から「Export zip」でデータをエクスポートします.

Gadgetbridge export 03

新端末のセットアップ

Gadgetbridgeの導入

F-DroidからGadgetbrisgeを導入します.

更に旧端末で連携していたアプリケーションがあったらそのアプリも導入してセットアップしておきます.
自分はQuickWeatherやOpenTracksを導入しました.

Gadgetbridgeデータインポート

Gadgetbridgeを起動し,の左上の「☰」でメニューを表示,「データの管理」,「Backup and Restore」から「Import zip」でデータをインポートします.

Gadgetbridge export 04

Gadgetbridgeアプリ下部の「デバイス」→「+」でスマートバンドを追加します.

確認

過去のデータを確認すると表示されます.問題なさそうです.

Gadgetbridge export 05

まとめ

めんどくさそうだなと後回しにしていたGadgetbridgeのデータ移行ですが,実際やってみると簡単でした.もっと早くやっておくんでした.
このスマートウォッチはXiaomi Mi スマートバンド5 日本語版で2年前の11月に購入したものです.2年と少し経ちましたがまだバッテリーも10日以上持ちますしヘタった感じもなく使えています.もう少し高機能なものや薄いものを見るといいなと思ったりしますがまだ使えそうなので使い続けようと思います.

]]>
https://matoken.org/blog/2024/12/21/gadgetbridge-data-migration/feed/ 0
scrcpy v3.0で仮想ディスプレイを使う https://matoken.org/blog/2024/11/25/using-virtual-display-with-scrcpy-v3-0/ https://matoken.org/blog/2024/11/25/using-virtual-display-with-scrcpy-v3-0/#respond Sun, 24 Nov 2024 21:56:51 +0000 https://matoken.org/blog/?p=4256

scrcpyの導入

例によってメインデスクトップ環境のDebian sid amd64に導入します.
Linux環境への手順は doc/linux.md に書かれています.GitHubではこちら.

ここではgit経由のsourceから導入します.

$ sudo apt install ffmpeg libsdl2-2.0-0 adb wget \
                 gcc git pkg-config meson ninja-build libsdl2-dev \
                 libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev \
                 libswresample-dev libusb-1.0-0 libusb-1.0-0-dev (1)
$ git clone https://github.com/Genymobile/scrcpy (2)
$ cd scrcpy
$ ./install_release.sh (3)
$ which scrcpy (4)
/usr/local/bin/scrcpy
$ scrcpy --version (5)
scrcpy 3.0 <https://github.com/Genymobile/scrcpy>

Dependencies (compiled / linked):
 - SDL: 2.30.9 / 2.30.9
 - libavcodec: 61.19.100 / 61.19.100
 - libavformat: 61.7.100 / 61.7.100
 - libavutil: 59.39.100 / 59.39.100
 - libavdevice: 61.3.100 / 61.3.100
 - libusb: - / 1.0.27
  1. 必要なパッケージの導入

  2. sourceのclone

  3. インストールスクリプトの実行

  4. scrcpyの場所を確認

  5. バージョンの確認

仮想ディスプレイを試す

scrcpy v3.0が入ったので早速仮想ディスプレイを試してみます. --new-display オプションに好みで解像度を指定できます.

$ scrcpy --new-display=720x1608
scrcpy 3.0 <https://github.com/Genymobile/scrcpy>
INFO: ADB device found:
INFO:     -->   (usb)  ZT322L25CF                      device  moto_g24
/usr/local/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 147.9 MB/s (90224 bytes in 0.001s)
[server] INFO: Device: [motorola] motorola moto g24 (Android 14)
INFO: Renderer: opengl
INFO: OpenGL version: 4.6 (Compatibility Profile) Mesa 24.2.7-1
INFO: Trilinear filtering enabled
INFO: Texture: 720x1608
[server] INFO: New display: 720x1608/237 (id=3)

一部のアプリケーションが配置されています.寂しいですね.

scrcpy v3.0 vd 01

scrcpyに --start-app= オプションを指定することで好みのアプリケーションが起動できます.その前に list-apps オプションで起動したいアプリケーションを確認します.ここではニコニコ動画を起動しています.

$ scrcpy list-apps | grep nico
 - ニコニコ動画                         jp.nicovideo.android
 - ニコニコ生放送                        jp.co.dwango.nicocas
$ scrcpy --new-display=1608x720 --start-app=jp.nicovideo.android

scrcpy v3.0 vd 02

普通に視聴できました.
このときAndroid本体はディプレイは消えたままです.ロックを解除して別のアプリを使うこともできます.
仮想ディスプレイで実行中のアプリを起動するとアプリは本体側に移り,仮想ディスプレイにはデスクトップが表示されました.
仮想ディスプレイでニコニコ動画を再生しつつ本体でYouTube動画を再生してみると,両方の音声がPC側から出ました.

これまでも本体画面を消灯して使うといったことはできましたが,通知が来て別のアプリをちょっと確認したいみたいなときなどアプリを切り替える必要があり面倒でした.この仮想ディスプレイは別のディスプレイ扱いでそういうときにも2つの画面が同時に使えて便利です.
それに画面ロックを解除する必要がないのも便利です.(これは選べると嬉しいけど)

scrcpyと組み合わせて使うのにAndroidベースのTV StickやTV Boxのようなものが欲しくなります.

環境

PC環境
$ scrcpy -v
scrcpy 3.0 <https://github.com/Genymobile/scrcpy>

Dependencies (compiled / linked):
 - SDL: 2.30.9 / 2.30.9
 - libavcodec: 61.19.100 / 61.19.100
 - libavformat: 61.7.100 / 61.7.100
 - libavutil: 59.39.100 / 59.39.100
 - libavdevice: 61.3.100 / 61.3.100
 - libusb: - / 1.0.27
 $ dpkg-query -W ffmpeg libsdl2-2.0-0 adb wget \
                 gcc git pkg-config meson ninja-build libsdl2-dev \
                 libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev \
                 libswresample-dev libusb-1.0-0 libusb-1.0-0-dev
adb     1:34.0.5-3
ffmpeg  7:7.1-3
gcc     4:14.2.0-1
git     1:2.45.2-1.2
libavcodec-dev:amd64    7:7.1-3
libavdevice-dev:amd64   7:7.1-3
libavformat-dev:amd64   7:7.1-3
libavutil-dev:amd64     7:7.1-3
libsdl2-2.0-0:amd64     2.30.9+dfsg-1
libsdl2-dev:amd64       2.30.9+dfsg-1
libswresample-dev:amd64 7:7.1-3
libusb-1.0-0:amd64      2:1.0.27-1+b1
libusb-1.0-0-dev:amd64  2:1.0.27-1+b1
meson   1.6.0-1
ninja-build     1.12.1-1
pkg-config:amd64        1.8.1-4
wget    1.24.5-2+b1
$ lsb_release -dr
Description:    Debian GNU/Linux trixie/sid
Release:        n/a
$ arch
x86_64
Android環境
$ adb shell dumpsys package com.nextcloud.client | grep versionName=
    versionName=3.29.2
$ adb shell getprop ro.build.version.release
14
$ adb shell getprop ro.build.version.sdk
34
$ adb shell getprop ro.build.id
UTA34.82-90
$ adb shell getprop ro.product.model
moto g24
]]>
https://matoken.org/blog/2024/11/25/using-virtual-display-with-scrcpy-v3-0/feed/ 0
scrcpy 2.7を使いPCのゲームパッドでAndroidのゲームを遊ぶ https://matoken.org/blog/2024/09/17/play-android-games-with-pc-gamepad-using-scrcpy-2-7/ https://matoken.org/blog/2024/09/17/play-android-games-with-pc-gamepad-using-scrcpy-2-7/#respond Mon, 16 Sep 2024 21:49:42 +0000 https://matoken.org/blog/?p=4101

Android 端末の画面,音声転送や操作も出来る scrcpy の v2.7 がリリースされました.
今回ゲームパッドに対応したようなので試してみました.
PC に接続されたゲームパッドでAndroid が操作できるようになります.

過去の scrcpy の記事

Linux 架橋への導入はこちらに.

いくつかの環境ではパッケージで最新版が導入できそうですが,今回試す Debian sid amd64 環境では 1.25-1+b1 とちょっと前のバージョンなので source から build します.

依存関係のパッケージを導入
$ sudo apt install ffmpeg libsdl2-2.0-0 adb wget \
                   gcc git pkg-config meson ninja-build libsdl2-dev \
                   libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev \
                   libswresample-dev libusb-1.0-0 libusb-1.0-0-dev
source clone & build & install
$ git clone https://github.com/Genymobile/scrcpy
$ cd scrcpy
$ ./install_release.sh
確認
$ which scrcpy
/usr/local/bin/scrcpy

$ scrcpy --version
scrcpy 2.7 <https://github.com/Genymobile/scrcpy>

Dependencies (compiled / linked):
 - SDL: 2.30.7 / 2.30.7
 - libavcodec: 61.3.100 / 61.3.100
 - libavformat: 61.1.100 / 61.1.100
 - libavutil: 59.8.100 / 59.8.100
 - libavdevice: 61.1.100 / 61.1.100
 - libusb: - / 1.0.27

scrcpy 2.7 が導入できました.

Android が adb コマンドで見えるのを確認
$ adb devices
List of devices attached
ZT322L25CF      device

利用したい Android が adb コマンドで見えるのを確認して,scrcpy を -G オプションをつけて実行します.

Note

Android端末が見えない場合以下のページを参考に.
Android端末をudev roureに登録,udev rule の反映,Android 端末での USB debug の有効化を行います.

$ scrcpy -G

scrcpy 2.7 <https://github.com/Genymobile/scrcpy>
INFO: ADB device found:
INFO:     -->   (usb)  ZT322L25CF                      device  moto_g24
/usr/local/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 135.1 MB/s (71200 bytes in 0.001s)
[server] INFO: Device: [motorola] motorola moto g24 (Android 14)
INFO: Renderer: opengl
INFO: OpenGL version: 4.6 (Compatibility Profile) Mesa 24.2.2-1
INFO: Trilinear filtering enabled
INFO: Texture: 720x1608
[server] WARN: Could not get initial audio timestamp

この状態でAndroid のゲームパッド対応ゲームを起動して,PC に接続されたゲームパッド(今回は XBox360 コントローラー)で操作できるのを確認します.

Android のゲームパッド対応ゲームは以下のページを参考に「The Ramp」というスケボーを使ってランプで遊ぶゲームを入れて試してみました.

scrcpy 2.7 game

10分ほど試しただけですが,違和感なく遊べそうです.

PC環境
$ scrcpy -v
scrcpy 2.7 <https://github.com/Genymobile/scrcpy>

Dependencies (compiled / linked):
 - SDL: 2.30.7 / 2.30.7
 - libavcodec: 61.3.100 / 61.3.100
 - libavformat: 61.1.100 / 61.1.100
 - libavutil: 59.8.100 / 59.8.100
 - libavdevice: 61.1.100 / 61.1.100
 - libusb: - / 1.0.27
$ lsb_release -dr
Description:    Debian GNU/Linux trixie/sid
Release:        n/a
$ arch
x86_64
Android環境
$ adb shell dumpsys package com.nextcloud.client | grep versionName=
    versionName=3.29.2
$ adb shell getprop ro.build.version.release
14
$ adb shell getprop ro.build.version.sdk
34
$ adb shell getprop ro.build.id
UTA34.82-73
$ adb shell getprop ro.product.model
moto g24
]]>
https://matoken.org/blog/2024/09/17/play-android-games-with-pc-gamepad-using-scrcpy-2-7/feed/ 0
Android版 Nextcloudアプリを QR code で認証 https://matoken.org/blog/2024/08/17/authenticate-android-version-nextcloud-app-with-qr-code/ https://matoken.org/blog/2024/08/17/authenticate-android-version-nextcloud-app-with-qr-code/#respond Fri, 16 Aug 2024 21:50:15 +0000 https://matoken.org/blog/?p=4089

Android 端末をセットアップしています.Nextcloid アプリで以前から QR code でも認証できそうだけどどうやって認証用の QR code を作るんだろうと思いながら手動で入力していました.

NC QR Android02

今回やり方に気づきました.

Nextcloud の認証に他要素認証を使っている環境なので,Web の Nextcloud でアプリケーションパスワードを生成します.

NC QR01

このとき下の方に「モバイルアプリのQRコードを表示する」ボタンがあるのでこれを押すと QR code が表示されます.

NC QR02

Android アプリ側で「ログイン」

NC QR Android01

下の QR code ぽい画像をタップ.QR code 読み取り用のカメラが起動するので先程のアプリパスワードの QR code を読み取ります.

NC QR Android02

お手軽ですね :)

Nextcloud環境
$ sudo -u www-data php ./occ --version
Nextcloud 29.0.4
$ lsb_release -dr
No LSB modules are available.
Description:    Debian GNU/Linux 12 (bookworm)
Release:        12
$ arch
x86_64
Android環境
$ adb shell dumpsys package com.nextcloud.client | grep versionName=
    versionName=3.29.2
$ adb shell getprop ro.build.version.release
14
$ adb shell getprop ro.build.version.sdk
34
$ adb shell getprop ro.build.id
UTA34.82-73
$ adb shell getprop ro.product.model
moto g24
]]>
https://matoken.org/blog/2024/08/17/authenticate-android-version-nextcloud-app-with-qr-code/feed/ 0
OSSのGadgetbridgeでスマートバンドのウォッチフェイスを変更 https://matoken.org/blog/2024/03/08/change-smart-band-watch-face-with-oss-gadgetbridge/ https://matoken.org/blog/2024/03/08/change-smart-band-watch-face-with-oss-gadgetbridge/#comments Fri, 08 Mar 2024 14:54:57 +0000 https://matoken.org/blog/?p=3979

先日 Gadgetbridge 経由でスマートウォッチに天気情報が表示できるようになりました.

しかし小さな画面を操作して天気情報を表示するのが面倒.すぐに確認出来るように天気対応のウォッチフェイスに変更してみました.

以下のページに Gadgetbridge でのファームウェア及びウォッチフェイスのインストール方法が書かれています.

しかし少し怖いことが書かれています.が開発者の方は遭遇したことがないそうですがスマートウォッチへの書き込みでウォッチが壊れてしまうこともあるとわかった上で操作しましょう.

# Install firmware & watchface

!!! warning “Warning”
Flashing an firmware or watchface to your gadget has the potential to brick your device! This has never happened to any of the developers through flashing, but remember you’re doing this at your own risk.

Xiaomi, Amazfit のウォッチフェイスは以下から入手できるようです.(著作権や肖像権的に駄目だろう物もいっぱいあるのでそういうものは避けたほうが良さそう.)

今回試した Xiaomi Mi Band 5 はこのあたりに.

更に日本語はこのあたり.

後は好みのフェイスをダウンロード(言語やバージョンなどの違いで複数のダウンロードの選択肢がある場合も)して, Gadgetbridge で開くとインストールされます(ファイラーなどから開いて Gadgetbridge 指定や,Gadgetbridge の対象デバイスのハンバーガーメニューから File Installer から導入).ここではPC でダウンロードしましたが Android でダウンロードしたほうが楽だったかもしれないですね.

watchface download
watchface download2

watchface installing1
watchface installing2
watchface installing3

watchface installing4

watchface test

Xiaomi Mi Band 5 は規定値のフェイスが3種類,カスタムフェイスが3つインストールできます.4つ目を導入すると1つ消えてしまいます.フェイスの切り替えはウォッチの「その他」→「バンドディスプレイ」から切り替えたいフェイスを選べます.同じバンドディスプレイでカスタムフェイスの削除もできます.

機能的なものだけでなくこういうあひるなんかも可愛い?ですね.(アニメーションします.)

watchface duck

あまり気にしていなかったウォッチフェイスですが変更してみると結構新鮮な気持ちになって良かったです.

環境
watch
Xiaomi Mi Band 5
Gadgetprigde
0.79.1
Android
12
model
motorola moto g31
$ adb shell dumpsys package nodomain.freeyourgadget.gadgetbridge | grep -E 'versionCode|versionName'
    versionCode=230 minSdk=21 targetSdk=33
    versionName=0.79.1
$ adb shell getprop ro.product.model
moto g31(w)
$ adb shell getprop ro.bootimage.build.fingerprint
motorola/cofud_g/cofud:12/S3RWDS32.123-29-8-2-3/1551dd:user/release-keys
$ adb shell getprop ro.build.version.security_patch
2023-12-01
$ adb shell getprop ro.product.cpu.abilist
arm64-v8a,armeabi-v7a,armeabi
]]>
https://matoken.org/blog/2024/03/08/change-smart-band-watch-face-with-oss-gadgetbridge/feed/ 1
Signal のベータバージョンで電話番号を共有せずにメッセージのやり取りが出来るように https://matoken.org/blog/2024/02/22/no-share-phoneno-signal-beta/ https://matoken.org/blog/2024/02/22/no-share-phoneno-signal-beta/#respond Thu, 22 Feb 2024 08:57:01 +0000 https://matoken.org/blog/?p=3976

セキュアなメッセージングアプリのSignal のベータ版でユーザーネームに対応して電話番号をやり取りしなくてもメッセージのやり取りが出来るようになりました.

これまでは電話番号が相手に知られるので使いづらかったのですが,Telegram のようにユーザーネームだけでメッセージのやり取りが出来るようになり気軽に使いやすくなりました.

現時点ではベータ版のみの対応ですが,今後数週間で全ユーザがこの昨日を利用できるようになるそうです.

てことで,Android 版と,PC(Linux)版を試してみました.

以下のページにベータ版の利用方法が書かれています.

Android版

まずはAndroid から.以下のリンクからベータチャンネルを有効にして,SIgnal アプリをベータ版に更新します.

signalB update

「設定」→「プロフィール」の「@ユーザーネーム」で任意のユーザーネームを設定できます.

signal username

ユーザーネームの後ろに自動的に2桁のpin番号が付与されます.この番号も任意の番号に変更可能でした.

signal setusername
signal username pin

これでこの「ユーザーネーム.pin」で他のユーザーからメッセージを送る準備ができました.
メッセージをやり取りする時の表示名はプロフィールのものでした.

「設定」→「プライバシー」→「電話番号」で電話番号この公開や検索の設定ができます.既定値では電話番号は非公開,電話番号での検索は可能となっていました.

signal phoneno

Android環境
Signal 7.0.0
Android 12
motrola moto g31(w)

PC版(Linux)

Linux PC版はamd64 のDebina ベースディストリビューション向けにAPT リポジトリが用意されています.
すでにstable 向けに設定済なので,ベータ版パッケージを導入するだけでOK でした.

$ sudo apt update
$ sudo apt install signal-desktop-beta
$ apt show signal-desktop-beta
Package: signal-desktop-beta
Version: 7.0.0-beta.1
Priority: optional
Section: default
Maintainer: Signal Messenger, LLC <support@signal.org>
Installed-Size: 450 MB
Depends: libnotify4, libxtst6, libnss3, libasound2, libxss1, libc6 (>= 2.31), libgtk-3-0, libgbm1, libx11-xcb1
Recommends: libappindicator3-1
Homepage: https://github.com/signalapp/Signal-Desktop#readme
Vendor: Signal Messenger, LLC <support@signal.org>
License: AGPL-3.0-only
Download-Size: 118 MB
APT-Manual-Installed: yes
APT-Sources: https://updates.signal.org/desktop/apt xenial/main amd64 Packages
Description: Private messaging from your desktop

N: There are 170 additional records. Please use the '-a' switch to see them.

signal desktop beta version

よくあるElectron製だと思うのですが,ダウンロードに120MB 近く,展開すると500MB 近く.メモリも結構食うのでメモリやストレージが少ない端末で常駐させるのは辛いですね.

PC環境
$ dpkg-query -W signal-desktop*
signal-desktop  6.48.0
signal-desktop-beta     7.0.0-beta.1
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux trixie/sid
Release:        n/a
Codename:       trixie
$ arch
x86_64
]]>
https://matoken.org/blog/2024/02/22/no-share-phoneno-signal-beta/feed/ 0
OSSのGadgetbridgeで天気情報をスマートウォッチで利用 https://matoken.org/blog/2024/02/03/use-weather-information-on-your-smartwatch-with-oss-gadgetbridge/ https://matoken.org/blog/2024/02/03/use-weather-information-on-your-smartwatch-with-oss-gadgetbridge/#comments Fri, 02 Feb 2024 21:22:08 +0000 https://matoken.org/blog/?p=3957

gadgetbridge logo

Gadgetbridge というオープンソースのAndroid アプリケーションを利用してスマートウォッチの(データが送信されていそうな)ベンダー公式アプリケーションを使わずに2,480円で購入したMi Band 5 を利用しています.

これは2023-09-17(sun)に鹿児島Linux勉強会 2023.09 で発表しました.

安めのスマートウォッチをOSSでセキュアに使う(Gadgetbridge)
Note
SpeakerDeck はリンクなどが開けないのでsource(preview) のほうがおすすめです.

スマホでわかるし設定面倒差しと思い天気の設定をしていなかったのですが,最近スマートウォッチで天気を確認したい機会があったので設定してみました.

Gadgetbridge とスマートウォッチの連携ができている状態とします.まだ出いていない人は上のスライドを参照してください.

まず,天気プロバイダーになるアプリケーションを欄で導入します.
以下のページで5種類のアプリなどが紹介されています.

今回はQuickWeather を利用しました.

F-Droid からAndroid に導入しました.
起動すると設定画面になるので,「Weather Provider」をOpenWeatherMap かOpen-Meteo のどちらかを選びます.OpenWeatherMap はAPI Key(無料もあり)が必須で,Open-Meteo はAPI Key はoption でした.
両方試しましたがどちらでもスマートウォッチに転送できたので好みの方を選びましょう.

weatherprovider

次に「Locations」で場所を選びます.今居る場所はTHIS LOCATION でGPS から取得できます.その他の場所はOTHER LOCATION から地名や地図から選べます.

weatherlocations

次の設定画面の「Extentions」で「Gadgetbridge」を「ENABLED」にします.

これでWeather Provider → QuickWeather → Gadgetbridge → スマートウォッチと天気が転送されて表示されるようになりました.

watch weather01
watch weather02

Location を複数設定した場合は,QuickWeather アプリの右上のハンバーガーメニューから「Locations」が選択できるのでそこで選択したLocation の天気が時計に転送されるようです.

weatherlocation select

環境
スマートウォッチ

Mi smart band 5(XMSH10HM)

Android

moto g31 (Android 12)

Gadgetbridge

0.78.0

QuickWeather

2.6.2

]]>
https://matoken.org/blog/2024/02/03/use-weather-information-on-your-smartwatch-with-oss-gadgetbridge/feed/ 2
TwitterクライアントのFritterの復活とFeedの削除と,Feedの使えるforkのQuacker https://matoken.org/blog/2023/05/24/twitter-client-friter-and_quacker/ https://matoken.org/blog/2023/05/24/twitter-client-friter-and_quacker/#respond Tue, 23 May 2023 20:45:00 +0000 https://matoken.org/blog/?p=3901

Fritterというログイン不要でTwitterの購読ができるAndroid用のTwitter clientがあります.

既存Twitterアカウントからフォローをインポートしたり,購読グループを複数作成したりと便利なのですが,安定版は近ごろのTwitterの仕様変更などにより利用できなくなっていました.
Nitterは対応していたのでそのうち対応されるかもと思っていたら以下のような通知が.

An update for Fritter is available!🚀

An update for Fritter is available!🚀
Update to v3.0.0-beta9 through your FDroid client

アップデートが出たようです.早速F-Droidを起動して更新します…….リポジトリを更新しても更新に出てきません.
F-DroidのFritterのページの下のバージョンをタップして,v3.0.0-beta9を選んで導入しました.

f droid

導入後起動すると,各ユーザのタイムラインが閲覧できるようになりました :)

しかし,以前あったfeedタブが見当たりません.設定にも特に無さそう.
issueを確認したところ以下のようなものが.feed機能は削除されたようです.

TLDR; I’m not going to be reinstating the feed, as it’s too hard to maintain and bad for people’s mental health.

まあわかるけど一人ひとり確認するのは不便です.

Fritterをforkしてfeed機能を復活させた方がいました.Quackerというようです.🦆

Quacker

アヒルのアイコンが可愛いですね.

QuackerはF-Droid規定値のリポジトリの中にはないようです.以下から手動でダウンロードするか,

F-Droidにリポジトリを追加( https://apt.izzysoft.de/fdroid/repo )して,リポジトリを更新してQuackerを検索して導入します.

F Droid Quacker repo
F Droid Quacker install

あとはFritterから設定をエクスポートして,Quackerで設定をインポートすることで以前のFritterのように使えるようになりました.

まあ,Twitterによりまたすぐに動かなくなるかもしれませんが…….

]]>
https://matoken.org/blog/2023/05/24/twitter-client-friter-and_quacker/feed/ 0
Andorid の画面をPC に転送して操作も出来るScrcpy 2.0 でオーディオ転送にも対応 https://matoken.org/blog/2023/03/13/scrcpy-2-0-audio/ https://matoken.org/blog/2023/03/13/scrcpy-2-0-audio/#respond Sun, 12 Mar 2023 21:45:00 +0000 https://matoken.org/blog/?p=3881

Andorid の画面をPC に転送して操作も出来るScrcpy というソフトウェアがあります.最新版の2.0でオーディオ転送にも正式対応したので試してみました.

Scrcpy はここでも何度か記事にしています.

このScrcpy はオーディオに対応しておらず,sndcpy という別のソフトウェアを使ったり,Scrcpy/sndcpyを同梱してQtでGUIを実装したQtScrcpy を使ったり,Bluetooth a2d-source を使って音を転送していました.

Scrcpy 2.0 がリリースされ,標準でオーディオに対応したとのことで試してみました.

Linux 環境への導入は以下のページに纏まっています.ただ,現バージョンで2.0に対応しているのはHomebrewとScoopだけのようです.

snap も未だ 1.25 です.

ということでsourceからbuildしました.

$ sudo apt install ffmpeg libsdl2-2.0-0 adb wget \
                 gcc git pkg-config meson ninja-build libsdl2-dev \
                 libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev \
                 libswresample-dev libusb-1.0-0 libusb-1.0-0-dev (1)
$ git clone https://github.com/Genymobile/scrcpy (2)
$ cd scrcpy
$ ./install_release.sh (3)
$ which scrcpy (4)
/usr/local/bin/scrcpy
$ scrcpy --version (5)
scrcpy 2.0 <https://github.com/Genymobile/scrcpy>

Dependencies (compiled / linked):
 - SDL: 2.26.3 / 2.26.3
 - libavcodec: 59.37.100 / 59.37.100
 - libavformat: 59.27.100 / 59.27.100
 - libavutil: 57.28.100 / 57.28.100
 - libavdevice: 59.7.100 / 59.7.100
 - libusb: - / 1.0.26
  1. 関連パッケージの導入
  2. scrcpy のclone
  3. build&install script の実行
  4. インストールパスの確認
  5. バージョンの確認
Note

uninstall

$ sudo ninja -Cbuild-auto uninstall

Android 端末のudev への登録をしていない場合登録します.Android端末側ではUSBデバッグを有効にしておいて,フィンガープリントの確認が表示されたら許可します.

$ lsusb | grep -i moto (1)
Bus 001 Device 011: ID 22b8:2e82 Motorola PCS XT1541 [Moto G 3rd Gen]
$ echo '# moto g31
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8" ATTR{idProduct}=="2e82", MODE="0660", GROUP="plugdev", SYMLINK+="android%n"' | sudo tee -a /etc/udev/rules.d/51-android.rules (2)
$ sudo udevadm control --reload (3)
$ adb devices (4)
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
ZY22DZ5M6C      device (5)
  1. AndroidデバイスのVID/PIDを確認
  2. udevへ登録
  3. udevをリロードして反映
  4. adbコマンドでデバイスが認識されるか確認

この状態でScrcpyを実行します.オーディオについては既定値で有効になっています.

$ scrcpy
scrcpy 2.0 <https://github.com/Genymobile/scrcpy>
/usr/local/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 5.2 MB/s (52867 bytes in 0.010s)
[server] INFO: Device: motorola moto g31(w) (Android 12)
INFO: Renderer: opengl
INFO: OpenGL version: 4.6 (Compatibility Profile) Mesa 22.3.3
INFO: Trilinear filtering enabled
INFO: Initial texture: 1080x2400

この状態でAndroid側で音の出るアプリケーションを試すとPCから音が出てAndroid側からは音が出ずいい感じです.Bluetooth 接続と違い遅延も感じません.

scrcpy2.0 duolingo

Pavucontrol を確認しても scrcpy が居ます.

scrcpy2.0 pulseaudio

Scrcpy オーディオ非対応のAndroid 9(10 以前)端末でも試してみたところ以下のような警告が表示され,音は転送されませんでした.

[server] INFO: Device: TINNO C330 (Android 9)
[server] WARN: Audio disabled: it is not supported before Android 11

オーディオ転送を行いたくない場合は --no-audio オプションが利用できます.
以下オーディオ関連のオプションです.音がきれいに聞こえない場合は --audio-buffer=ms を設定する(既定値50から増やす)と良さそうです

 scrcpy --help | grep -- -audio
    --audio-bit-rate=value
    --audio-buffer=ms
    --audio-codec=name
    --audio-codec-options=key[:type]=value[,...]
    --audio-encoder=name
        by --audio-codec).
    --no-audio
    --require-audio
環境
$ scrcpy --version
scrcpy 2.0 <https://github.com/Genymobile/scrcpy>

Dependencies (compiled / linked):
 - SDL: 2.26.3 / 2.26.3
 - libavcodec: 59.37.100 / 59.37.100
 - libavformat: 59.27.100 / 59.27.100
 - libavutil: 57.28.100 / 57.28.100
 - libavdevice: 59.7.100 / 59.7.100
 - libusb: - / 1.0.26
 $ dpkg-query -W ffmpeg libsdl2-2.0-0 adb wget gcc git pkg-config meson ninja-build libsdl2-dev libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev libswresample-dev libusb-1.0-0 libusb-1.0-0-dev adb
adb     1:29.0.6-26
ffmpeg  7:5.1.2-3
gcc     4:12.2.0-3
git     1:2.39.2-1.1
libavcodec-dev:amd64    7:5.1.2-3
libavdevice-dev:amd64   7:5.1.2-3
libavformat-dev:amd64   7:5.1.2-3
libavutil-dev:amd64     7:5.1.2-3
libsdl2-2.0-0:amd64     2.26.3+dfsg-1
libsdl2-2.0-0:i386      2.26.3+dfsg-1
libsdl2-dev:amd64       2.26.3+dfsg-1
libswresample-dev:amd64 7:5.1.2-3
libusb-1.0-0:amd64      2:1.0.26-1
libusb-1.0-0:i386       2:1.0.26-1
libusb-1.0-0-dev:amd64  2:1.0.26-1
meson   1.0.0-1.1
ninja-build     1.11.1-1
pkg-config:amd64        1.8.1-1
wget    1.21.3-1+b2
$ lsb_release -a
Distributor ID: Debian
Description:    Debian GNU/Linux bookworm/sid
Release:        n/a
Codename:       bookworm
$ arch
x86_64
]]>
https://matoken.org/blog/2023/03/13/scrcpy-2-0-audio/feed/ 0
Android 12端末でUSBテザリングを手軽に有効にしたい https://matoken.org/blog/2023/03/06/i-want-to-easily-enable-usb-tethering-on-my-android-12-device/ https://matoken.org/blog/2023/03/06/i-want-to-easily-enable-usb-tethering-on-my-android-12-device/#respond Sun, 05 Mar 2023 15:42:41 +0000 https://matoken.org/blog/?p=3875

Android 12端末でUSBテザリングをOnにするのが面倒なので手軽な方法がないか探してみました.

手元のAndroid 端末の moto g31 という端末を1年ほど使っています.最近自宅の固定回線がなくなったので無料Wi-Fiを利用してUSBテザリングをよく利用するようになりました.Android 11 では上部から下にスワイプして出てくるクイック設定パネルの「アクセスポイント」を長押ししてテザリング画面に遷移してUSBテザリングをOnにしていました.

Note
PC側でWi-Fiに直接繋げばいいのですが,場所ごとに接続方法が違って面倒,Androidだと自動接続アプリでその当たりの面倒を見てくれるのでUSBテザリングを使っています.Wi-Fi → Wi-Fiテザリングが出来るといいのですがこの端末は非対応です.(Essetial Phone では出来ていた)

先日Android 12 がOTA で降ってきてアップグレードしたところ.同じ操作ではWi-Fiアクセスポイントの設定画面に遷移するようになりUSBテザリング画面に行くのが面倒になりました.
昔ウィジットでテザリングの切り替えが出来るアプリケーションを使っていたなといくつか見てみるとメンテされておらず最近のバージョンでは動かなそう.ウィジットで設定へのショートカットを作れればいいのですが,Wi-Fiアクセスポイントへのショートカットを作ることは出来ましたがUSBテザリングのページへのショートカットは見当たりません.
更に探すとHotspot and tethering shortcut というアプリケーションを見つけました.

8 FY1f4M4gcy5lJmmAHxwmGA3VaCd kPx8XKv1kPozw8EFOszMWgUgqglaXjeYiMciw=w240 h480 rw

このアプリケーションを起動すると,「設定」→「ネットワークとインターネット」→「アクセスポイントとテザリング」と辿らなくても「アクセスポイントとテザリング」に飛びます.
とりあえずこれを使ってみようと思います.

Android12 USB tethering

Note
常にUSBテザリングを既定値にすることも出来ますが,不便なこともあるので手動設定にしています.(「開発者オプション」→「デフォルトのUSB設定」→「✅USBテザリング」)
]]>
https://matoken.org/blog/2023/03/06/i-want-to-easily-enable-usb-tethering-on-my-android-12-device/feed/ 0
TwidereをTwidere XのAPI Keyに変更して投稿できるようにする 2023-01-16 https://matoken.org/blog/2023/01/16/change-twidere-to-twidere-x-api-key/ https://matoken.org/blog/2023/01/16/change-twidere-to-twidere-x-api-key/#respond Mon, 16 Jan 2023 14:49:27 +0000 https://matoken.org/blog/?p=3812

最近のTwitterの使い方はこんな感じ

このTwidereでのTwitter投稿が失敗するようになりました.
Twitterは最近色々と変わったりしているしそのうち治るかなと思ったけど治りません.

他のクライアントはどうだろうとoysttyerを試すとpost出来ました.

認証し直したら行けるのかな?とTwidereでログインし直そうとすると認証できません.
クライアントの認証方式の違いのせいなのかな?とTwidereのissueを見るとTwidere XのTwitter API keyに変更すると動くようになるというものが有りました.

What worked for me is:

Go to Settings > Network > Avanced > Default API Settings
Replace the consumer key and consumer secret with those above and save
Go to Accounts and click the + in the top right
Choose Twitter > User Settings
Click Register, then the Sign In button, this should take you to an authorization page
Go through the authorization steps
Refresh your timelines

これを試すと投稿できるようになりました.ということはTwitterは特定のクライアントを拒否するようにしているみたいですね…….
まあ明日には変わっているかもしれませんが.

以下日本語環境でのメモ.

twidere api01
twidere api02
twidere api03
twidere api04
twidere api05
twidere api06
twidere api07
twidere api08
twidere api09
twidere api10
twidere api11

]]>
https://matoken.org/blog/2023/01/16/change-twidere-to-twidere-x-api-key/feed/ 0
Galene 0.6 と Android版クライアント https://matoken.org/blog/2022/09/12/galene-0-6-and-android-client/ https://matoken.org/blog/2022/09/12/galene-0-6-and-android-client/#respond Mon, 12 Sep 2022 14:51:48 +0000 http://matoken.org/blog/?p=3772

OSSのビデオミーティングソフトウェアの Galene 0.6 がリリースされたのでアップグレードしました.

$ cd <GALENEPATH> (1)
$ git pull (2)
$ git checkout galene-0.6 (3)
$ CGO_ENABLED=0 go build -ldflags='-s -w' (4)
$ rsync -acvP galene static data <REMOTESERVER>:~/ (5)
  1. Galeneのsourceディレクトリに移動
  2. リポジトリを最新に
  3. Galene 0.6 にチェックアウト
  4. ビルド
  5. リモートサーバにコピー

後はリモートサーバでGalene再起動でok

今回のバージョンでいくつかの修正が入り,Android版クライアントが動作するようになりました.

ただし,Android版クライアントはまだPoC版という感じで導入には自分で,apkを入手してインストールする必要があるし,起動してもホスト名やユーザ名を覚えてくれないし画面共有の機能しかありません.
画面共有の機能しか無いので,話をするには別のウェブブラウザでGaleneに参加して通話しつつAndroidクライアントで画面共有になりそうです.

それでもAndroidで画面共有できるのは助かります.

Galene Android

ビルド環境
$ PAGER=cat git log -1
commit c67a9307dae3bfce9c910c8cd35f3c916c70aaed (HEAD, tag: galene-0.6, origin/master, origin/HEAD)
Author: Juliusz Chroboczek <jch@irif.fr>
Date:   Sat Sep 10 14:27:58 2022 +0200

    Update CHANGES for 0.6.
$ dpkg-query -W golang
$ lsb_release -dr
Description:    Debian GNU/Linux bookworm/sid
Release:        unstable
$ arch
x86_64
ホスト環境
$ lsb_release -dr
Description:    Debian GNU/Linux 10 (buster)
Release:        10
$ arch
x86_64
]]>
https://matoken.org/blog/2022/09/12/galene-0-6-and-android-client/feed/ 0
実はQZSSに対応していたAndroidスマートフォン(Rakuten mini, Moto g31) https://matoken.org/blog/2022/04/03/in-fact-an-android-smartphone-that-was-compatible-with-qzss-rakuten-mini-moto-g31/ https://matoken.org/blog/2022/04/03/in-fact-an-android-smartphone-that-was-compatible-with-qzss-rakuten-mini-moto-g31/#respond Sun, 03 Apr 2022 14:49:04 +0000 http://matoken.org/blog/?p=3572

CAMALIOTを試しているときに気づいたのですが,QZSSの項目があります.スペック表には載っていなかったと思うのですが拾えているようです?

CAMALIOT02

GPStestというアプリで確認してみると拾っているようです.

以下の画像ではGPS補助として🇯🇵の194/195とSBASで137を拾っているようです.

GPSTest01

今回試した端末はMOTOROLA moto g31とRakuten Mini.どちらもQZSS対応とは書かれていません.moto g31はGPS, GLONASS, Galileo は明示的に書かれていて,Rakuten Mini は詳細は書かれていません.

moto g31
位置情報サービス
GPS、A-GPS、LTEPP、SUPL、GLONASS、Galileo
Rakuten Mini
GPS
対応

実際に拾えているのはこんな感じのようです.

moto g31
GPS, Galileo, Glonass, QZSS
Rakuten Mini
GPS, Galileo, Glonass, Beidou, QZSS
EssentialPhone(おまけ)
GPS, Galileo, Glonass, Beidou

以下のリストに載っている製品も少ないしカタログにも載っていないのでQZSS対応製品は少ないと思っていたのですが,実は対応している製品はそれなりにあるのかもしれません.

]]>
https://matoken.org/blog/2022/04/03/in-fact-an-android-smartphone-that-was-compatible-with-qzss-rakuten-mini-moto-g31/feed/ 0
AndroidのGNSS衛星情報を提供して天気予報の精度向上に協力するCAMALIOT https://matoken.org/blog/2022/04/03/camaliot-that-provides-android-gnss-satellite-information-to-help-improve-the-accuracy-of-weather-forecasts/ https://matoken.org/blog/2022/04/03/camaliot-that-provides-android-gnss-satellite-information-to-help-improve-the-accuracy-of-weather-forecasts/#respond Sun, 03 Apr 2022 14:14:42 +0000 http://matoken.org/blog/?p=3569

Android端末でGNSSデータを受信してそれをアップロードすることでそのデータを元に天気予報の制度を良くしようといったプロジェクトを見かけました.ESAの資金提供でのプロジェクトなので日本では動かないかなと思いながら試すと動作するようです.

CAMALIOT01

GooglePlay StoreよりCAMALIOTアプリケーションを導入して起動します.「START LOGGING」ボタンを押してGNSSデータ収集開始.なるべく空からの電波が拾える場所に置いておきます.データのロギング中はオフラインでも大丈夫です.「STOP LOGGING」でデータ収集終了します.このときデータをアップロードするか効かれるので「NOW」ボタンを押すとデータアップロードが始まります.アカウントを作っていない場合はアカウントの作成が必要です,「LATER」を選択した場合は株の真ん中の☁↑ボタンからもアップロードできます.都合のいいときにアップロードしましょう.
アップロードすると📊ボタンからリーダーボードで自分の順位が確認できます.

現在06/30までキャンペーン中でAndroidフォンやAmazonバウチャーが当たるかもしれないようです.

CAMALIOT02

ということで欧州のプロジェクトですが日本からでもロギングして送信,リーダーボードに掲載されるを確認できました.
しかし日本のデータが役に立つのかはわかりません.

類似のプロジェクトは複数あるようで日本でもこんなものなどが.こういったものでCAMALIOTのようにデータ提供できるようなら協力してみたいです.

]]>
https://matoken.org/blog/2022/04/03/camaliot-that-provides-android-gnss-satellite-information-to-help-improve-the-accuracy-of-weather-forecasts/feed/ 0
sndcpyでAndroidのサウンドをUSB経由でPCに転送 https://matoken.org/blog/2022/03/30/transfer-android-sounds-to-pc-via-usb-with-sndcpy/ https://matoken.org/blog/2022/03/30/transfer-android-sounds-to-pc-via-usb-with-sndcpy/#comments Wed, 30 Mar 2022 10:26:44 +0000 http://matoken.org/blog/?p=3564

AndroidのオーディオをPCに転送して視聴ということをよくやるのですが,昔は3.5mmオーディオミニジャックで最近はBluetooth A2DP sourceで転送しています.
今回USBで転送できる sndcpy を試してみました.

Tip

sndcpy はAndroid 10以降が必要です.別途クライアントPCにVLCも必要です.導入していない場合は導入しておきましょう.

$ sudo apt install vlc

sndcpyのReleasesから最新を入手します.現在は v1.1 が最新でLinux版(sndcpy-v1.1.zip)とWindows版(sndcpy-with-adb-windows-v1.1.zip)があります.
今回Linuxなので sndcpy-v1.1.zipとチェックサムとその署名ファイルをダウンロードして確認します.

$ wget https://github.com/rom1v/sndcpy/releases/download/v1.1/sndcpy-v1.1.zip \
https://github.com/rom1v/sndcpy/releases/download/v1.1/SHA256SUMS.txt \
https://github.com/rom1v/sndcpy/releases/download/v1.1/SHA256SUMS.txt.asc
$ sha256sum -c ./SHA256SUMS.txt
sndcpy-v1.1.zip: 完了
$ gpg --verify ./SHA256SUMS.txt.asc

適当なディレクトリに展開します.

$ unzip -l ./sndcpy-v1.1.zip
Archive:  ./sndcpy-v1.1.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
    95591  2021-11-30 07:13   sndcpy.apk
      799  2021-11-30 07:13   sndcpy
     1028  2021-11-30 07:13   sndcpy.bat
---------                     -------
    97418                     3 files
$ mkdir ./sndcpy
$ cd sndcpy
$ unzip ../sndcpy-v1.1.zip

準備が出来たのでAndroid端末をUSB接続した状態で実行します.

$ ./sndcpy
Waiting for device...
* daemon not running; starting now at tcp:5037
* daemon started successfully
Performing Streamed Install
Success
28200
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.rom1v.sndcpy/.MainActivity }
Playing audio...
VLC media player 3.0.16 Vetinari (revision 3.0.13-8-g41878ff4f2)
[00005616cdcf65e0] dummy interface: using the dummy interface module...
[00007f5a800015c0] main stream error: connection error: Connection refused
[00007f5a94000c80] main input error: ES_OUT_SET_(GROUP_)PCR  is called too late (pts_delay increased to 0 ms)
[00007f5a94000c80] main input error: ES_OUT_SET_(GROUP_)PCR  is called too late (pts_delay increased to 1 ms)

この状態でAndroid側で音を再生してみるとPC側から聞こえます.このときAndroid側はミュートでもOKで,音量を上げるとAndroid/PC両方から音が出ました.

ということで簡単に動作したのですが問題が.かなり音が悪いです.音質はいいけど細かく途切れる感じです.以下のIssueが近いかな?

ということで一旦使うのをやめることにします.sndcpyはAndroidにsndcpy.apkをインストールするのでこれを削除します.

$ adb uninstall com.rom1v.sndcpy
Success

これで元に戻ったはずです.

sndcpy は現段階では環境を選ぶ(Android 10以降)し音もいまいちなのでこれからに期待です.とりあえずはこれまで通りBluetooth A2DPで繋ごうと思います.(これはこれで2台同時に接続できないという問題があります)

sndcpy a2dp source

環境
$ dpkg-query -W adb
adb     1:10.0.0+r36-7
$ lsb_release -dr
Description:    Debian GNU/Linux 11 (bullseye)
Release:        11
$ arch
x86_64
]]>
https://matoken.org/blog/2022/03/30/transfer-android-sounds-to-pc-via-usb-with-sndcpy/feed/ 1