태그 보관물: IT 장비 실사용

[RPI-PICO] 라즈베리파이 피코의 USB 단자를 통한 Virtual COM Port 시리얼 모니터 사용법

vscode에 Raspberry Pi Pico 확장기능이 잘 설치되어 있다는 가정 하에 진행합니다. (특히 Serial Monitor)

우선 CMakeLists.txt에 아래 코드를 추가합니다

이 코드는 USB에 stdio를 허용하고 UART에는 비허용하는 코드입니다.

그리고 C 코드의 main() 함수에 아래 코드를 추가합니다.

이렇게 해두고 컴파일해서 uf2를 라즈베리파이 피코에 심습니다.

vscode에서 시리얼 모니터를 열고 Toggle Sent Message Echoing 버튼을 누르고 Start Monitoring 버튼을 누릅니다. 그러면 라즈베리파이 피코가 USB에 연결된 상태라면 BOOTSEL이든 일반 연결 모드든 위에 printf()문으로 보낸 정보가 시리얼 모니터에 뜹니다.

처음 연결했다면 printf() 문이 이미 실행되고나서 시리얼 모니터가 켜졌을때 표시가 안될 수 있으니, Toggle Sent Message Echoing을 켜고 Start Monitoring 상태에서 USB를 뺏다 꽂으면 됩니다.

이를 잘 활용하면 함수 실행 결과를 받아와서 조건문으로 검사하고 오류가 난 것을 보여줄 수 있습니다.

[RPI-PICO] 오디오 쥬크박스 만들기 1

라즈베리파이 피코로 쥬크박스를 만들어보려고 합니다. 하드웨어 구성은 살펴볼 필요가 없이 아래처럼 조합했습니다.

라즈베리파이 피코 (RP2040)
Waveshare Pico-LCD-1.44
Waveshare Pico-Audio
Waveshare Dual GPIO Expander

이구요.

https://www.waveshare.com/wiki/Pico-LCD-1.44
https://www.waveshare.com/wiki/Pico-Audio

에서 사양과 해설이 나옵니다. 라이브러리도 제공되네요.

LCD 모듈은 SPI 연결이고 TFT-LCD라고 되어있구요. 스위치가 제공되어 메뉴에서 항목 선택시 해당 기능을 실행하게 하는게 가능합니다. 쥬크박스 메뉴 표시와 선택기로 쓸 것이구요. 라이브러리가 잘 되어 있어서 LCD 구동후 표시한 메뉴에서 스위치문으로 신호를 받아 메뉴가 구현됩니다.

오디오 모듈은 I2C 연결이구요. PCM5101A 디코더가 탑재되어 있습니다. 32비트 384kHz의 사양에 다이나믹 레인지가 106dB이네요. 오디오 모듈 상품에 스피커가 포함되어 있습니다.

둘다 전원은 따로 연결하지 않고 라즈베리파이 피코와 연결된 핀으로 받는 것 같은데 자세한 것은 생략합니다.

우선 PCM 원리를 해설하고 들어가겠습니다.

우리 주변의 소리는 아날로그입니다. 음악소리가 스피커에서 나온다든지, 천둥 소리가 들린다는 것은 아날로그 형태의 음압이 발생해서 사람의 귀로 들어가 뇌가 인식하는 것입니다.

음압을 매질이 진동한다고 보면 파형이 되어 그래프처럼 표현하는게 됩니다.

아날로그 소리는 그래프가 매끄럽게 연결된 상태로 그려지구요. 이를 디지털 기기에서 처리할때는 샘플링이라고 해서 표본값을 얻어내서 좌표에 점찍고 처리가 되는 것으로 유비가 됩니다.

우리가 수학시간에 배웠던 것처럼 그래프를 그릴때 함수값에 따라 얻어진 변화값을 구해서 그래프 용지에 찍고나서 이들을 연결하라고 하죠? 이 연결 전의 점을 얻어내는 변화값 추출이 샘플링이고, 이를 이어주는 것이 고음질로 되는 비법입니다.

진폭을 Y축으로 시간을 X축으로 두고 파형을 그렸을때 1초의 소리 신호를 Y축에 따라 높낮이가 그려지는데요. 이때의 소리 신호를 1초에 몇개의 샘플로 얻어내는지에 의해 그래프가 더 매끄럽게 되듯이 샘플링 레이트가 중요한 사양이 됩니다.

즉 1초에 44100개의 샘플이 가능하면 샘플링 레이트는 44.1kHz가 되고 48000개로 가능하면 48kHz가 되죠. 이는 디지털화되었을때 아날로그값이 손실되는 정도를 줄여주고, 음질도 향상시켜줍니다. 그래서 오디오 CD와 DVD-Audio를 구분하기도 하네요.

이와 함께 몇비트라고 할때는 양자화 단계를 의미합니다. 8비트 양자화가 되면 2의 8승인 256 단계가 가능해지구요. 16비트는 2의 16승, 32비트는 2의 32승이 됩니다. 비트는 두가지 값만 가능하니 전체 가능한 단계가 비트로 표현되면 2의 멱수가 됩니다. 이역시도 비트수가 높아지면 정밀한 파형이 되어 음질이 좋아지게 되죠.

이를 펄스로 다룬다고 해서 pulse구요.

샘플이 취해지고 양자화가 이루어지면 각 샘플에는 이진수가 주어집니다. 16비트라면 0000 0000 0000 0000에서 1111 1111 1111 1111가 가능해지는데 이게 코드(code)입니다.

즉 PCM(pulse code modulation)은 소리를 펄스화해서 코드로 바꾸는 변조라는 의미입니다.

이는 ADC(Analog to Digital Converter)로 자연상태의 소리를 디지털화하게 되구요. DAC(Digital to Analog Converter)를 쓰면 음악파일을 스피커로 출력하는 모듈에 채택이 됩니다. 둘다 가진 모듈이 있고 하나만 가진 모듈도 있는 것 같습니다.

사양적으로 32비트, 384kHz를 제공하는 경우에는 이 전체 사양을 다 만족하는 오디오 데이터라고 해도 늘 이 전체를 다 쓰는건 아니구요. 다이나믹 레인지와 필터링, 인터폴레이션, 밴드 리미트 등의 처리를 해야 되는 알고리즘의 특성상, 사양 그대로보다는 입력 데이터와 처리 알고리즘의 특성에 의해 다 쓰이는 것은 아니죠.

다이나믹 레인지는 보통 6dB 마다 1비트씩 는다고 보면 된다는데, 106dB인 경우 대충 17.6 비트네요.

필터링, 인터폴레이션, 밴드 리미트와 같은 기술은 파형으로 다루는 소리 데이터에 노이즈를 적게 하는 용도로도 쓰이고, 파형 자체를 증폭하거나 커트해야 할 필요에 의해 제정된 기술인데 이게 제작사의 기술력과 관련이 있네요.

PCM5101A 데이터시트에 나온 사양도 이로부터 이해가 됩니다.

일단 이론 공부는 대충 이렇게 해두구요. 조만간 코딩도 해서 올려보겠습니다.

제작사에 문의해보니 제가 구한 제품이 rev2.1이라던데 다시 확인해보니 오리지날 리비전으로 밝혀졌습니다.

rev2.1은 시러스로직의 CS4344를 디코더로 쓰고 오리지날 리비전은 텍사스 인스트루먼트의 PCM5101A를 쓰는데요. 이둘이 거의 같아보여도 후자가 사양이 좋습니다. CS4344는 32비트 192kHz까지 감지가 되는 기종이고 PCM5101A는 32비트 384kHz까지 감지가 되는데요. 다이나믹 레인지가 106dB이니 출력되는 음질은 비슷할 수도 있습니다. 물론 여러 변인이 존재하니까요.

리비전 문제로 인해 며칠 확인작업을 했는데, 전에 쓴 글에 문의를 다시 보낸다고 언급했으나 새로 쓴 글에서 언급을 안해두어 인상이 나빠질 듯하여 추가해둡니다.

Phoronix Test Suite으로 벤치마킹하기

리눅스에서 벤치마크를 할때 여러 프로그램으로 가능합니다. Phoronix Test Suite도 그중의 하나인데요. 이 프로그램을 쓰면 제공되는 여러 테스트들을 활용해서 Processor, System, Network, Disk, OS 등의 카테고리의 벤치마크를 할 수 있습니다.

의존성으로 php-cli, php-xml, php-gd 를 설치하라고 되어있네요.

대충 이명령어로 설치하시구요.

Phoronix Test Suite은 우선 https://github.com/phoronix-test-suite/phoronix-test-suite/releases 에서 릴리즈 파일을 받아서 설치하면 되구요. 리눅스 민트 계열은 deb 파일을 받아서 설치하면 됩니다. deb 파일이 지원되지 않는 리눅스 배포판은 tar.gz 파일을 받아서 압축을 풀고 install-sh 파일을 실행해서 설치하면 됩니다.

지원되는 테스트는

로 확인하면 됩니다.

상세한 정보는

으로 확인하구요.

아래 명령어로 일괄적으로 처리할때 필요한 셋업을 합니다.

아래 명령어로 실재 벤치마크를 실행합니다.

list-tests 로 확인한 테스트명을 입력하면 되구요.

처럼 하면 pts/osbench 테스트가 실행됩니다.

이 작동 방식 외에도 여러 옵션이나 변수 설정, Phoromatic server 사용도 가능합니다.

https://github.com/phoronix-test-suite/phoronix-test-suite/blob/master/documentation/phoronix-test-suite.md

에서 제공되는 PDF 문서를 참조하세요.

안드로이드 기기에서 이어폰 소리가 한쪽에서만 나는 문제

보통 이어폰을 막 굴리면서 가지고 다니면 단선이 됩니다. 이 경우 선이 완전히 끊어진게 아니면 소리 재생시 선을 위아래로 움직여보면 양쪽에서 소리가 납니다. 이 경우 완전 단선 위험도 있는데요.

PC나 다른 기기에 이어폰을 옮겨서 들어도 같으면 일단은 이어폰 문제 같지만, 최악의 경우 시스템 파일 변조나 기타 같은 효과의 원인도 있을 수 있습니다. 이 경우 이어폰을 바꿔서 연결해보면 되는데 이 경우에도 잘 되다가 다시 안되기도 하네요.

제 경우 이렇게 하니 복구가 됩니다.

(1) 재생되는 소리를 잠시 멈춘다. (유튜브 영상을 끄는 등의 작업)
(2) 설정에서 초기화 메뉴로 들어가 접근성 초기화를 실행한다.
(3) 다시 소리를 재생한다.

이외에도 접근성 메뉴에 있는 (위 접근성 초기화 메뉴와 다름) 청각보조 메뉴에서 (삼성의 경우입니다) 좌우 소리 균형 항목이나 모노 오디오 항목 등을 살펴보고 조정해서 되면 될 수 있네요.

저는 일단 (1)부터 (3)까지 하니 되었습니다. 중요한 것은 접근성 초기화하기전에 소리 재생을 멈추고 초기화후 다시 재생하는 것인데 메모리 상태와 연관이 있어보입니다. 시스템 파일 변조도 그렇구요. 모종의 이유로 이렇게 될 수도 있는 것 같습니다.

DAC와 ADC – 디지털화에 대한 이해

현실 세계에서 존재하는 물리량들은 아날로그적입니다. 아날로그라 함은 다시 말해 날 것 그대로의 자연적인 현상이라는 것입니다. 예를 들면 바람의 추운 정도, 열로 나타낼 수 있는 온도, 소리를 내는 음파와 같은 것입니다. 이 아날로그적인 자연 현상을 전자기기에서 의미있게 다루려면 전기적인 신호로 바꾸어야 합니다. 이 과정을 디지털화한다라고 설명합니다.

보통 센서라고 부르는 장비를 써서 아날로그적인 자연 현상을 전자기기에서 다룰 수 있는 데이터로 바꾸어야 하는데요. 여기에 DAC나 ADC가 관여합니다. DAC는 디지털에서 아날로그로 바꾸는 작업이고, ADC는 아날로그에서 디지털로 바꾸는 작업입니다.

흔히 말하는 이산 처리 과정인데요. 자연 현상을 측정한 데이터는 그래프로 보이면 연속적입니다. 주욱 이어지는 데이터의 흐름이죠. 그러나 전자기기는 처리할 수 있는 한도가 있기에 이를 변환하면 수치마다 딱딱 떨어져 있는 형태가 됩니다. 1부터 100까지로 나타난 아날로그 현상을 그래프로 그리면 특정 구간에서 보여지는 값들은 무한히 많은데요. 1부터 2까지에 1.00001, 1.00002, 1.00003, .. 1.000010, … 등으로 매우 촘촘합니다. 그러나 전자기기 내부 작동의 한도에서 이를 최대한 근사치로 변환해서 처리하는데 이를 가리켜 디지털화한다(digit-ization)이라고 하죠. 보통 정수형으로 변환한다고 설명합니다. 근사치지만, 고교시절 그래프를 그리듯이 대략적인 형태는 지속되기에 자연 상태의 데이터를 전자기기에서 다룰 수 있다고 간주하고 처리하는 것입니다.

전자기기의 작동은 기저에서 보면 두가지 작동으로 환원된다고 합니다. 전류가 인가되었음, 전류가 차단됨 이 두가지 상태입니다. 이를 0과 1 또는 1과 0 등으로 규정해서 데이터를 다루죠. 이 체제 내에서 정수도 표현하고 부동 소수도 표현합니다. 이 과정은 MCU의 비트수나 DAC, ADC의 샘플링 정확도에 의해 품질이 결정되는데요. MP3와 같이 44.1kHz, 128kbps 처럼 표시되는 것이 샘플링 정확도로, 소리를 그래프로 나타냈을때 근사치인 숫자로 변환시 얼마나 정밀한지 보는 척도입니다. 위에 말한 1부터 2까지 사이의 값들이 얼마나 촘촘한지를 의미합니다. 44.1kHz 128kbps보다 48kHz 128kbps가 음질이 더 좋다는 것도, 특정 구간의 그래프를 구성하는 숫자 샘플이 더 정밀하다는 것이구요. MCU 비트수와 DAC, ADC 회로의 성능도 결정 조건이 됩니다. 소프트웨어적인 API의 성능도 관건이구요.

이로부터 전자기기가 재현하는 온도 측정의 정확도, 소리 재생의 음질 등이 기술적으로 결정됩니다.

응용 분야는 영상 신호 처리, 음성 신호 처리, 온도 측정 등등으로 심화되죠.

최대한 전자기기가 알아볼 수 있는 근사치로 나타내면서도 원본 아날로그 값과 오차가 적게 하는 것이 디지털화 기술의 성패입니다. 이를 처리하는 것은 회로의 고도화와 처리 알고리즘의 고도화에 의지합니다.

알고 있는 사실을 요약적으로 해설해서 저보다 초보이신 분들께도 이해가 즉시되는 해설은 아니지만 ^^;; 일단 이해는 되실 것입니다. 위에 샘플된 각 수치들이 그래프로 그려져서 그래프 성분들의 복잡도가 단순화되는 것을 시각적으로 보이면 더 와닿는 해설이 되는데 그림판 열기가 싫어서 생략합니다.

라즈베리파이 피코로 구성하는 MP3 재생기도 DAC로 만듭니다. 이진화된 (디지털화된) MP3 음악파일을 읽어들여서 아날로그인 스피커 소리로 내보내는데 중요한 장치입니다.

일단 이정도로 생각난 것을 정리해두겠습니다. 요즘 생계지속용 공부하느라 공학공부는 재껴두었는데 그래도 틈틈히 라즈베리파이 피코 배우는 중입니다. 교재보다가 전에 배운 것이 생각나서 글로 썼는데 아주 대단한 글은 아니지만 일단은 개념 정리는 되었네요. 저를 위해 게시판도 따로 만들어주셔서 회원님들을 존경하고 있습니다. 열심히 하겠습니다.

모토롤라 모토 G 5G 2023 스마트폰 리뷰

모바일폰을 대부분의 경우 삼성 최상위 제품을 주로 쓰시는 것 같습니다. 제가 가입해 있는 캐나다 쿠도 모바일의 경우 갤럭시 S23 제품군은 2년 텀계약에 한달에 3만원(33불)씩 내야 하는데요. 이 비용이 부담이 되어 가성비 스마트폰을 주로 봅니다. 삼성 갤럭시 A 시리즈를 눈여겨보구요. 이들 폰에 안드로이드 메이저 버전 업그레이드도 된다고 합니다. 갤럭시 A54와 갤럭시 A14가 있는데요. 찾아보니 둘다 된다고 하네요. 그런데 구하기가 어려워서 대안을 찾아보니 2년 텀계약에 10불인 모토롤라 모토 G 5G 2023이 있었습니다. 흡사한 사양의 삼성 갤럭시 A14는 개통시 일시불로 100불 (9만원)을 내야 하는데 모토롤라 모토 G 5G 2023은 아니었구요. 이 폰 전에 쓰던 모토롤라 엣지를 상당히 잘 썼기에 사양과 가격대를 보고 구입했습니다.

사양은 아래와 같습니다.

눈에 띠는 사양은 249~400불(캐나다화)로 스냅드래곤 480+ 프로세서에 4GB 램, 5000mAh 배터리, 안드로이드 13, 48MP 카메라, 128GB 내장 메모리가 가능하다는 것과, 스크린이 120Hz 주사율이라는 것입니다.

나름대로 사양 배분을 잘 한 것 같구요. 아주 고사양은 아니더라도 용도에 따라 만족하면서 쓸 수 있게 만들어져 있는 것 같습니다.

스냅드래곤 480+ 탑재이구요. 작업시 큰 무리가 없습니다. 게임은 안돌리고 전화나 인터넷, 앱 개발시 실장비 테스트용으로 돌리는 저의 용도에는 그럭저럭 괜찮네요.

디스플레이 해상도가 갤럭시 A14 5G가 조금더 좋고 주사율은 갤럭시 A14 5G가 90Hz로 낮군요. 카메라도 갤럭시 A14가 50MP로 조금 높습니다. 영상 촬영은 똑같이 1080p30 이네요.

화면 해상도는 모토 G 5G 2023이 딸립니다. 720×1600이구요. 내장 저장공간은 제가 구입한 기종은 128GB로 갤럭시 A14 5G보다 좋군요.

디스플레이 주사율이 높아서인지 다른 이유에서인지 화면 전환시 부드러움이 강하게 느껴집니다. 화면은 색감도 부드럽고 눈에 무리가 덜 가는 기분이 들었습니다. 게임할때 주사율이 크게 관여할테지만 게임은 안돌려봤습니다. 게임용으로 나온 사양도 아닌 것 같애요.

디자인은 플라스틱 외장재인데 다른 금속재질과 큰 차이없는 질감으로 마감처리가 좋습니다. 무광택으로 뒷편이 처리되어 있는데 고급지네요. 보통 저가형이면 디자인이 투박한데 모토롤라는 점유율을 높히고 싶은지 세이비하게 잘 만들었습니다. 사소한 부분이지만, 매번 폰 꺼내서 사용할때마다 시각적으로 느낌을 주네요. 그리고 이전에 나온 모토롤라 저가형 폰과 달리 시작 화면 비주얼 효과도 고가형 제품에서 보여주던 고급진 비주얼을 보여줍니다.

램이 4GB로 충분해서 좋습니다. 어떤 리뷰어는 멀티태스킹을 하려고 여러 앱을 실행 상태로 두고 앱들을 실행하면 앱 실행시 버벅인다고도 하고 다른 리뷰어는 충분하다고도 하는데 CPU 문제라네요. 일단 저는 크롬으로 인터넷할때는 앱들을 다른 종류는 종료하고 하는 스타일이라 큰 불편을 못느꼈습니다. 램이 4GB로 충분하니, 앱 한두개 실행하는 것은 커버할 것 같애요. 헤비한 작업은 태블릿을 쓰고, 멀티태스킹은 잘 안하는 경우라면 큰 지장이 없을 것 같구요. 게임 실행이 아니라면 웹브라우저 탭 두세개 정도는 커버할 것 같습니다.

인터넷은 5G가 되구요. 802.11ac입니다. 2.4GHz 802.11n 라우터에 연결해도 속도가 안느리고 LTE+에도 안느렸습니다.

주변기기는 블루투스 5.1로 연결이 되구요. 하단 USB-C 포트로 충전이 되고 이어폰잭은 3.5mm가 제공됩니다.

안드로이드 13 기본 탑재입니다. 그런데 모토롤라가 만든 UI라서 그런지 안드로이드 13이라서 그런지 둥글둥글해보이는 구성요소 그래픽에 화면 색상톤이 부드러운 파스텔톤 같이 느껴집니다. 삼성 태블릿들도 안드로이드 13 업글이 되어 있는데 이런 느낌이 아니네요. 모토 G 5G 2023은 눈이 안아파서 좋은 것 같습니다. 단점은 메뉴 구성이 복잡한 편이라 처음 구입해서 비밀번호 표시가 안되게 하는 메뉴 항목을 찾기가 어려웠네요. 전에 쓰던 폰보다도 더 복잡한 구성 같았습니다. 삼성 폰과 구별되는군요. 시간을 한 40분은 허비했네요.

메뉴 구성 외적으로도 불편한게 모토롤라가 제공하는 UI는 사용성이 익숙해지지 않기에 안드로이드 UI 기본인 하단 세개 버튼 UI로 설정해두었습니다.

요즘 제작중인 앱은 텍스트로 된 정보를 보여주는게 주된 기능이고 정적인 이미지가 있고 애니메이션이 주된 장식은 아닌데요. 나중에 실험해보고 보고를 올려보겠습니다. 네이버나 유튜브가 잘 작동하는 것을 보면 무리없이 돌아갈 것 같습니다. 한가지 성능을 봐야할게 앱에 포함시킬 매칭-3 타일 게임인데요. 각각 100KB 정도 되는 이미지가 49개 로드되어 삭제와 생성을 반복하는 게임인데 어떨지 미확인입니다.

종합해보면 사양이 그런대로 좋고 가격도 저렴해서 메리트가 있습니다. 앱도 타사 저가형 일부모델처럼 일일히 다 수동으로 설치안해도 잘 설치되어 있어서 좋네요. 게임안하시고 인터넷을 주로 하시고 전화 용도로만 쓰신다면 충분히 만족할만 합니다. 화면 해상도가 720×1600이라 후지지만 영상 촬영은 1080p30이 되고 사진 촬영도 48MP이고 무엇보다도 텀계약시 일시불로 100불 안내고 한달에 10불만 내는게 가능해서 가성비가 좋습니다.

일단 이렇게 판단했습니다. 읽어주셔서 감사합니다.

모토롤라 최신 스마트폰에서 비밀번호 입력시 화면 표시 안하기

설정 → 시스템 → 언어 및 입력 → 터치키보드 → Gboard → 환경설정 →키누르기 → 키누를때 팝업 해제
설정 → 보안 및 개인 정보 보호 → 개인 정보 보호 → 개인 정보 보호 설정 → 비밀번호 표시 해제

그냥 찾다보면 안찾아져서 정리해둡니다.

WiFi로 연결된 프린터가 인식이 안되는 문제

WiFi로 연결하는 프린터가 인식이 안된다면 아래와 같은 문제를 점검해보면 된다.

(1) 프린터와 PC가 같은 라우터에 연결되어 있는가?
(2) 드라이버가 손상되거나 변조되었는가?
(3) 프린터 펌웨어가 손상되거나 변조?
(4) 사용자 권한 문제

이 중에서 특수한 조건 하에 있게 되는 문제로 특기하고 싶은 것은 (1)이다.

특수한 조건이란 이러하다. 모종의 이유로 라우터를 두대를 연결해서 쓰는 경우가 있다. 요즘은 모뎀과 라우터가 한 기기로 제공되는 경우가 있는데, 가정용 라우터는 대부분 RJ45 커넥터가 4개 제공된다. 이 커넥터에 연결해야 하는 기기 대수가 많으면 모뎀 라우터에 다른 라우터 하나를 더 연결해서 쓰기도 한다. 이렇게 연결된 특수한 조건에서 생각지도 못한 일이 있을 수 있는데 WiFi로 연결한 프린터가 인식이 안되는 문제다.

이 경우 (2)부터 (4)까지를 우선 보게 된다. 그래도 문제가 해결이 안되면 오리무중에 빠지는데 이러할때 생각해볼만한 것이 있다. 프린터와 PC가 같은 라우터에 연결되어 있을까?

모뎀 라우터는 192.168.0.xxx 대역이고 PC가 연결된 라우터는 192.168.1.xxx 대역이라 서로를 경유해서 참조가 안되는 것 같다. 그래서 같은 IP 대역인 경우여야 즉 연결시킨 라우터가 같아야 프린트 신호가 프린터에 연결된다.

한가지 더 말해보자면, 이런 것도 고려해보면 좋다.

모뎀 라우터와 PC가 연결된 라우터가 모두 2.4G, 5G를 제공한다면 각각 다른 SSID를 붙이는게 좋다. 즉 모뎀 라우터는 Battery-D 2.4G, Battery-D 5G로 이름붙이고, PC가 연결된 라우터는 Razzle-Dazzle 2.4G, Razzle-Dazzle 5G 처럼 해두는게 좋다. 일관되게 식별이 되게 붙이는 게 좋다. 때로는 모종의 이유로 모뎀 라우터에 Battery-D 2.4G, Razzle-Dazzle 5G 처럼 변조되면 WiFi 리스트만 봐서는 속아지는데 이 경우 (1)을 알아도 모뎀 라우터인지 구별이 실패하게 되서 같은 라우터에 PC와 프린터가 연결이 안된지를 모르게 된다. 이것도 인식안되는 원인중 하나일 수 있다.

그외에 (2)부터 (4)까지는 다들 아시는 바 그대로다. 이런 경우도 있긴 하다.

프린터에 리셋 기능이 있는데 이 리셋 기능이 가능한 것은 프린터 내부 저장장치에 복구되는 데이터가 존재하기 때문이다. 이 경우 복구되는 데이터가 변조되면 리셋시 변조된대로 된다. 이 경우에는 할 수 있다면 펌웨어 업데이트를 수동으로 해보면 된다. 즉 업체에서 수동으로 파일을 다운로드 받아 이 기반에서 업데이트하는 것이다. 이 경우 고약하게 고장난 것만 아니라면 해결이 된다. 이 경우에도 널리 알려진 (2)만 해보다보면 인지가 안될 수 있는데 알려진대로 안되면 해볼만한 방법이다.

일단 이정도만 살펴봐도 대부분의 문제가 해결되는데 안되면 시스템 복구나 타임머신 등을 이용해보면 될 수 있다. 대체로 위 네가지 사항만 해결되도 고쳐지는데, 안된다면 프린터만 문제가 아니라 PC 설정 문제도 겹치는 수가 있다. 이 경우 운영체제 재설치와 하드웨어 리셋이 필요하고 그래도 안되면 고객지원이 빠른 방법이다.

이기종간 소스코드 옮기기

윈도우를 쓰는 PC와 macOS를 쓰는 맥 데스크탑 사이에 소스코드를 옮기려면 일단 여러 방법이 존재합니다.

(1) USB 메모리에 복사해서 옮기기
(2) 외장 SSD에 복사해서 옮기기
(3) Github에 등록해서 git clone으로 옮기기

이 중에서 제일 긱키한 방법은 물론 (3)인데 소스코드가 공개될 것 같아 안쓰구요. (2)는 NTFS로 보통 포맷해서 쓰지만 macOS에서는 비용지불해야 NTFS에 쓰기가 가능한지라 읽기에도 문제가 있을 것 같아 exFAT으로 포맷한 후에 쓰는데 복사 속도가 빠를 것 같습니다. (1)은 USB 메모리들이 대부분 exFAT으로 포맷되어 나와서 조치하지 않아도 복사가 되구요.

아무래도 (2)로 해야겠습니다. 앱 소스코드가 파일 크기들이 아주 크진 않은데 즉시 복사하고 즉시 옮겨야 하니까요.

(4) 네트워크 연결후 복사하기

도 있겠는데 macOS에서 윈도우로 네트워크 연결하는 기술을 살펴봐야 하네요. samba나 기타 다른 기술들이 있겠으나 FTP가 제일 쓰기가 편하긴 합니다. 윈도우에 FTP 서버 설치하고 macOS에서 연결후 다운로드하는 방법을 쓰면 되는데 이역시도 속도가 빠르겠으나 FTP 서버를 켜두는게 불편하군요. (2)가 최적 같습니다. 속도도 그렇고 별다른 추가 처리도 필요 없습니다.

일단 이 네가지에 대응되는 방법을 찾아 사용하면 됩니다. 방법마다 필요한 소프트웨어가 있어야 할 수도 있으니 잘 살펴보세요. 윈도우에서 FTP 서버를 운용하려면 FileZilla 서버를 쓰면 편리합니다.

태블릿 해킹의 한 유형

태블릿을 쓰다보면 배터리가 갑자기 쑥쑥 소모되기 시작합니다. 이 경우 구입하고 시간이 지나가면 배터리 사이클 문제라고 생각하는데요. 사이클 문제일 수도 있지만 특수한 경우 이런 것이 원인일 수도 있는 것 같습니다.

안드로이드는 오픈소스라 소스코드를 구해서 변경하는게 쉽습니다. 배터리 사용량을 측정하는 태블릿 내부 파일이 변조되어 누군가 태블릿에 심으면 물리적인 배터리는 아직 쓸만한데, 배터리 잔량 측정 미터가 부정확하게 되는 경우도 있는 것 같애요. 실재 물리적인 배터리 잔량이 70%인데, 배터리 잔량 측정 미터는 5%로 표시한 경우, 물리적인 배터리 잔량이 넉넉히 남아있어도 태블릿이 변조한 파일에 의해 잘 못 감지해서 전원이 꺼지는 것? 이 경우가 맞다면, 배터리 잔량이 70%인데도 충전해야 되니, 재충전 반복하게 되어 배터리 사이클이 사후적으로 확 나빠지는데 이게 사용자 책임처럼 되는…

정리하면 배터리 소모량이 큰 경우는 아래 가능성이 각각 이거나 동시일 수 있는데요.

(1) 배터리 충전을 자주 해서 사이클이 짧아짐

(2) 태블릿 내부 파일이 변조되어 잔량 측정이 부정확해짐

이구요. (2)는 (1)을 야기하기도 한다는 것. 즉 사용자는 아무런 변경도 안했는데 (1)처럼 되서 문제가 큼.

(2)를 야기해서 실재로 (1)이 발생하면 그때 다시 본래 파일로 되돌리면 더욱 고약해집니다. 왜 그런지 원인이 사라진 것이니까요.

블루투스도 끄고 배터리 세이빙 모드를 켰는데도 1분에 1%씩 소모되면 (2)를 의심할만 합니다.