headAD

2019年9月7日土曜日

Windows10 1903 updateエラーの修正

Lenovo G570 Windows10 が今まで順調に更新プログラムを受け入れて update 出来ていたが、今年の7月11日の更新以降の update ではエラーを発するようになりました。
この時のOSビルドは Windows 10 1903 ビルド 18362.239 (2019-7-10版)です。




次の更新プログラムが案内されても、ことごとくエラーになります。
・ 2019-08 x64 ベース システム用 Windows 10 Version 1903 の累積更新プログラム (KB4512941) サイズ: 262.5 MB

・ 2019-07 Cumulative Update for .NET Framework 3.5, 4.8 for Windows 10 Version 1903 for x64 (KB4506991) サイズ: 59.7 MB

システムファイルチェックをしても、「更新プログラムが壊れています」となって、更新プログラムをダウンロードしてインストールしてもダメでした。
他にも試しましたが、うまくいきません。


結局は、Windows10 を再インストールしました。
と言っても、現状の Windows10 の構成やインストールもほぼ残りますので、問題発生時にはこれを使う方が早い気がしました。(1~2時間はかかりますが)

Windows10の入手先のページの下の方にある「ツールを今すぐダウンロード 」を クリックして、MediaCreationToolをダウンロードします。
ダウンロードした MediaCreationTool を起動し「このPCを今すぐアップグレードする」にチェックして進めます。

途中、「個人用ファイルとアプリを引き継ぐ」のチェックを確認してインストールを続け、

かなり待ちますが、途中数回の再起動がかかり自動で進みます。

最終的に、新しい更新プログラムもいくつか適用されて、現時点の最新版となりました。

この時点のOSビルドは Windows 10 1903 ビルド 18362.329 (2019-8-31版)となりました。

.

2019年8月16日金曜日

Node.js + Canvas でテキスト画像が文字化け




数年前から Node.js と Canvas の組み合わせで、テキストを png 画像化させていた。 
Raspberry pi2 を一年ほど前に Debian Stretch へバージョンアップした。


こんな環境で、最近になって全角文字が文字化け、いわゆる豆腐になっているのに気づきました。
Raspberry pi はリモートでつないでいて、ちゃんと日本語も使って編集もしているので、全く気づきませんでした。


update の問題かといろいろとコードを見たりして焦りましたが・・・・
いや、待てよ・・・

Stretch Light は日本語フォントが入ってなかった。(^^;

そこで、google のオープンソースの noto-fonts を入れてみました。
noto とは no more Tofu でフォントが割り当てられてないと□の表示となるので、よく豆腐と呼ばれ、すべての言語から□をなくすプロジェクトです。詳しくはWikiを見てください。

ということで、日本語部分cjk をインストール。
sudo apt-get install fonts-noto-cjk


特に、何をするでもなく、これで終わり。
時々は、直接モニタをつないでみるべきなんですね。


.end

2019年5月29日水曜日

Raspbian Stretch - Certbot 証明書の自動更新


https://certbot.eff.org/


さて、前回までに certbot をインストールしましたが、それと同時に自動更新の仕組みもセットされています。

Let's Encrypt 証明書を入手するために、certbot-auto を使うなど初期の頃は cron.d にセッティングしたり、面倒なんで3ヶ月置きに renew していましたが、これも必要ありません。
(2016年後半にはかなり進化したようですが、Raspbianには降りて来てなかったのかなぁ)

Raspbian(Debian) Stretch へ certbot をインストールすると systemd 配下へ certbot.timerが組み込まれ、これにより定期的に renew が行われます。

/lib/systemd/system/certbot.timer
[Unit]
Description=Run certbot twice daily

[Timer]
OnCalendar=*-*-* 00,12:00:00
RandomizedDelaySec=43200
Persistent=true

[Install]
WantedBy=timers.target

/lib/systemd/system/certbot.service
[Service]
Type=oneshot
ExecStart=/usr/bin/certbot -q renew
PrivateTmp=true

毎日2回、0時と12時を基準に、43200秒(12時間)以内のランダムな時刻に certbot renew を実行するようです。
一日2回は多いのかと思いましたが、certbot の推奨です。

renew は証明書の期限30日前になると更新されるようです。

ログを見ると、朝・晩と renew でチェックされていますが、今後どのタイミングで更新されるか楽しみです。



*****
(2019-07-20追記)
証明書期限のちょうど30日前で、証明書の更新が行われました。正しく実行できているようです。


.end

2019年5月20日月曜日

Raspbian Stretch - Certbot 更新ができない(2)

(2019-5-28に記事の追加と修正を行いました)
前回の記事の最後に書きました・・・

https://certbot.eff.org/


本家 certbot ページにこんなことが書いてありました。
システムが Debian Stretch なら、certbot をバックポートリポリトジを有効にしてインストールしなさい。
そう、証明書更新は certbot-auto を以前からずっと使っていて、前回までなにも問題なかったのに・・・。
certbot-auto ではダメらしいです。

Debian8(Jessie) の時点で Let's Encrypt から証明書を入手するのに certbot-auto を使ってきた名残で Debian9(stretch) になっても、certbot-auto をそのまま引きずっていたんですね。
では、certbot をインストールしてみます。

>バックポートリポリトジを有効にする

Raspberry Pi では少し面倒です。key が必要となるので順にコマンドを与えます。
手入力だと間違えやすいので、一行ごとにコマンドラインへコピペしてください。

sudo apt install dirmngr
gpg --keyserver pgpkeys.mit.edu --recv-key  8B48AD6246925553
gpg -a --export 8B48AD6246925553 | sudo apt-key add -
gpg --keyserver pgpkeys.mit.edu --recv-key  7638D0442B90D010
gpg -a --export 7638D0442B90D010 | sudo apt-key add -



次に /etc/apt/sources.list ファイルへ、次の一行をエディターで追加します。
deb http://deb.debian.org/debian stretch-backports main contrib non-free

この後、 sudo apt update を行ってください。
これで、バックポートリポリドジが有効となりました。


>certbot をインストールする

この後は、certbot インストールの手順を行えばokです。
ここでは、Apacheのプラグインを使用するオプションを付加します。
sudo apt-get install certbot python-certbot-apache -t stretch-backports

certonly で Apacheサーバー設定はせず証明書のみを取得します。
sudo certbot --apache certonly

--dry-run オプションを付けて、更新テストを行います。
sudo certbot renew --dry-run

成功すれば、次のようなメッセージとなります。

** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates below have not been saved.)

Congratulations, all renewals succeeded. The following certs have been renewed:
   /etc/letsencrypt/live/***.***.***/fullchain.pem (success)
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates above have not been saved.)



次回は、自動更新の箇所に触れてみます。

.end

2019年5月19日日曜日

Raspbian Stretch - Certbot 更新ができない

 https://letsencrypt.org/




 ラズベリーパイによる Web サーバーを運用中で、https 対応のサーバー証明書は Let's Encrypt から取得しています。

Let's Encrypt の証明書は3ヶ月の有効期限しかなく、期限前に更新する必要があるので点検も兼ねて更新しようとすると、エラーを吐いて更新が完了しなくなっていました。

前回(2019/3)の更新も含めてこれまて何の問題も発生していません。このままでは来月には期限来てしまうので、早めの対処をすることにしました。


 https://certbot.eff.org/



条件は次の通り
・Raspbian Stretch (RaspberryPi  Debian9 )
・Apatch2.4 Webサーバー
・Let'S Encrypt の certbot-auto で証明書更新

これを見て、「はは~ん」と思った方は経験済みなんですね。対策はご想像の通りですが順を追って説明します。



エラーの発生状況
いつものように dry-run オプション付きで確認
./certbot-auto renew --dry-run

そうすると
Creating virtual environment...
Installing Python packages...
Had a problem while installing Python packages. <-- Pythonで問題が

pip prints the following errors:
========================================
Collecting ConfigArgParse==0.14.0 (from -r /…..
   Downloading https://files.pythonhosted.org/….
Collecting asn1crypto==0.24.0 (from -r /….
   Downloading https://files.pythonhosted.org/

これが、ずっと続く…

Python パッケージのバージョンが満たされておらず pip がエラーとして表示しているようです。
ググると、こんな裏技がありました。
/etc/pip.conf
このファイルを削除すれば ok だよ~。
いやいや、削除はダメでしょ。リネームしましょ。今回限りということで。
実際にやってみると、上手くいきました。

ハイ、これで終了。じゃなかった。

他にググると、本家 Let's Encrypt にこんなことが書いてありました。
システムが Debian Stretch なら、certbot をバックポートリポリトジを有効にしてインストールしなさい。
そう、証明書更新は certbot-auto を以前からずっと使っていて、前回までなにも問題なかったのに・・・。



certbot-auto ではなくて certbot をインストールすべきです。  
では、次回これを行ってみます。


.end

2019年4月28日日曜日

ブラインドの電動化に挑戦(1)

 我が家をリフォームした際に、カーテンをすべて取り払いウッドタイプのブラインドに付け替えました。
ブラインドの昇降をするのに、コードを手繰り寄せるのが面倒なのと、ブラインドに決めた時から電動化したい夢があったので、実現へと試行錯誤をしてみました。







 ブラインドの電動化で前例がないか、探してみましたが見当たりません。その他に外付けでブラインドのロープをモーターで操作するものが販売されていましたが、これは見送りました。
では手探り状態で、まずはパーツ選びです。大半は中華製が多く amzon で取り寄せします。
商品が無くなったり、prime対応から外れたりするので、該当の商品がなかった場合は似たようなものを探してみてください。


.    
その他に
リードスイッチMKA-10110(5個入) 秋月電子通商

入荷したら、とりあえず単体で動作テストしておいた方が無難です。
Raspberry pi でステッピングモーターとドライバーの確認をしています。






4機のブラインドは、単体での昇降操作を Arduino nano でコントロールします。
本来なら、チップに書き込んで・・・ということになりますが、手っ取り早くnano5個セットが安かったのでそれにしました。
恐らく、コントロール用ソフトも作り上げるにしたがって書き込み頻度も多くなるので、単体基板にusb端子が付いた小型のnanoになりました。

下はブレッドーボートに組み込んでテスト中のもの。
 (1)ブラインドのアップ/ダウン
 (2)ブレードの開き具合が微調整
 (3)最上昇部で停止
最低限の機能として、プログラムを組んで実際に使ってもらいながら、手を加えていきます。






モータ駆動部をプラケースに組み込んでテスト装着したところ。
テスト段階で、プラケースは歪んできてベルトが緩くなるのがわかったので、本番はアルミケースに装着します。




ブラインドの上昇リミットスイッチの部分。
最初はスイッチの部分に小型のマイクロスイッチを使おうと考えていましたが、リードスイッチも買っていたのでこれで試しているところです。
上がリードスイッチ、下の黒い四角いものがマグネットで、ブラインドのブレードに貼り付けています。




次へ、続きます。

end



2019年4月14日日曜日

デミオDJ3FSハンドルがカクカクする

 2016年に購入したデミオDJ3FSが、そろそろ最初の車検の時期になったので気になる点があり、少し早めにディーラーへ修理と車検をお願いしました。




気になる点は、ハンドル操作に違和感があって「カクカク」するところ。
文章で表現するのが難しいのですが・・・



 例えば・・・
高速道路や直線のようなハンドルをほぼ動かさない道を走行中に、ハンドルをほんの少し動かそうとすると、ハンドルが何かにくっ付いたように固く動かなくて、少し余計に力を入れると、「カクッ」と動いてしまう状態になるのです。
この違和感は、ハンドルの円周上で僅か2~3cm程度を動かそうとしたときに感じる違和感で、普通の市街地でのハンドル操作では角度がある程度大きくてこれを感じることはありませんでした。


 1年ほど前からこの状況を違和感として感じていたのですが、点検に持ち込むというほどでもなくもう少し様子見ていたら、とうとう車検の時期になってしまいました。
そして、もし故障なら3年の保証期間内ということもあり、思い切ってお願いすることにしました。

ディーラーへ持ち込んで説明しても、「症状が確認できないです」とか「こんなものですよ」いうので同じ車種と比べて「違和感」を感じてもらい、修理をしてもらうことにしました。
ネットで探すと、「インターネットミディエイトシャフト」の交換などで改善したという記事もあったので、このことも依頼時に一言添えました。


結果は、私の都合もあって2週間ほど預けて、ハンドルのシャフト関連のパーツをほとんど上から下まで全部交換してきました。

明細には「エネルギ・アブソーバ・シャフトアセンブリ」「インターミディエイトシャフト」他のパーツが記載がされていて、納車後は全く違和感なくスムーズなハンドル操作となりました。


このような症状があるなら、一度点検に出されてみてはいかがでしょうか。

end