編集中。。。
準備
wicresetインストールしたら設定を開いてプリンターのIPアドレスを設定する
[Read waste counter(s)] を押して、WICを確認
90%以上なら、[Reset waste counter(s)] を押して、trialを入力
メモ帳とかで開いてパスワード、書き込み用メッセージ、OIDを確認します。
読み込みのフォーマット
EpsonCommonIONET::perform SNMP [SEND]: 7C 7C 07 00 [57 05] 41 BE A0 [10] 00
EpsonCommonIONET::perform SNMP [SEND]: 7C 7C 07 00 [パスワード] 41 BE A0 [OID] 00
書き込みのフォーマットは、
EpsonCommonIONET::perform SNMP [SEND]: 7C 7C 10 00 [57 05] 42 BD 21 [06] 00 [42] [6D 75 69 62 66 62 2F]
EpsonCommonIONET::perform SNMP [SEND]: 7C 7C 10 00 [パスワード] 42 BD 21 [OID] 00 [値] [書き込みメッセージ]
16進数で記録されているので10進数に変更します。
16進数と10進数を一括相互変換するスクリプト
OIDは、 複数あるので、値を参考に予測します。
PX-047Aのデータを参考にすると予測しやすいかも
OID 価値 使用法
24 120 カウンター 1 (図示)
25 12 カウンター 1 (図示)
26 44 カウンター 2 (図示)
27 10 カウンター 2 (図示)
28 0 カウンタ 1 (実数)
29 0 カウンタ 1 (実数)
30 0 カウンター 1 (図示)
31
32
33
34 0 カウンター 2 (図示)
35
36
37
46 94 メンテナンスレベル1
47 94 メンテナンスレベル2
49 0 未知
EP-807AW
OID 値
10 68
11 1A
06 00
34 5E
14 00
15 00
12 88
13 0A
06 00
35 5E
ED 01 00
書き換えツール
epson-printer-snmphttps://github.com/Zedeldi/epson-printer-snmp
準備
models.jsonを開いて
application.logから取得した値で、
password、
eeprom_write、
waste_inks
maintenance_levels
unknown_oids
を変更する
main.pyを開いて
"get_ink_levels",を
#"get_ink_levels",に変更してコメントアウト
data = {20: 0, 21: 0, 22: 0, 23: 0, 24: 0, 25: 0, 59: 0, 60: 94, 61: 94}
をapplication.logから取得したOIDに変更
models.jsonを使うようになったので不要
インストール
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
エラーが出る時は、requirements.txtを開いて
easysnmp==0.2.5
に変更する。
実行
python main.py
プリンターのIPアドレスとプリセットの番号を入力する。
プリンター名とかが表示出来たら、
main.pyを開いて、一番下に
session.reset_waste_ink_levels()
pprint(printer.stats)
を追加して、実行します。
インクの値が0に成っていれば成功
廃インク吸収パッドを交換
分解して交換します。
https://sei-simple.com/ep-807-diy/
コットンパフや料理用の油吸収パッドを準備します。
廃インクの重さは180gぐらいでした。