Oct 042017
 

Docker

  • apt-get install lsb-release
  • curl -sSL https://get.docker.com | sh
  • docker run –rm armv7/armhf-ubuntu_core /bin/echo ‘Hello world’

Docker-compose

  • git clone https://github.com/docker/compose.git
  • cd compose
  • docker build -t docker-compose:armhf -f Dockerfile.armhf .
  • docker run –rm –entrypoint=”script/build/linux-entrypoint” -v $(pwd)/dist:/code/dist -v $(pwd)/.git:/code/.git “docker-compose:armhf”
  • ls -l dist/
  • cp dist/docker-compose-Linux-armv7l /usr/local/bin/docker-compose
  • chown root:root /usr/local/bin/docker-compose
  • chmod 0755 /usr/local/bin/docker-compose
  • docker-compose version

Dockerized HASS(Home ASSistant)

Dcokerized Node-Red

  • cd /root/node-red
  • wget https://github.com/pointbre/nodered-dietpi/blob/master/Dockerfile
  • docker build -t nodered-rpi:0.1 .
  • docker run -dit -p 1880:1880 –name nodered –privileged -v /root/node-red:/data nodered-rpi:0.1
  • 이제 http://rip_ip_address:1880 접속하면 됨
  • 한번 run한 이후로는 docker start nodered 혹은 docker stop nodered만 해주면 된다.
  • 부팅 후 자동 실행을 위해서는 /etc/systemd/system nodered.service 파일을 복사해넣은 후 cd /etc/systemd/system && systemctl enable nodered.service 하면 된다. 재부팅 후 HASS(port 8123, 실행이 시간이 약간 소요됨)와 Node-Red(port 1880)에 접속하면 두 서비스가 모두 살아있음을 확인할 수 있다.
  • 참고로, docker container안에서 백그라운드 서비스만 실행하는 경우, 실행 후 바로 docker container가 종료되는 현상이 있다. 이를 방지하기 위해서 bash 프로세스를 하나 더 실행하는 방식으로 node-red docker container가 계속 실행되도록 하는 트릭이 필요했다. 자세한 내용은 github을 참고하면 된다.
Oct 042017
 

둘째가 벌써 만 8개월이 되었다. 그동안 이것저것 시작했다가 방치해 놓았던 것들이 눈에 들어오기 시작하는 걸 보니 육아의 난이도가 조금은 낮춰진 거 같다. 가구 배치도 바꾸고, 가든 정리도 다시 시작하고, 그에 걸맞게 내 서재방도 깔끔하게 정리했다. 방이 정돈되고 나니, 뭔가를 다시 시작하거나 시작했던 것을 진행해야 할 것 같은 느낌이 들었다. 조그만한 노트를 꺼내고 뭘할까 고민하다가, 와이프에게 필요한 무선 프린터 서버를 해보기로 했다.

DietPi on RPi3

예전에 사두었던 라즈베리파이3를 꺼내들었다. 알리익스프레스에서 깔끔하게 생긴 알루미늄 케이스를 같이 주문했는데, 케이스안에 넣으니 안 그래도 성능 안 좋은 내장 와이파이가, 더욱 더 엉망이 되어서 라즈베리파이3에 잘 붙는 USB 무선랜카드 EDUP EP-N8531을 구매했었다. OS는 DietPi로 하기로 했다. 귀찮은 세팅작업 없이 바로 서버용으로 쓰기에 편하고, 인기있는 어플리케이션들을 한방에 설치할 수도 있기도 하고 괜찮은 녀석이다.

홈페이지에서 라즈베리용 이미지를 다운받은 후 SD카드에 구우면 되는데, OS X에서는 무료 어플리케이션인 Etcher로 하면 된다. 구운 후에는 SD카드에 있는 설치 설정 파일은 dietpi.txt를 수정해서 바로 wifi 접속(Wifi_Enabled=1, Wifi_SSID=???, Wifi_KEY=???)을 하고 무인 설치(AUTO_Install_Enable=1)도 하고 이것 저것 지정할 수 있다. 설정을 입맛에 바꾼 후 저장한 다음에는, SD카드를 넣고 라즈베리파이3를 켜면 알아서 부팅하고 설치하고 할 것이다. 더 자세한 것은 가이드 문서를 보면 된다.

기나 긴 설치와 업데이트가 끝나면 DietPi는 콘솔모드를 부팅이 되었을 것이다. 모니터에 연결되어 있다면 IP주소를 확인할 수 있고, 아니면 공유기에서 라즈베리파이3에 할당된 IP를 찾아서 ssh 접속할 수 있다. 이후 dietpi-config의 Network Options: Adapters 에서 내장 wifi를 비활성화한 후 usb wifi 어댑터를 끼운 다음 재부팅하면 된다.

라즈베리파이3에 Printer driver 설치

  • 사용중인 HP LaserJet P1102 드라이버는 불행히도 기본 포함되어 있지 않기 때문에 다음처럼 드라이버를 별도로 설치해줘야 한다.
  • apt-get install printer-driver-foo2zjs
  • 이제 dietpi-software를 가지고 Google cloud printer를 한방에 설치하면 된다.

CUPS에 프린터 등록 + 테스트

  • 이제 프린터를 라즈베리파이에 연결 후 https://라즈베리파이3의_ip:631 로 가면 CUPS관리자 페이지에서 Add printer를 한 후 설치한 프린터 드라이버(HP LaserJet Pro P1102 Foomatic/foo2zjs-z2 (recommended))를 선택해서 프린터 추가를 하면 된다. 추가시 Sharing을 선택해줘야 한다.
  • 이후 Administration페이지에서 Share printers connected to this system과 Allow printing from the Internet 옵션도 체크해줘야 한다.
  • 추가한 프린터는 Printers메뉴에서 프린터 선택 후 Maintenance 메뉴에서 Print Test Page를 선택해서 테스트할 수 있다.

OS X Sierra 10.12.5

프린터 추가해서 Bonjour 통해서(Google cloud print 설치시 Bonjour지원하는 avahi-daemon이 같이 설치되었슴) 자동으로 잡힌 프린터를 추가해주면 되는데 주의할 점은 자동으로 드라이버가 잡혀서 HP LaserJet Pro P1102 Foomatic/foo2zjs-z2 (recommended)가 선택될 때까지 기다려야 한다. 이 드라이버는 라즈베리파이3에서 실행되고 있는 CUPS를 통해서 다운로드 된 것이다.

윈도우 10

윈도우에서는 조금 복잡하다. 일단 프린터 드라이버를 다운로드 후 프린터 케이블을 꽂아서 드라이버를 설치해야 한다. 아마 CUPS서버에 윈도우용 드라이버가 없어서 일듯 하다. 만약 이미 윈도우용 드라이버가 지원되는 모델이라면그 이후 프린터를 다시 라즈베리파이3에 꽂은 후 프린터 추가를 해야 하는데, 목록에 없슴을 선택하고 이름으로 추가를 고른 후 CUPS의 Printers메뉴에서 프린터 선택하면 가는 url(https://ip:631/printers/HP_LaserJet_Professional_P1102)을 복사해 넣으면 끝이다.

구글 클라우드 프린트

라즈베리파이3에서 cps-auth를 실행하면 url이 출력되는데 해당 url로 가서 구글 계정 로그인 후 등록을 해야 한다. 이후 dietpi-service restart를 실행하고 나서 systemctl status cloudprintd -l을 실행하면 상태를 확인할 수 있다. 잘 등록이 되었다면 이제 폰에서 찾아서 등록 후 사용하면 되는데, 설정에 인쇄라는 메뉴가 안 보이면 google cloud print를 플레이스토어에서 찾아서 설치해야 하는 거 같다.

1 2 3 4 5 6 7 8 9 10 11 12 ... 163 »