데이터가 좀 지랄 같이(?) 많은 녀석이긴 한데


mysql> select count(*) from dht11;

+----------+

| count(*) |

+----------+

|    57186 |

+----------+

1 row in set (0.09 sec)


mysql> select count(*) from ph;

+----------+

| count(*) |

+----------+

|    57637 |

+----------+

1 row in set (0.17 sec) 


아무생각 없이 조인하고 조건식을 돌리니 8초.. ㄷㄷ

select * from dht11 as T,ph as P where T.created = P.created and DATE(T.created) >= '2018-12-20'; 

97 rows in set (8.12 sec)


날짜 쳐내고 조인하니 0.44초!

select * from 

(select * from dht11 where DATE(created) >= '2018-12-20' ) as T,

(select * from ph where DATE(created) >= '2018-12-20' ) as P 

WHERE T.created = P.created; 

98 rows in set (0.44 sec)



+
요건 DATE() 찾아 본다고 링크 추가

[링크 : https://code.i-harness.com/ko-kr/q/1c4e6a]

Posted by 구차니

댓글을 달아 주세요

회사일/Epson L805 rpi2018.12.21 14:58

소스는 아래와 같고

$ cat dump.c

#include <stdio.h>


void main()

{

    unsigned char data[] = {

        0x1b,'@',0x1b,'(','R',0x08,0x00 ,0x00 ,'R','E','M','O','T','E','1','C','H',

        0x02 ,0x00 ,0x00 ,0x00 ,0x1b ,0x00 ,0x00 ,0x00 ,0x1b ,0x00 ,0x0c ,0x1b ,0x00 ,0x1b ,0x00

    };


    int len = sizeof(data);

    int idx = 0;


    for(idx = 0; idx < len; idx++)

        printf("%c,",data[idx]);


아래의 명령어를 통해서 raw 명령어를 생성하면 헤드 청소가 시작된다.

$ gcc dump.c

$ a.out > dump 

$ lp -o raw dump


다만.. 어느 시점에 끝나는지 알기가 힘드네..

escputil 로는 -s 주면 애가 응답이 없고

lpstat -t 로도 idle 타이밍이 애매~하다


일단 덤프해서 만든 16진수 명령어 인자

0x1b,0x40,0x1b,0x28,0x52,0x08,0x00,0x00,0x52,0x45,0x4d,0x4f,0x54,0x45,0x31,0x43,0x48,0x02,0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x1b,0x00,0x0c,0x1b,0x00,0x1b,0x00 


'회사일 > Epson L805 rpi' 카테고리의 다른 글

epson L805 헤드 청소 및 종료 시점 확인하기(실패)  (0) 2018.12.21
escputil 디버그 모드  (0) 2018.12.21
rpi epson printer  (0) 2018.12.20
Posted by 구차니

댓글을 달아 주세요

회사일/Epson L805 rpi2018.12.21 13:42

빌드해보려니 이래저래 답이 안나와서

(gutenprint/gutenprint-intl-internal.h 요 파일이 포함된 devel 패키지 찾는데 실패..)


소스를 보다보니

오잉?

환경변수로 판별하는 부분을 발견!

static int stp_debug = 10;

#define STP_DEBUG(x) do { if (stp_debug || getenv("STP_DEBUG")) x; } while (0) 

[링크 : https://www.ibm.com/support/knowledgecenter/ko/ssw_ibm_i_73/rtref/putenv.htm#putenv]


걍 귀찮으니 아래와 같이 디버그 메시지 출력하는데 성공!

$ export STP_DEBUG=1

$ escputil -c

Gutenprint 5.2.10 18 May 2014

Escputil version 5.2.10, Copyright (C) 2000-2006 Robert Krawitz

Escputil comes with ABSOLUTELY NO WARRANTY; for details type 'escputil -l'

This is free software, and you are welcome to redistribute it

under certain conditions; type 'escputil -l' for details.


***Initialize print command

***Initialize print command

***Start remote sequence

***Remote command: CH 02 00 00 00

***End remote sequence

Cleaning heads...

***Sending print command to lpr -l:

***   0:  1b  @ 1b  (   R 08 00 00   R  E  M  O   T  E  1  C

***  16:   H 02 00 00  00 1b 00 00  00 1b 00 0c  1b 00 1b 00


-l은 -o raw와 동일한 내용이라고 한다.


'회사일 > Epson L805 rpi' 카테고리의 다른 글

epson L805 헤드 청소 및 종료 시점 확인하기(실패)  (0) 2018.12.21
escputil 디버그 모드  (0) 2018.12.21
rpi epson printer  (0) 2018.12.20
Posted by 구차니

댓글을 달아 주세요

프로그램 사용/CUPS2018.12.21 13:27

-o scaling=[0~100]

일정 비율로 줄일순 있는데 원하는 크기대로 출력하는건 아직 못 찾음..

pdf 등으로 변환해서 크기를 조절해야 하려나?


[링크 : https://www.cs.utexas.edu/facilities/documentation/printing-options]

[링크 : https://vincenttam.github.io/blog/2014/12/10/print-actual-sized-images/]

[링크 : https://www.cups.org/doc/options.html]

[링크 : http://www.it.uu.se/datordrift/maskinpark/skrivare/cups/]

Posted by 구차니

댓글을 달아 주세요

프로그램 사용/CUPS2018.12.21 11:01

앞 단계에서 프린터 이름과 장치명(/dev/usb/lp0)를 연결해주는게 빠지긴 했는데 

아무튼 L805로 등록한 프린터를 기본으로 설정해주려면

lpoptions를 통해 -d 옵션으로 프린터를 지정해주면 된다.


pi@raspberrypi:~ $ lpstat -p -d


printer L805 is idle.  enabled since Thu 20 Dec 2018 08:29:17 UTC


        Rendering completed


no system default destination


pi@raspberrypi:~ $ lpoptions -d L805


copies=1 device-uri=usb://EPSON/L805%20Series?serial=5738384B3030303494 finishings=3 job-hold-until=no-hold job-priority=50 job-sheets=none,none marker-change-time=0 number-up=1 printer-commands=none printer-info=L805 printer-is-accepting-jobs=true printer-is-shared=false printer-location printer-make-and-model='Epson XP-850 Series, Epson Inkjet Printer Driver (ESC/P-R) for Linux' printer-state=3 printer-state-change-time=1545294557 printer-state-reasons=none printer-type=2101276 printer-uri-supported=ipp://localhost:631/printers/L805


pi@raspberrypi:~ $ lpstat -p -d


printer L805 is idle.  enabled since Thu 20 Dec 2018 08:29:17 UTC


        Rendering completed


system default destination: L805 

[링크 : https://bbs.archlinux.org/viewtopic.php?id=28914]

Posted by 구차니

댓글을 달아 주세요

회사일/Epson L805 rpi2018.12.20 14:32

escpr 드라이버는 웬지 도움이 안되는 느낌...

$ sudo apt-cache search epson

escputil - maintenance utility for Epson Stylus printers

libimage-exiftool-perl - library and program to read and write meta information in multimedia files

libinklevel-dev - development files for libinklevel5

libinklevel5 - library for checking the ink level of your local printer

mtink - Status monitor tool for Epson inkjet printers

mtink-doc - Status monitor tool for Epson inkjet printers - documentation

photopc - Interface to digital still cameras

printer-driver-escpr - printer driver for Epson Inkjet that use ESC/P-R 

[링크 : http://www.openprinting.org/driver/epson-escpr]


그래서 L805 드라이버 소스 받아서 빌드하려고 하면

automake-1.15 버전과(1.16 안됨.. 망할 -_-)

$ wget http://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz 


libcups 관련 헤더가 필요하다.

$ sudo apt-get install libcupsimage2-dev libcups2-dev 

[링크 : https://www.raspberrypi.org/forums/viewtopic.php?t=38467]

'회사일 > Epson L805 rpi' 카테고리의 다른 글

epson L805 헤드 청소 및 종료 시점 확인하기(실패)  (0) 2018.12.21
escputil 디버그 모드  (0) 2018.12.21
rpi epson printer  (0) 2018.12.20
Posted by 구차니

댓글을 달아 주세요

프로그램 사용/CUPS2018.12.20 14:18

궁금해 하던

#PDF-BANNER

Template

Show 

요녀석의 출처인가?

[링크 : https://www.cups.org/doc/spec-banner.html]


+

2018.12.21

#PDF-BANNER 를 삭제하고 출력하니 그냥 텍스트로 출력된다.


+

2018.12.21

췟 안되잖아!?

pi@raspberrypi:~/src $ cat cups_testpage

#CUPS-BANNER


# What to show on the cover page

Show job-id job-name job-originating-user-name time-at-creation


$ lp cups_testpage

lp: Unsupported document-format "application/vnd.cups-banner".


이미 깔려있고 설치한다고 해서 먼가 달라지진 않는다. cups 설정에서 필터 사용하도록 활성화 하는게 있나?

$ apt-cache search cups-filters

cups-filters - OpenPrinting CUPS Filters - Main Package 

[링크 : https://github.com/apple/cups/issues/5173]

Posted by 구차니

댓글을 달아 주세요

프로그램 사용/CUPS2018.12.20 14:11

특이하게도 아래 명령은 cups 패키지 안깔아도 있네(라즈베리 기준)

아무튼 아래의 명령을 하면 외부에서도 631번 포트를 통해 cups 관리 페이지 접근이 가능해진다.


# cupsctl --remote-admin --remote-any --share-printers 

[링크 : https://askubuntu.com/questions/23936/how-do-you-administer-cups-remotely-using-the-web-interface]

Posted by 구차니

댓글을 달아 주세요

프로그램 사용/CUPS2018.12.20 14:04

대개 CUPS나

우분투의 프린터 프로그램을 통해서 추가하라고 하네..

일단 콘솔로 추가하는거 찾아 보니 cups를 기반으로 하는 듯..


[링크 : https://blog.ostermiller.org/ubuntu-printer-install-command-line/]

Posted by 구차니

댓글을 달아 주세요

파일방2018.12.20 14:03

cairo 라이브러리로 일일이 그리기에는 귀찮네.. -_-

어떻게 보면 RTF를 직접 코딩하는 느낌?


+

2018.12.21

backend로 ps(post script)를 지원하니

이걸로 출력을 위해 장난질 칠 수 있을 듯


[링크 : https://stackoverflow.com/questions/14518004/linux-cups-printing-example-tutorial]

[링크 : https://www.cairographics.org/manual/]

'파일방' 카테고리의 다른 글

vworld  (0) 2019.01.13
cairo  (0) 2018.12.20
swagger.io  (0) 2018.09.07
차트 관련 자바스크립트  (3) 2018.09.04
웹에서 회면 캡쳐하기  (2) 2018.09.03
무료 오프라인 지도  (4) 2018.08.31
Posted by 구차니

댓글을 달아 주세요