저는 nodejs에서 새로 왔으며 노드를 사용하여 직렬 포트에 쓰기를 원하지만 이제는 버튼에 의해 트리거되기를 원합니다. 그리고 데이터는 텍스트 상자에서옵니다. 콘솔/터미널에서 노드 스크립트를 실행할 때 노드 스크립트가 정상적으로 작동하고 있습니다. 그러나 웹 페이지의 버튼으로는이 작업을 수행 할 수 없습니다. 은 여기 페이지 (F12)의 콘솔을 열 때 내 nodejs 당신의 도움이 사전에 HTML 여기html 버튼을 사용하여 노드 기능을 실행하는 방법
<!DOCTYPE html>
<html>
<head>
<title>Node x HTML</title>
</head>
<body>
<script>
function write_serial()
{
var serialport = require("serialport");
var SerialPort = serialport.SerialPort;
var sp = new SerialPort("/dev/ttyACM0", {
baudrate: 9600,
parser: serialport.parsers.readline("\n")
});
var text = document.getElementById("textbox1").value;
sp.on('open', function()
{
sp.on('data', function (data)
{
sp.write(name);
});
});
}
</script>
<Input Type = "text" id = "textbox1" >
<BR>
<br><button onclick="write_serial();" href="javascript:;">Go!</button>
</body>
</html>
에
ReferenceError: require is not defined
덕분에 내가 가진 오류의 내장입니다. :)
안녕하세요, 답장을 보내 주셔서 감사합니다. 마지막 단락에서 NodeJS 스크립트 (노드 js 스크립트,
NodeJS는 브라우저가 아닌 JavaScript 환경입니다. 대부분의 NodeJS 기능은 브라우저 환경에서 사용할 수 없기 때문에 사용할 수 없습니다.
대신 웹 요청을 수신 할 수 있도록 NodeJS 프로세스를 실행하여 웹 엔드 포인트 (예 : 웹 서버, 아마도 Express를 사용하지만 사용자는 필요하지 않음)를 제공하고 NodeJS 프로세스를 실행할 수 있습니다. 그런 다음 작업을 수행하는 NodeJS 서버에 대한 ajax 호출을 수행하는 웹 페이지에 버튼이 있습니다.
당연히 서버 프로세스가 실행중인 시스템에서만 작업을 수행 할 수 있습니다.
출처
2017-01-14 08:09:14
안녕하세요, 답장을 보내 주셔서 감사합니다. 실제로 웹 페이지에 액세스 할 수있는 다른 장치 (동일한 네트워크에 연결되어 있음)를 원합니다. Express는 나 같은 초보자를위한 최고의 솔루션입니까? – Blanket
@Blanket : "최상"이라고 말할 수는 없지만 NodeJS를 사용하여 웹 서버를 구축하는 데는 매우 사용하기 쉽고 매우 자주 사용됩니다. –
안녕하세요, 감사합니다. 나는 급행을 공부하기 시작할 것이다. – Blanket
어쩌면 그냥 POC 만약 내가 앱이 성장할 알고하지 않거나,보기에서 논리를 분리해서하려고, 다른 한편에서는 https://wzrd.in/standalone/[email protected]
에서하여 SerialPort 모듈을 수입하지만,의 MessageBroker를 사용하거나 엔진을 사용하여 행동 견해를 묶는 소켓?
희망 하시겠습니까?
출처
2017-01-14 08:16:39 Mech45
안녕하세요, 답장을 보내 주셔서 감사합니다. 귀하의 링크도 http://www.npmjs.com/serialport를 의미 했습니까? – Blanket
안녕하세요 :) 예. 똑같습니다! 나는 설명을하지 않고 -1을 넣는 사람들을 좋아하지 않는다 : ( – Mech45
나는 형제를 모른다. – Blanket