집에서 계속 굴러다니던 액션캠인 SJ4000WiFi를 분해해 보았다.

SJ4000WiFi 회로 앞면

스피커는 분해하다가 납땜부분이 떨어졌지만 다시 납땜하면 문제는 없다.
와이파이 모듈은 RTL8188ETV를 사용한 모듈이다. 802.11bgn 2Ghz대역에 USB1.0/1.1/2.0인터페이스를 지원한다. 

rtl8188etv.pdf
0.38MB

와이파이 안테나는 메인회로에 프린트하지 않았고 별도의 필름회로로 구현해 놓았다.

SJ4000WiFi 뒷면

 메인 프로세서는 NT96655BG이다. 영상처리에 특화된 기능을 포함하고 있고, 액션캠에 필요한 모든 기능을 다 가지고 있는듯 하다.

Novatek NT96655 Data Sheet.pdf
1.40MB

그 아래에는 플래시 메모리로 추정하지만 관련 자료를 찾지는 못했다. 하지만 저 메인 프로세서와 함께 많은 제품에 응용되고 있는듯 하다.

렌즈 부분을 돌렸더니 렌즈 부분이 스크류처럼 풀려 분리되었고, 가장 아래쪽에 IR(적외선) 필터가 보여 박살내어 제거한 후에 다시 닫았더니
리모콘의 적외선 불빛이 찍힌다. 어두운 곳에서 적외선 플래시를 비추고 이 카메라로 찍으면 야간 촬영이 가능할듯 하다ㅎ

SJ4000WiFi 분해된 상태에서의 동작 확인

 

아이폰이 활성화 됐을 때 적외선을 쏘는 모습을 적외선 필터가 제거된 SJ4000WiFi로 촬영해 보았다.

구글에서 최근에 64비트를 지원하지 않은 앱을 64비트 지원하도록 업데이트 하라는 메일을 보내왔는데,
스토어에 올려진 앱 소스코드를 찾지 못했다.

앱 자체는 간단한 프로그램이라 금방 다시 개발하면 됐지만,
앱에 서명을 같은 키스토어로 해야 업로드가 되는데 키스토어는 어쩔수가 없었다.

그래서 안드로이드 스튜디오에서 새로 키스토어 파일을 생성한 후,
아래 명령으로 pem 파일로 변환하였다. (구글에 신규 키스토어 제출시 pem파일로 전달해야 함, 빨간색 부분은 각자 변경해서 사용하세요. )

 keytool -export -rfc -alias alias -file newkeystore.pem -keystore keystore.file

그리고 나서, 아래 페이지에 접속해 간단히 설명후 키스토어 pem파일을 첨부하여 접수하면
약 2~3일 후 신규 키스토어를 사용해 앱을 업로드할 수 있게 된다.

https://support.google.com/googleplay/android-developer/contact/otherbugs

 

일반적인 문제 - Play Console 고객센터

 

support.google.com

 

맥에 윈도우 키보드를 연결하면 Home키를 누르면 Page Up처럼 동작하고 End키를 누르면 Page Down처럼 이동하는 등 문제가 많습니다.

그런경우 터미널을 열어 아래처럼 명령을 내려 키를 리매핑 해보세요.

mkdir -p $HOME/Library/KeyBindings
echo '{
/* Remap Home / End keys to be correct */
"\UF729" = "moveToBeginningOfLine:"; /* Home */
"\UF72B" = "moveToEndOfLine:"; /* End */
"$\UF729" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */
"$\UF72B" = "moveToEndOfLineAndModifySelection:"; /* Shift + End */
"^\UF729" = "moveToBeginningOfDocument:"; /* Ctrl + Home */
"^\UF72B" = "moveToEndOfDocument:"; /* Ctrl + End */
"$^\UF729" = "moveToBeginningOfDocumentAndModifySelection:"; /* Shift + Ctrl + Home */
"$^\UF72B" = "moveToEndOfDocumentAndModifySelection:"; /* Shift + Ctrl + End */
}' > $HOME/Library/KeyBindings/DefaultKeyBinding.dict

아주 깔끔하게 문제가 해결됩니다~

맥(MacOS)에서 창이 화면 밖으로 나가 돌아올 생각이 없을 때 참 곤란하다..

결국, 맥의 스크립트 편집기로 

tell application "System Events" to tell window 1 of process "Telegram"
    set position to {30, 50}
end tell

이런 코드를 짜서 실행했더니 보이는 영역으로 돌아왔다.

가끔 외부 모니터를 쓸 때 발생하는 문제인 듯 하다.

Objective-C로 개발한 프로젝트에서 Swift라이브러리를 쓰다 보면 이런 에러를 만날때가 있다.

Linker error:
ld: warning: Could not find auto-linked library 'swiftFoundation'
ld: warning: Could not find auto-linked library 'swiftDarwin'
ld: warning: Could not find auto-linked library 'swiftCoreFoundation'
ld: warning: Could not find auto-linked library 'swiftCore'
ld: warning: Could not find auto-linked library 'swiftCoreGraphics'
ld: warning: Could not find auto-linked library 'swiftObjectiveC'
ld: warning: Could not find auto-linked library 'swiftDispatch'
ld: warning: Could not find auto-linked library 'swiftSwiftOnoneSupport'
Undefined symbols for architecture arm64:

뭐 이유는 스위프트 라이브러리를 자동으로 링크할 수 없다는 뜻이겠지만, 원인은 Objective-C와 Swift간 브릿지가 없어서 발생된다.

복잡한 해결 방법이 있지만 가장 쉽게 해결하는 방법은
프로젝트에 빈 Swift 파일을 하나 만들어 추가해주면 된다. 생성할때 브릿지 헤더를 생성할거냐고 물어볼때 생성하겠다고 해줘야 한다.

+ Recent posts