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