'headless'에 해당되는 글 2건

  1. 2018.08.14 Hardware | Raspberry Pi CPU Info screen 구매기 2
  2. 2018.05.13 Linux | Ubuntu-Mate 를 원격 데스크탑으로 사용해 보자

Hardware | Raspberry Pi CPU Info screen 구매기

|

1. Headless


Raspberry Pi 3 를 사용하고 있습니다.


* Hardware | PiAware 로 항공기 추적하기

http://chocoball.tistory.com/entry/Hardware-PiAware-FlightAware


* Hardware | Cross cable 로 MediaWiki 서버 연결해 보기

http://chocoball.tistory.com/entry/Hardware-connect-MediaWiki-with-Cross-cable


* Hardware | Raspberry Pi 3 model B 의 RPC 와 UK 생산지 차이를 비교해보자

http://chocoball.tistory.com/entry/Hardware-Raspberry-Pi-3-model-B-RPC-UK-compare


* Linux | Ubuntu-Mate 를 원격 데스크탑으로 사용해 보자

http://chocoball.tistory.com/entry/Linux-UbuntuMate-remote-desktop


* Hardware | Raspberry Pi 3 model B+ unboxing

http://chocoball.tistory.com/entry/Hardware-Raspberry-Pi-3-model-B-plus-unboxing


다만, desktop 환경이 아니라 서버처럼 사용하고 있죠.

이런 사용을 headless 라고 부릅니다.


연결도 SSH 를 통해서 연결하므로, 키보드 / 마우스 / 모니터가 필요 없어서

유지하기에 깔끔한 형태로 사용할 수 있습니다.


다만 문제가 되는건, SSH 를 통한 원격 연결시 사용되는 Raspberry Pi 의 IP가 dynamic 발급이 되므로,

가끔씩 접속하려는 IP를 확인해야 할 필요가 있습니다.


이때는 키보드 / 모니터 연결하여 "ifconfig" 를 때려봐야 알 수 있죠.


그렇습니다. 매우 귀찮습니다.





2. Raspberry Pi 용 간단 모니터를 구입하자


터치패드가 되며, 칼라는 바라지도 않습니다.

단순한 정보만 표시해주는 제품을 찾아 봅니다.


* Raspberry Pi 3 Model B CPU Info LCD Screen 1.6 inch 84x48 with Backlight Switch Compatible Pi2/1 / Orange Pi

https://www.aliexpress.com/item/Raspberry-Pi-3-Model-B-CPU-Info-LCD-Screen-1-6-inch-84x48-with-Backlight-Switch/32822409671.html



상품소개의 사진을 보니 IP 도 표시해주는 sample code 도 존재하나 봅니다.

세상 편해졌습니다. 바로 구매합니다.





3. 도착


1만원이 넘는 제품이라 그런지 2주만에 도착했습니다.



포장은 잘 되어 있네요.


안에 들어있는 박스에 제품이 들어있습니다.



짜잔~... 흠?!!!



뭔가 좀 이상합니다.


그렇습니다. 소개 사진과 다른 제품입니다.

업자 말로는 업그레이드 버전이라고 하는데, 제가 보기에는 다운그레이드 제품입니다.





4. 다운그래이드인 이유


아래는 업자가 개시하고 있는 사진입니다.



우선 앞면.

백라이트 on/off 스위치가 작고 간결하며 딱 저 위치가 사용하기 편합니다.



배달된 제품은 백라이트 스위치가 뒷면에 있고, 조작 버튼도 딱딱합니다. 한마디로 불편함.



또한 I2C pinout 이 구비되어 있습니다. 도착한건 생략되어 있습니다.

이 pinout 이 있으면, arduino 프로젝트에도 그대로 사용할 수 있습니다.

물론 GP pin 이 있으므로 그쪽으로 연결하면 되겠지만, 이렇게 깔끔하게 해놓은 것을 사용하고 싶었죠.



저는 Raspberry Pi 에 MediaWiki 를 집어 넣고, 개인정보 관리를 하고 있습니다.

그래서 portable 성이 중요한데...

저 pin 들 때문에 이 screen shield 는 가지고 다니면 손등이 뚫리겠어요.


업자는 V4.2 로 올라가면서 더 좋아졌다고 하지만, 저는 아직 dispute 를 풀지 않았습니다.





5. Python 으로 동작


우찌 되었든, 일단 동작이 되는지 확인해 봅니다.

다음 링크는, 이 제품컨셉을 처음 만든 회사의 사이트처럼 보입니다.


* SUNFOUNDER

http://wiki.sunfounder.cc/index.php?title=Raspberry_Pi_5110_Mini_LCD_84*48_PCD8544_Usage


우선 git 을 통해 repository 를 다운로드 받고, 실행시키면 됩니다.

git clone https://github.com/sunfounder/Adafruit_Nokia_LCD.git



그 다음 필요한 python 파일을 인스톨 해줍니다.

cd Adafruit_Nokia_LCD
sudo apt-get install python-dev
sudo python setup.py install
sudo apt-get install python-imaging



그런 다음, 해당 디렉토리로 가서 py 파일을 실행시키면 됩니다.

cd examples
sudo python image.py



자주보던 사진을 실재로 눈앞에서 보게 되네요.

동작에는 문제가 없어 보입니다.





6. C compiler 를 통한 실행파일로 동작


이제 IP 를 표시해주는 어플로 동작시켜 봅니다.

아래 사이트에서 cpu_show_v1.zip / cpu_show_v2.zip / cpu_show_v3.zip 을 다운로드 받아서 해동합니다.


* Raspberry Pi Viet Nam

https://raspberrypi.vn/thu-thuat-raspberry-pi/huong-dan-cai-dat-raspberry-pi-cpuinfo-screen-3315.pi


- cpu_show_v1.zip : cpu_show_v1.zip

- cpu_show_v2.zip : cpu_show_v2.zip

- cpu_show_v3.zip : cpu_show_v3.zip



처음에 "curl -O" 명령어를 사용했더니만 redirection 되는거 모르고 엄한 파일만 해동하려 했습니다.

가능하면 wget 사용하세요.


각 버전별로 보여주는 내용이 살짝 다릅니다.

v2 는 온도를 추가로 보여주고, v3 는 실행파일까지 만들어져 있네요.


v3 의 cpushow 실행파일을 실행시켜 보면 다음과 같습니다.



taobao 이메일 쓰는 5iPi 누구야~.

입맛에 맞게 화면을 수정하려면, "pcd8544_rpi.c" 파일의 프로그램을 조금 수정해야 할 필요가 있습니다.


일단 compile 할 수 있도록 필요한 페키지를 인스톨 합니다.


cd /home
git clone git://git.drogon.net/wiringPi
cd wiringPi
sudo ./build



warning 이 뜨고 그렇지만 사용하는데는 문제가 없어 보이는군요.



마지막에 wiringPi 페키지가 인스톨 되면, 컴파일시 "-lwiringPi" 옵션을 꼭 붙이라고 합니다.

이 주의문구 무시했다가 2시간가량 삽질했습니다.



wiringPi 가 잘 인스톨 되었는지 확인하려면 "gpio -v" 를 통해서 GPIO 통신을 시도합니다.

위의 화면처럼 나오면 정상적으로 인스톨 되었습니다.


자... 아까의 taobao 및 IP 를 해결해 봅시다.



소스를 보니 저 부분에서 수정해주면 되겠네요.

IP는 eth0 로 정의되어 있지만 device 리스트에는 enxb... 로 시작하는 device 명이니, 그걸로 수정합니다.



위와같이 하니, 온도 및 IP 가 모두 정상적으로 표시되었습니다.



문자가 들어갈 칸 수가 모자라, 제일 위의 문구는 빼버리고 IP 정보를 표시하게 했습니다.


IP octet 이 길어서, 마지막 숫자가 넘어가버렸네요.

대충 5라고 알수는 있는데... 10번 시도해서 알수 있는 부분이니 그냥 넘기기로 합니다.

(이제 막 귀찮아지기 시작)


아... 컴파일은 아래 명령어 입니다.


gcc -o cpushow pcd8544_rpi.c PCD8544.c -L/home/wiringPi/wiringPi/ -lwiringPi


최종적으로 잘 동작하는 동영상 입니다.



시작시 자동으로 프로그램이 back ground 로 실행될 수 있으며,

logging / 화면으로 결과를 나타내지 않도록, 아래 줄을 "/etc/rc.local" 파일의 "exit 0" 앞에 추가해 줍니다.


/home/cpu_info/cpushow >/dev/null 2>&1 &






FIN


cross cable 로 연결된 기기는 PC 가 IP를 자동 발급하고, arp 명령어를 통해서 알수 있다는걸 깜빡 했습니다.



나, 이거 왜산거야?


And

Linux | Ubuntu-Mate 를 원격 데스크탑으로 사용해 보자

|

1. headless server


특정한 일을 시키는 server 나 PC 는,

Desktop 화면이 필요 없어서 모니터를 연결해 놓고 사용하지 않고, 이를 headless 라고 표현합니다.


저번에 만들어 놓은 Raspberry Pi 3 도 MediaWiki 를 서비스 하지만,

궂이 Desktop 을 통하여 작업할 일이 없기 때문에 headless 로 구동되는 것이지요.


* Hardware | Cross cable 로 MediaWiki 서버 연결해 보기

http://chocoball.tistory.com/entry/Hardware-connect-MediaWiki-with-Cross-cable


다만, 아주 가끔 원격 desktop 으로 사용하면 편리할 때가 있습니다.

뭔가 확인하거나, 간단한 조작을 위해서 그렇지요.


이런 원격 데스크탑을 가능하게 하는 것으로는 Xdmcp, RDP, VNC 등이 있습니다.


이번에는 Linux 에서 가장 간편하게 쓰이는 VNC를 다뤄 보겠습니다.




2. VNC 설치


먼저 Ubuntu-Mate 인지라, "apt-get update" 를 통하여 repository 를 최신으로 업데이트 해줍니다.



다음으로, desktop 이 구동되기 위해 필요한 프로그램을 설치합니다.

명령어는 "apt-get install mate-desktop-environment-core" 입니다.



그 다음에, VNC 를 설치합니다.

코멘드는 "apt-get install vnc4server" 입니다.



이제 준비는 다 되었습니다.




3. VNC 구동


먼저 "vncpasswd" 를 실행하여 접속 비번을 입력합니다.


그리고 VNC 서버는 다음과 같이 해서 올라옵니다.

"vncserver :1".



VNC 서버를 죽일 때에는, "vncserver -kill :1" 하면 됩니다.



한번 vncsever 를 올렸다가 내리면 .홈디렉토리 vnc 하위에 xstartup 파일이 생성됩니다.

이를 다음과 같이, 노란색 라인을 추가해 줍니다.



아래는 command 정리 입니다.


apt-get install mate-desktop-environment-core

apt-get install vnc4server

vncpasswd

vncserver :1

vncserver -kill :1

vim $HOME/.../.vnc/xstartup
-------
exec /usr/bin/mate-session &
-------



4. VNC 로 접속


VNC 접속을 지원해주는 프로그램을 통해 VNC 가 돌아가고 있는 headless server 에 접속합니다.

저는 MobaXterm 을 사용했습니다.



짜잔~ 연결 되었습니다.



참 쉽죠?


And
prev | 1 | next