Cầu cứu về kết nối máy in biên lai bằng Android
Chào mọi người !
Mình có làm một chức năng trên điện thoại là kết nối với và in ra hình ảnh thông qua máy in biên lai, dữ liệu truyền tới máy in là hoàn toàn bằng byte và thông qua lớp Socket() trong Android. Ví dụ :
Socket socket = new Socket(“192.168.1.101”, 9100)
OutputStream out = socket.getOutputStream();
out.write(new byte[]{0x1D, 0x56, 0x42, 0});
// Đoạn lệnh để thực thi việc cắt giấy
Nhưng trong lúc test trong môi trường mạng wifi yếu thì máy in cho ra kết quả rất chập chờn ( 10’, 20’ in ra một đoạn nhỏ ) và quan trọng hơn hết là sử dụng một điện thoại khác trong môi trường wifi tốt thì cũng không in được nữa. Máy in coi như bị kẹt dữ liệu của máy trong môi trường yếu.
Để cho máy in hoạt động lại thì mình phải làm các cách sau :
- Bật tắt lại máy in
- Sử dụng trang web cấu hình IP của máy in để reset
- Sử dụng phần mềm PC chuyên cho việc cấu hình lại IP máy in biên lai để reset
( Mỗi lần reset máy đều kêu lên 1 tiếng và máy tự động bật tắt )
Mình cần là có thể reset được máy in hoặc reset cái port đang bị chiếm đó trên điện thoại, để khi máy in gặp trường hợp thì khách hàng bên mình có thể reset mà không cần phải di chuyển tới máy in.
Nếu ai có giải pháp mà giải quyết được vấn đề thì mình xin hậu tạ.
Hình ảnh của trang web cấu hình và của phần mềm đó :