html/javascript 로 node.js통해서 아두이노 통신관련

조회수 272회

일단 이제 막 한달정도 개인공부로 자바스크립트 시작한 초보 입니다.. 여기저기서 긁어모으고 공부해서 web controller 를 만들었는데, 그 컨트롤러에 있는 버튼에다가 펑션을 넣어서 아두이노에게 data (숫자)를 넘겨주면 아두이노가 그 data를 받아서 어딘가에 불을 켜주는... 뭐그런 프로젝트인데요.

일단 web controller는 다 되어서 이제 node.js 를 통해 아두이노와 통신을 해야 해서 구글링 하다가 https://github.com/codeadamca/arduino-from-nodejs 요거를 찾아서 따라해 보는데.. 일단 아두이노를 usb로 연결했는데 chgport 해도 안뜹니다... 근데 장치 관리자에는 뜨고.. 그래서 장치 관리자에 뜨는 이름으로 입력해서 node를 실행시키려 node app.js 커맨드를 치면

PS C:\Users\WSYS\Documents> node app
node:internal/modules/cjs/loader:1050 throw err; ^

Error: Cannot find module 'com4' Require stack:

  • C:\Users\WSYS\Documents\app.js at Module._resolveFilename (node:internal/modules/cjs/loader:1047:15) at Module._load (node:internal/modules/cjs/loader:893:27) at Module.require (node:internal/modules/cjs/loader:1113:19) at require (node:internal/modules/cjs/helpers:103:18) at Object. (C:\Users\WSYS\Documents\app.js:5:18) at Module._compile (node:internal/modules/cjs/loader:1226:14) at Module._extensions..js (node:internal/modules/cjs/loader:1280:10) at Module.load (node:internal/modules/cjs/loader:1089:32) at Module._load (node:internal/modules/cjs/loader:930:12) at Function.executeUserEntryPoint as runMain { code: 'MODULE_NOT_FOUND', requireStack: [ 'C:\Users\WSYS\Documents\app.js' ]

이르케 뜹니다 ㅠㅠ 대체 무엇이 문제일까요 ㅠㅠ 아니면 이거 말고 아두이노와 통신할 더 쉬운 방법이 있을까요..? 다른 언어는 아직 못하고 자바스크립트만 조금 할 줄 압니다..

2 답변

  • 오류 내용을 보면 장치를 찾을 수 없는 것 같습니다. 일단 시리얼 포트가 COM4 인지 확인해 보시고, 장치를 열때 path로 넣은 값을 com4가 아닌 COM4 로 해보세요./

  • 장치 관리자에서는 인식한다는 부분을 잘 모르겠네요 그런 실행하는 과정에서 캡쳐를 해 주셔야 정확한 확인이 가능합니다.

    만약 장치 관리자에서 COM 항목에 COM4(Arduino UNO R3) 같이 나와야지 정확히 인식된 건데 만약 USB 장치에만 보인다면 드라이버 문제일 수도 있습니다.

    혹시 저렴한 아두이노 호환보드(약 8000 이하 금액)로 구매하셨나요?

    정품 아두이노와 다르게 일부 아주 저렴한 호환보드들 중 일부는 자체 드라이버를 설치해야 동작하는 제품이 있습니다.

    요즘에는 찾아보기 힘들긴 한데 혹시나 싶어서 확인해봐야 할 것 같은 상황이네요.

    아두이노 호환보드이고 드라이버 문제라면 구매 홈페이지에서 아마 영어로 써진 설명서에 드라이버 설치하라고 링크를 제공하고 있을 겁니다.(없을 수도 있어요 없으면 제조사 홈페이지에 찾아가야 합니다. 아마 중국 웹을 직접 살펴봐야 할 수도 있어요.)

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)