- blogs:
- cles::blog
Raspberry Pi を使ってレシートプリンタから印刷してみる
raspberrypi
python
printer 今日はラズパイを使ってレシートプリンタの制御に挑戦してみました。
今回は Amazon で売っていた中国製の「Symcode 58MM USB サーマルレシートプリンター ESC/POS」安いプリンタを使います。この手のレシートプリンタは ESC/POS というエプソンが作ったプロトコルに対応したものが多いようです。ドットインパクトの ESC/P などと同じく、EPSON の規格がデファクトスタンダードなんですね。
† まずは udev の設定から
USB 接続ですが Linux だと自動的に認識されないので、lsusb を見てみます。
このプリンタはどうやら ID 0416:5011 で認識されているものみたいですね。
一般ユーザーからもこのデバイスにアクセスできるように udev にルールを追加して、udev のルールを読み込ませてやります。
† python-escpos を使ってみる
今回は Python から ESC/POS を話すことができる python-escpos*1 を使います。
インストールは pip で一撃です。
python-escpos では通常の状態では日本語が出ないので、Pillow*2 と TTF フォントを使って、日本語の入った画像を生成し、これをプリンタから出力させてみます。
このあたりの処理はグラフィック液晶で日本語を描画するのと同じような要領ですね。
今回のフォントは Circle M+ 1m*3 を使っています。
サンプルとしてはこんな感じのプログラムになりました。
escpostest.py
これでラズパイの活用の幅もさらに広がりそうです。
- *1: python-escpos/python-escpos: Python library to manipulate ESC/POS printers
- *2: Pillow — Pillow (PIL Fork) 6.0.0 documentation
- *3: M+を元にしたフォント : M+とIPAの合成フォント
「ハードウェアの安全な取り外し」はもういらない?
windows10
usb 最近の Windows 10 は USB のデバイスのポリシーが高パフォーマンスからクイック削除にデフォルトが変更されているので、ハードウェアの安全な取り外しを選択する必要がなくなっているようです。
これ、ライトキャッシュを使うか使わないかという設定ですが、HDD などを除けば高パフォーマンスにする必要がないんですよね。。。。
「Windows 10」、USBなど取り外しポリシーのデフォルトが「安全な取り外し」から「クイック削除」に - CNET Japan
これまで、書き込み可能な外付けUSBドライブで安全な取り外し操作が必要だったのは、Windows 10のデフォルトの設定が、変更された内容をすぐにドライブに書き込む「クイック削除」ではなく、書き込みキャッシュを有効化し、速度を向上させる「高パフォーマンス」になっていたからだ。だが、TechRadarが報じたように、Microsoftはこのデフォルト設定を「クイック削除」に変更した。
コンパクトな XQD カード リーダー
xqd
D850
D500 カメラが2台とも XQD になってしまったので、持ち運び用にコンパクトな XQD カードリーダーを購入してみました。
メーカー名とか何も書いていないシンプルなデザインのものですが、普通に読み書きはできているようです。
紅くて綺麗に押せる朱肉
stationery 今の職場はシャチハタのインクが切れるほど、ペーパーレスにはほど遠い職場です。
とうとう普通の朱肉のインクも薄くなってきてしまったので、一般的なものよりも紅くて綺麗に押せると評判の新朝日のスーパーエース朱肉*1を購入してみました。今まで印影がかすれるのは印鑑を押すときの力が足りないのだと思っていましたが、これは力を入れずとも印影が細かい所までクッキリ紙に写りますね。
ターミナル上に QR コードを表示する
barcode 先日、Krypton をセットアップしたときに、コンソールにでかでかと QR コードが表示されてちょっと驚いたのですが、僕が知らなかっただけでこれを実現するためのライブラリが意外と前から存在していたようです。
すでにちゃんとパッケージになっているので、apt や yum 一撃でインストール可能です。
試しにこのブログの URL の QR コードを以下のコマンドで生成してみましたが、ちゃんとスマホで読み取れますね。
なかなか便利なので覚えておこうと思います。
Active Directory を LDAPS に対応させる
windowsserver
ssl
ldap Active Directory ドメイン サービス (AD DS) は単純にサーバをセットアップしただけでは証明書がないので LDAPS が使えません。
通常の AD 運用においてはこれでも特に問題ないのですが、一部の作業(パスワードの変更など)は LDAPS 経由でないと行えないことがあります。
† OpenSSL で証明書が作りたい!
証明書の作成は Windows 上で行うことが一般的なのかもしれませんが、今回は以下の手順を参考に OpenSSL で証明書を生成してみました。
基本的には手順通りなのですが、ハマりやすいポイントとしては証明書が以下の条件を満たす必要があることです。
- サーバの FQDN や IP アドレスが Common Name や SAN に設定されていること
- 拡張キー使用法(Extended Key Usage)にサーバー認証 (1.3.6.1.5.5.7.3.1) が含まれていること
- 証明書が信頼されていること
これを満たすように OpenSSL を使って証明書を作ると以下のような感じになります。
あとは MMC スナップインから証明書を「個人\証明書」と「信頼された証明書\証明書」にインポートするだけです。
作業が完了したらサービスから Active Directory Domain Service を再起動すれば反映されます。
最後にDOS 窓から LDAPS のポートが開いてるか確認をして、ldp.exe を使って SSL 接続してみれば動作確認もできます。
リモートデスクトップで Alt + PrtSc と同じことをするには
windows
rdp Windows で Alt + PrtSc を押すと、アクティブなウィンドウだけのスクリーンショットを撮ることができます。
これと同じことをリモートデスクトップ内ののアクティブなウィンドウに対して行おうとすると、一筋縄ではいきません。
Alt + PrtSc を押すと、リモートデスクトップ全体のスクリーンショットになってしまいます。
これが何とかならないかと思って調べてみたら、Ctrl + Alt +テンキーの[-]*1でいけることが分かりました。
† ThinkPad にはテンキーがないので・・・
ただ、僕の使っている ThinkPad X1 Carbon にはテンキーや NumLock 機能がないので物理的にテンキーの[-]を押すことができません。
これについては、lenovo のサポートがソフトウェアキーボードでなんとかしろと言ってるので、おとなしくこれに従うことにします。
宮城も桜のシーズンに
miyagi
観桜 今週は打ち合わせのために実家で過ごしていますが、天気が良いので近くに散歩に出かけてみました。
東京のさくらは既にピークを過ぎて散り始めていますが、宮城の桜はちょうど5分咲きくらいでしょうか。
ツクシやヨモギのあちこちに生えていて、春真っ盛りという感じです。
Krypton でパスワードレスな ssh 生活を
ssh
2fa 最近はウェブでも FIDO や WebAuthn などのパスワードレス認証の普及が進んでいます。
SSH でも古くから公開鍵認証があり、これを使うとパスワード入力はほとんどせずに済むのですが、秘密鍵を安全に持ち運ぶことが難しかったり、ssh-agent のアクセス制限はあまり柔軟ではなかったりという問題がありました。これを解決してくれる Krypton というサービスを見つけました。
動きととしては ssh 認証しようとすると、スマホに画像のような PUSH 通知が来るので、これに OK してやるとサーバにログインできるというものです。
ssh-agent をスマホ側に持たせたるようなイメージでしょうか。
† 早速セットアップしてみる
セットアップ方法は簡単で、スマホにアプリをインストール。
ssh 元になる端末に kr というコマンドを導入。
端末とスマホをペアリングという3ステップで使い始めることができます。
以下のコマンドを入力すると、端末に QR コードが表示されるので、これをアプリで読み取ります。
公開鍵が表示されるので、これをログイン先のサーバに登録しておきます。
あとは普通に ssh を使って他のサーバにログインするだけでOK。
言われてみればそれほど難しい仕組みではないような感じもしますが、これは久しぶりに目から鱗でした。
レジストリから Windows 10 のデスクトップに PC を表示させる
windows10 Windows 10 ではデフォルトではデスクトップに PC のアイコンが表示されていません。
これについてはデスクトップ アイコンの設定*1を弄ることで、解決することができますがユーザーが多いといちいち設定していられないと言う問題があるので、グループポリシーをを使って強制的に表示させる方法を試してみました。
とはいえ、GPO にはデスクトップアイコンを表示させる設項目はないので、「デスクトップにアイコンを表示する」を参考に、レジストリのHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel に対して {20D04FE0-3AEA-1069-A2D8-08002B30309D} というキーを作成し、dword 値を 0 を設定するようにしてみました。
Windows 10 時代の人はデスクトップに PC アイコンがなくても問題ないものなんですかね。。。。。
- 換気口に風よけカバーを設置 (2)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(1126)
3 . シャープの空気清浄加湿器のキュルキュル音対策は PTFE テープで(987)
4 . svn でコミットしたらエラーが出たので(961)
5 . RT810 の DHCP サーバを WPAD に対応させる(903)
Academic[574]
Book[155]
Diary[522]
Disaster[101]
Foodlogue[1425]
Game[284]
Goods[805]
Healthcare[341]
Hobby[32]
IT[1195]
Military[343]
misc.[1570]
Mobile[510]
Music[38]
Neta[106]
News[95]
Photo[391]
RealEstate[120]
Security[1178]
SEO Contest[36]
Software[634]
Tips[1886]
Travelogue[1238]
Web[675]
Work[193]







