2022年7月19日火曜日

ASUS Zenfone Max M2にLineageOS 18.1を導入

新しいAndroidが羨ましい

 愛用のASUS Zenfone Max M2はAndroid10、最新は12、ネットで噂になっていたLineageOSを検討することとした
 当該機種では18.1が適用でき、Android11にできることがわかる
 カスタムロム導入に腰が引けるも、文鎮化したら新しいのを買えば良い、と決断

躓いた……

 手順はホームページどおりでOK
 しかし、2箇所躓いたので記録を残す

躓き1

概要

 ASUSの提供するブートローダのアンロックツールはAndroid 8, 9専用
 LineageOSのインストールを考えるようなユーザは、多分、ASUSが2020/05/25に提供したJP-17.2018.2004.31のFirmwareを適用し、Android10にしているはず
 これをAndroid9にダウングレードし、アンロックする必要があった
 Android10では、ツールを実行しても対象外機種云々と言われ終了……
 以下の対応1、対応2を行ったあとに手順に戻ると、無事にブートローダのアンロックができた

対応1:必要物のダウンロード

  1. ASUSのサポートページを開く
  2. Firmwareを全て表示し2020/04/23の〔Android 10 to Android P〕をダウンロード
  3. WW版Android10 2020/05/25〔WW-17.2018.2004.31〕をダウンロード
 2でダウンロードしたZIPには「WW」の文字が、既存のJP版からできるか不安であった
 そこで、まず、JP版からWW版に変更したほうが無難であろうと、3で「WW」版のAndroid10をダウンロード
 どうせ、LineageOSで上書きするんだし、ダウングレードのためだからかまわないだろうと思考

対応2:Androidを9にダウングレード

  1. 先の手順の3でダウンロードしたWW版Android10〔WW-17.2018.2004.31〕を適用
  2. SDカードに入れた先の手順2のダウングレード版を適用
 連続して適用できるか怖かったので、WW版Android10を導入後に、一度起動して、リカバリーモード再起動後にダウングレード版を適用した
 WW版Android10は〔adb sideload ……〕で可能であったが、ダウングレード版は不可、SDカードからの適用が必要
ここで、時間を取られた…

躓き2と対応

 fastbootコマンドでRecovery imageをフラッシュしたあとの再起動時は以下を気をつける
 うまくいかなかったら改めてRecovery imageをフラッシュし繰り返す
  1. 再起動時に見たことない画面で5秒止まるので、ボリュームキーを押下
  2. メニューが出るので、Recoveryを選択
  3. 端末が再起動し、先程の5秒ストップ画面が改めて表示されるが、今度は何もせず、5秒経過を待つ
  4. Lineage Recovery 画面が表示されるので手順に戻れる

LineageOS 18.1

 つまづきどころは以上2箇所であとはウェブページの手順どおり
 Google Appsは入れたかったので、手順に従って、LineageOSに引き続き、(再起動せずに)、Google Appsを適用した


 使い勝手は変わらないが、なんだか嬉しい

2015年7月2日木曜日

ISBNバーコードで書籍情報を取得

蔵書管理をしたい

 本の後ろに付いているISBNバーコードを読み取って図書情報を取得できないものか。
 インターネットで調べてみるとperlモジュールでありました。

"MARC::NDL_Search::OPAC"

 https://mbc.dl.itc.u-tokyo.ac.jp/MARC-NDL_Search-OPAC/
 国会図書館の蔵書を検索できるすぐれもの。素敵!
 早速ダウンロードし、そこの説明どおりに必要モジュールと当該モジュールの導入。
 サンプルを参考にISBNを入力すると情報を取得して画面に表示するperlスクリプトを作成


getisbn.pl

バーコードリーダ代わりのzbar

 ISBNをて入力せず、バーコードリーダー的に読み込みたい。
 インターネットで調べてみると「zbar」というものがありました。webカメラでバーコード認識するもの。
 早速インストール、zbarcamでバーコード認識ができる!!!
 これと、前のをパイプでつなぐと読み取り装置の完成です。使い方は以下です。
 zbarcam --raw | perl ./getisbn.pl
 --rawはエンコード種別を表示せず、バーコードの文字数字列のみを表示するオプション

getisbn2info.sh

装置の完成


 こんな感じでバーコードを狙う。
 webカメラはピント調整機能付き、近所の電気屋で2000円ぐらいのもの。

テスト用の本たち

 先日買ってきた本2冊が今回のテスト対象

 近頃買う本は東京創元社の本ばっかり。

読み込み

 以下画面のようにバーコード認識すると、国立国会図書館に問い合わせを行い、取得した情報を表示できている!

 画面のようにパイプでteeコマンドを利用すれば、画面表示とファイル出力も同時にできるので便利。

便利

 便利な機能を実装して公開してくれている方に感謝感謝です。国立国会図書館もAPI、それを利用するperlモジュール、webカメラでバーコード読み取りとそれぞれの機能を組み合わせてやりたいことが実現できました!
 読み取り作業が思いのほか楽しい。認識して情報が出てくる、それだけなのに楽しい。
 本の管理もでき、so happyです。

2015年1月10日土曜日

PerlからWin32::OLE経由でOfficeに引数を渡せず悩む

 PerlからWin32::OLE経由でWordを操作するさい、下図のようなメソッドがある。


これは、ワードの差込印刷において元データを指定するメソッド
OpenDataSourceメソッドにSQLを指定したいのだが、悩んだという話。

問題

$doc->MailMerge->OpenDataSource($database,,,,,,,,,,,,$sql);

ではうまくいかない。

VBAでは

ActiveDocument.MailMerge.OpenDataSource Name:= "T:¥temp.accdb", SQLStatement:="SELECT * FROM `基本データ`"

と記載することができる。

対応

ハッシュで指定し、リファレンスを渡すことで対応可能
my %param;
$param{"Name"} = $database;
$param{"SQLStatement"} = $sql;

$doc->MailMerge->OpenDataSource(¥%param);

所感

perlリファレンスにしっかり書いてあった。
かるーくショック。

SaveAsで激しく悩む

症状

 PerlからWin32::OLE経由でWordを操作し、名前を指定して保存したいのにSaveAsやSaveAs2メソッドで名前をつけて保存ダイアログが表示される。
use Win32::OLE;
my $word = Win32::OLE->new("Word.Application");

$word->Documents->Item(1)->SaveAs2 ($savefile);

原因

アドイン(Word2010IvsAddin:異体字入力用)

対応

アドインをオフにすることで対応

所感

まさかアドインが邪魔をしているとは思わず、、他の端末では正しく実行できたので特定できたので原因にあたりをつけられたのは良かった。