Practical.kr

실용적인 소프트웨어를 만듭니다.

코로나 집콕 프로젝트 #2

이글은 앞선글(http://practical.kr/?p=183)에 연결된다. 작업을 진행 할때마다 페이스북에 올린 짧은글들과 이미지들을 묶어서 정리했다 2021년 1월 15일 https://www.facebook.com/rtlink.park/posts/4243516198997718 ESP32의 문제는 디스플레이가 없어서(당연한거지만… ) 디버깅이 힘들다. USB로 컴퓨터에 물려놓고 로그를 찍어가며 실행을 확인해 볼 수 밖에 없다. 근데 이게 그러라고 만든 기계가 아니니 전원만 넣으면 혼자 돌아가야 한다.며칠전에 데이터가 잘 들어오다가 새벽부터 데이터가 안들오고 다운이 되었는데 원인을 알수가

코로나 집콕 프로젝트 #1

의도 2020년은 코로나의 해였다. 년초에 시작한 코로나는 년말을 지나도록 잡히지 않았고 나는 하반기 내내 외부 프로젝트를 줄이고 집에 박혀서 더 많은 삽질을 했다. 이유없는 삽질에 결론을 만들기는 어렵긴 하지만 무언가 결과가 있어야겠다고 생각한게 12월이니… 오래도 결렸다. 하반기에 주로 많이한 일들이 IoT 디바이스를 가지고 놀아본거였고 거기에 Flutter를 이용해서 앱을 두어개 만들어 스토어에 업로드 해본 경험으로 IoT

Jetson Nano, PCA9685, L298N, DC-Motor 4륜구동 자동차

Jetson Nano를 충동적으로 구입하고 (http://practical.kr/?p=125) 테스트를 해본 후 뭘 만들까 고민을 하다가 자동차를 만들어 볼까? 생각을 했다. 전년도에 라즈베리파이를 이용해서 자동차를 만들려고 구매해 두었던 4륜 자동차 바디가 그대로 있어서 여기에 젯슨나노를 얹어 보기로 했다. 실패한이유 근데 생각해 보니 그때 라즈베리 기반의 자동차를 만들다 그만둔 이유가 라즈베리파이의 Digital I/O 의 숫자가 부족하다는걸 알고 나서였다. 바퀴하나를 구동하려면

Jetson Nano, 전원, Wifi, Case, Setup, Inference

엔비디아의 Jetson Nano를 구입했다. 최근 좀 저렴한 2GB 모델의 릴리즈 소식을 들었지만 기존 4GB 모델을 구입했다. 충동적으로 구입했기 때문에 특별한 사용 목적은 없고 그저 어떤 성능이 나오는지 Development Kit 수준이 어느정도 인지 알고 싶었다. 구입은 아래 링크에서 했는데, 그동안 읽었던 글들에서 기본 모델에는 Wifi 없고 4A짜리 전원 공급장치가 필요하다고 해서 구입하는김에 Wifi 장비와 별도의 4A

ESP32, MicroPython, MQTT

아래와 같은 삽질을 했다. 삽질은 기록이라고… 대충 정리함 ESP32에서 MicroPython을 언젠가 한번 사용해봐야지 하고 있었는데 기왕 하는 김에 MQTT까지 연결해봤다. ESP32 에 MicroPython을 설치한다. ESP32에서 MicroPython으로 MQTT Client를 만든다 맥북에 MQTT 서버를 설치한다 맥북에서 Python을 이용해서 MQTT Client를 만든다. ESP32 – 맥북사이의 MQTT Client와 데이터를 주고 받기 테스트 ESP32에 MicroPython 설치하기 ESP32에 MicroPython을 설치하려면 firmware를

내가 개발에 사용한 플러터 패키지

플러터 (Flutter)를 이용해서 앱을 개발하는데 패키지는 필수불가결한 요소입니다. 물론 온전히 기본제공하는 위젯(Widget)과 기능만으로 목적하는 기능을 구현할 수도 있겠지만 기본으로 지원하지 않거나 특별한 디자인과 기능을 원하는 요구사항을 만족시키기는 기본 패키지만으로는 매우 어렵습니다. 하지만 공개된 패키지를 잘 사용하면 쉽고 빠르게 목표물에 도달 할 수도 있습니다. 이 글에서는 내가 스캐니(Scanny – http://practical.kr/?p=71) 를 개발하면서 사용한 패키지들을 용도 위주로

스캐니(Scanny) – 아이폰용 스캐너앱

저는 개인적으로 개발언어를 스터디 하는 방법으로 마켓 릴리즈를 목표로 제품을 하나 만들어가며 스터디하는 것을 좋아합니다. 목적이 분명하면 생각보다 빠르게 프레임워크의 구조와 내용을 파악할 수 있습니다. 플러터(Flutter)를 스터디하기 시작하면서 벌써 세번째 앱을 앱스토어 릴리즈 했는데요. 앞의 두개는 이것을 만들면서 앱스토어에서 플러터가 어떻게 업로드 되고 돌아가는지를 확인하기 위해 짬짬이 만든것 이었습니다. 스캐니(Scanny)는 폰카메라를 이용해 문서를 촬영해서 자동으로

iOS/Swift – iCloud Drive에 파일 업로드 하기

2011년 4월에 애플 앱스토어에 업로드한 Fake Location이 어뷰징 요소가 있다는 이유로 2020년 4월에 스토어에서 강제로 퇴출당했다. 이걸 마지막으로 앱스토어에 판매중인 앱이 한개도 남지 않게되어 새로운 앱을 하나 만들기로 했다. 몇일간 남는 시간을 쪼개어 그럭저럭 보이스를 녹음하고 플레이하는 작업을 하고 있었는데 알수 없는 문제에 봉착했다. 녹음된 보이스 파일은 아이폰에 저장되어야 하고 옵션으로 iCloud Drive에 저장되어야 해서

React Native 다시 공부하기

React Native는 이미 2017년에 버즈아트에서 나름 빠르게 도입해서 프로젝트에 성공적으로 적용했던 적이 있었다. 링크참조(http://practical.kr/?cat=6) 그때 버전이 v0.45 수준이었는데 3년이 지난 지금도 React Native는 v0.61에 머물러 있다. 대체 언제쯤 v1.0을 내놓으려나… 2020년 현재 여전히 크로스(멀티)플랫폼(iOS, Android)을 지원하는것은 매력적이고 그동안 꽤 많은 기술적 진보가 있었을 것이라는 생각을 염두에 두고 다시 한번 공부를 시작해 볼까? 하는 생각에 연습용

OpenCV를 이용한 Face Detection & Blur

Face Detection & Blur OpenCV 공부중에 주말 프로젝트로 만들어본 Go 언어 기반 얼굴인식 기능 및 블러 처리 프로그램입니다. 얼굴인식 – 이미 학습된 Caffe 기반의 딥러닝 얼굴인식 모델을 활용하여 인식하고 인식된 얼굴 부분을 블러 처리하여 웹요청에 응답합니다. API 서버 – Go Gin 기반으로 웹 프론트에 용청에 응답을 처리 프론트 – Vue.js & Axios 등으로 Go 서버에