Firmata4 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. 이전 1 다음 반응형