編集中。。。
準備
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 00] [42 6D 75 69 62 66 62 2F]
EpsonCommonIONET::perform SNMP [SEND]: 7C 7C 10 00 [パスワード] 42 BD 21 [OID] [値] [書き込みメッセージ]
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
インストール
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
エラーが出る時は、requirements.txtを開いて
easysnmp==0.2.5
に変更する。
wicresetのログからモデルデータを作成
日本語のログだと動作しないので wicreset.py の
次の行を
r"Reset started\. Do not turn off the printer(?:(?!The input key does not exist).)+Reset complete",
↓に置き換えます。
r"(リセットは始まりました(.|\s)*?リセット完了)",
実行すると
./venv/bin/python wicreset.py application.log
作成されるので、models.jsonに書き込みます。
{'EP-807A Series': {'eeprom_link': '1.3.6.1.4.1.1248.1.2.2.44.1.1.2.1',
'eeprom_write': '66.109.117.105.98.102.98.47',
'ink_levels': {},
'maintenance_levels': (52, 53),
'password': (87, 5),
'unknown_oids': (6, 237),
'waste_inks': [{'oids': [16, 17], 'total': 8450.0},
{'oids': [20, 21], 'total': None},
{'oids': [18, 19],
'total': 3370.0000000000005}]}}
実行
./venv/bin/python main.py
プリンターのIPアドレスとプリセットの番号を入力する。
編集中
廃インク吸収パッドを交換
分解して交換します。
https://sei-simple.com/ep-807-diy/
コットンパフや料理用の油吸収パッドを準備します。
廃インクの重さは180gぐらいでした。