라즈베리파이17 Firmata 공부하기 #4 - Firmata 코드 살펴보기 (1) 이제부터는 본격적으로 Firmata를 분석해보고 사용해보도록 하자. 나의 개인적인 취향 상 분석을 먼저 면밀하게 한 후 사용을 하는 것 보다는 실제 동작하는 모습을 보면서 연관된 코드를 뜯어보는 것이 수월하기에 이번 포스팅 역시 그러한 방식으로 진행을 하겠다. Firmata의 전체적인 구성은 호스트 PC 쪽의 Firmata Client와 아두이노쪽의 Firmata 스케치로 구성되어 있다. 물론 아두이노쪽에서 범용 Firmata 스케치가 아닌 Firmata 라이브러리를 사용한다면 구성이 조금 달라지겠지만 이 시리즈에서는 범용 Firmata 스케치를 사용한다는 전제로 포스팅을 하고 있다. 이러한 전제 하에 지난 번 포스팅의 가장 마지막에 실행했던 digital_output.py 소스를 가지고 간단하게 Fir.. 2021. 2. 15. Firmata 공부하기 #3 - Firmata 개발 환경 설정 Firmata는 2가지 방식으로 사용이 가능하다. 그 한 가지 방법은 아두이노의 스케치에서 Firmata 라이브러리를 include한 후 라이브러리의 API를 활용하는방법이고, 다른 한 가지는 아두이노에는 범용 스케치를 업로드하고 모든 코딩을 클라이언트 쪽에서 하는 방법이다. 우선 두 번째 방법인 범용 Firmata 스케치를 아두이노에 업로드한 후 클라이언트에서만 코딩을 하는 방법을 알아보도록 하겠다. 이 방법은 아두이노 스케치의 C 프로그래밍에 익숙하지 않은 개발자들이 클라이언트 (호스트 PC)에서 본인에게 익숙한 언어로 개발을 할 수 있다는 장점이 있다. 본격적으로 Firmata의 소스 코드를 알아보기 전에 우선 간단하게 개발 환경을 먼저 정리하고 진행하고자 한다. 다만 이 글에서는 매킨토시 환경 하.. 2021. 2. 2. Firmata 공부하기 #2 - Firmata는 왜 쓰는가? 지난 시간 Firmata에 대해 포스팅한 후 많은 분들이 관심을 가져주시고 또한 의문을 제기해주셨다. 그중에 가장 중요한 것이 바로 다음의 두 가지였다. 왜 Firmata를 사용하는가? 왜 라즈베리파이와 아두이노를 연동하여 사용하는가? 이런 질문을 받고 나니 확실히 어떤 목적으로, 어떤 이점이 있기에 Firmata를 사용하고 라즈베리파이와 아두이노를 연동하려고 했는지 다시 한번 고민해보게 되었다. 아무리 작고 개인적인 프로젝트라 하더라도 역시나 대충, 어물쩡, 설렁설렁 하면 안되겠다고 새삼 깨달았다. 오늘은 위 두 질문에 대한 답을 찾는 것으로 시작을 해보고자 한다. 왜 Firmata를 사용하는가? 어찌보면 이 질문의 답은 명확하다. 대략 세 가지 정도로 추려보자면 1. 검증받은 프로토콜의 사용 지난 시.. 2021. 1. 26. Firmata 공부하기 #1 - Firmata란 무엇인가? 로봇을 제작하면서 전자부의 구성은 라즈베리파이 + 아두이노를 사용하기로 계획했다. 일단 사양과 활용도가 높은 라즈베리파이로 각종 데이터 분석과 추후 AI를 위한기능들을 구현하고 실제 구동부의 동작은 아두이노로 제어를 하는 구조다. 물론 요즘 새로 출시된 아두이노들은 웬만한 ML 처리는 가능하지만 아무래도 활용도라든지 관리 차원에서는 라즈베리파이가 조금 더 접근하기 쉬운 것은 사실이다. 게다가 일반적인 아두이노 호환 컨트롤러들은 워낙에 저가여서 모터나 센서 등을 조합해서 다양한 구동부를 만들고 이것을 라즈베리파이와 연동한다면 다양한 형태의 로봇이나 차량 혹은 드론을 만들 수 있을 것이라 생각했다. 그래서 프로젝트 이름도 MORS(MOdular Robot System)이라고 지었다. 계획은 세웠으니 이제 구.. 2021. 1. 21. 인생 프로젝트 시작 - MORS(4족보행로봇) 프로젝트 #6 Body 장갑 장착 (갤러리) 2019/08/05 - [로봇] - 인생 프로젝트 시작 - MORS 프로젝트 #1 개요 2020/05/17 - [로봇] - 인생 프로젝트 시작 - MORS(4족보행로봇) 프로젝트 #2 Restart 2020/05/30 - [로봇] - 인생 프로젝트 시작 - MORS(4족보행로봇) 프로젝트 #3 Modeling 2020/07/28 - [로봇] - 인생 프로젝트 시작 - MORS(4족보행로봇) 프로젝트 #4 다리 제작 2020/08/16 - [로봇] - 인생 프로젝트 시작 - MORS(4족보행로봇) 프로젝트 #5 조립 완료… 그러나… 지난 포스팅으로부터 꽤 많은 시간이 흘렀다. 역시나 3D 프린팅에서 많은 시간을 잡아먹었고 게다가 공차를 고려하지 않아서 재출력을 하거나 조립 중 부품이 파손되어 재출력을 하는.. 2020. 10. 27. 인생 프로젝트 시작 - MORS(4족보행로봇) 프로젝트 #5 조립 완료… 그러나… 2019/08/05 - [로봇] - 인생 프로젝트 시작 - MORS 프로젝트 #1 개요 인생 프로젝트 시작 - MORS 프로젝트 #1 개요 2020/05/17 - [로봇] - 인생 프로젝트 시작 - MORS 프로젝트 #2 Restart 인생 프로젝트 시작 - MORS 프로젝트 #2 Restart 인생 프로젝트 시작 - MORS 프로젝트 #1 개요를 작성한 것이 19년 8월 5일이었다. 그리고.. mazdah.tistory.com 2020/05/17 - [로봇] - 인생 프로젝트 시작 - MORS 프로젝트 #2 Restart 인생 프로젝트 시작 - MORS 프로젝트 #2 Restart 2019/08/05 - [로봇] - 인생 프로젝트 시작 - MORS 프로젝트 #1 개요 인생 프로젝트 시작 - MORS 프.. 2020. 8. 16. 인생 프로젝트 시작 - MORS 프로젝트 #1 개요 2020/05/17 - [로봇] - 인생 프로젝트 시작 - MORS 프로젝트 #2 Restart 인생 프로젝트 시작 - MORS 프로젝트 #2 Restart 인생 프로젝트 시작 - MORS 프로젝트 #1 개요를 작성한 것이 19년 8월 5일이었다. 그리고 어언 9개월이 넘게 지나버렸다. 회사일과 가정사로 이래저래 바쁜 나날로 손을 대지는 못했지만 머릿속에서 mazdah.tistory.com 2020/05/30 - [로봇] - 인생 프로젝트 시작 - MORS 프로젝트 #3 Modeling 인생 프로젝트 시작 - MORS 프로젝트 #3 Modeling 2019/08/05 - [로봇] - 인생 프로젝트 시작 - MORS 프로젝트 #1 개요 인생 프로젝트 시작 - MORS 프로젝트 #1 개요 내가 아두이노를 처.. 2019. 8. 5. [라즈베리파이] 스테레오 카메라를 써보자~ OpenCV 학습을 위한 스테레오 카메라 테스트 다시금 4족 보행 로봇에 관심을 기울이게 되면서 기왕이면 OpenCV를 이용하여 Object Detection을 구현하고 낮은 수준의 자율주행 기능을 포함시키고 싶었다. 하지만 새로운 것을 공부해야 한다는 부담감 때문에 섣불리 손을 못대고 있다가 본능에 따라 한 번 들이대보기로 하였다. 아직은 정리할만큼도 학습을 못했기 때문에 실제 OpenCV에 대해서는 언급할 내용이 없고 오늘은 카메라에 대한 이야기나 조금 찌끄려보려고 한다. USB Web CAM을 이용한 스테레오 카메라 사실 라즈베리파이에서 카메라 모듈을 2개 이상(4개까지) 연결하여 사용할 수 있는 모듈이 있다. 하지만 가격이 만만치 않다(6~7만원 선). 게다가 파이 카메라 모듈도 필요하고(그나마 .. 2019. 7. 20. [인공지능] coral usb accelerator + Raspberry pi zero w 2019/05/13 - [Study/인공지능학습] - [인공지능] coral usb accelerator + Raspberry pi zero w2019/05/16 - [Study/인공지능학습] - [인공지능] Coral USB Accelerator와 Edge TPU 뭔가 하나를 진득하니 끝내야 하는데…이놈에 호들갑스러운 호기심은 눈밭에 강아지 뛰놀듯한다… 얼른 미니 드론 만들고 다음에 싱글콥터 그 다음에 4족 보행 로봇 최종판을 만들어야 하는데… 도대체 어느세월에...ㅠ.ㅠ 이번 호기심의 대상은 바로 구글에서 엣지 컴퓨팅 보드로 출시한 coral 시리즈 중에 usb 가속기인 coral usb accelerator이다. 페이스북에서 어떤 분이 올려놓으신 엣지 컴퓨팅을 위한 보드들의 성능을 비교한 해외 블로.. 2019. 5. 13. 이전 1 2 다음 반응형