본문 바로가기

전체 글103

[레고테크닉] 42122 지프 랭글러 구동개조 - ESP CAM 안녕하십니까? 만들오 입니다. ESP CAM 버전으로 업그레이드한 지프 랭글러 구동개조 입니다. 지난 레고테크닉 구동개조글과의 가장 큰 차이점은 제어기가 마이크로비트에서 ESP CAM으로 변경된 것 입니다. ESP CAM은 카메라와 Wifi를 사용할 수 있는 MCU 입니다. 자동차에 카메라가 장착되었고, 인터넷 브라우저를 통해 조종할 수 있습니다. 즉, 컴퓨터 또는 스마트폰으로 카메라를 보며 조종할 수 있게 되었습니다. 기존 외부에 노출된 마이크로비트와 확장보드를, ESP CAM으로 바꾸며 원래 출시된 모습과 유사하게 만들수 있었습니다. 카메라는 운전석 헤드레스트 위에 장착했습니다. 아래 사진에 파란색 점선 부위입니다. 배터리와 와이어는 본네트 아래에 숨겨두었습니다. RC카를 만들면서 가장 어려운 부분이.. 2021. 1. 24.
[아두이노] 카메라를 장착한 레고 42122 지프 랭글러 RC카 안녕하세요? 만들오 입니다. 아래 글에서 사용한 ESP CAM의 아두이노 코드를 공유합니다. 2021/01/24 - [레고테크닉] - [레고테크닉] 42122 지프 랭글러 구동개조 - ESP CAM 작동 영상 외부 라이브러리는 Websocket 뿐입니다. 간략히 요약한 설치 방법은 다음과 같습니다. 다음 주소에서 AsyncTCP 설치 https://github.com/me-no-dev/AsyncTCP 다음 주소에서 ESPAsyncWebserver 설치 https://github.com/me-no-dev/ESPAsyncWebServer 라이브러리 설치방법 : Github에서 zip 파일로 내려받은 후, 스케치 -> 라이브러리 포함하기 -> .ZIP 라이브러리 컨셉을 요약하면, ip/stream 경로에 카메.. 2021. 1. 24.
[자바스크립트] Node.js - Tensorflow.js Generator를 이용한 데이터셋 만들기 파이썬의 케라스처럼 Tensorflow.js에도 data generator가 있습니다. Javascript에서는 function* 처럼 표현을 하는데요, 사용하면서 주의점이 하나 있는데 일반 함수처럼 인자를 받으면 제대로 작동하지 않습니다. -> function* imageGenerator(x) 실행 안됨... 따라서 imgPath 라는 이미지파일 경로를 저장한 배열이 전역변수로 필요합니다. let imgPath = []; async function* imageGenerator() { for (let i = 0; i < imgPath.length; i++) { console.log(i); const img = await loadImage(imgPath[i]); const tens = await tf.br.. 2021. 1. 23.
[자바스크립트] Node.js - 이미지파일 불러오기 (pureimage) Tensorflow.js 이미지 분류기를 사용하는데 필요한 기능입니다. 전의 글에서는 이미지 파일의 경로를 가져왔다면, 이번에는 파일을 읽어들이는 예제입니다. node-canvas(이하 canvas)는 네이티브 라이브러리기 때문에 빠르지만 node-pre-gyp의 컴파일이 필요합니다. 즉, 에러가 발생하기 쉽고 설치가 어려운 단점이 있습니다. (어제 이상없이 설치했는데 오늘은 설치가 안됨...) pureimage는 순수 javascript로 만들어서 별다른 오류없이 쉽게 설치가 가능합니다. 가끔씩 pureimage에서 파일을 읽어들일때 에러가 발생해서 canvas를 이용했었는데, 최근 오류가 수정된듯 하여 앞으로 pureimage를 쓸 예정입니다. //pureimage const PImage = requ.. 2021. 1. 23.