Node.js
Comunicazione Arduino con nodeJs
Ricerca…
introduzione
Modo per mostrare come Node.Js può comunicare con Arduino Uno.
Comunicazione Node Js con Arduino via serialport
Codice js del nodo
Esempio per iniziare questo argomento è il server Node.js che comunica con Arduino tramite serialport.
npm install express --save
npm install serialport --save
Esempio app.js:
const express = require('express');
const app = express();
var SerialPort = require("serialport");
var port = 3000;
var arduinoCOMPort = "COM3";
var arduinoSerialPort = new SerialPort(arduinoCOMPort, {
baudrate: 9600
});
arduinoSerialPort.on('open',function() {
console.log('Serial Port ' + arduinoCOMPort + ' is opened.');
});
app.get('/', function (req, res) {
return res.send('Working');
})
app.get('/:action', function (req, res) {
var action = req.params.action || req.param('action');
if(action == 'led'){
arduinoSerialPort.write("w");
return res.send('Led light is on!');
}
if(action == 'off') {
arduinoSerialPort.write("t");
return res.send("Led light is off!");
}
return res.send('Action: ' + action);
});
app.listen(port, function () {
console.log('Example app listening on port http://0.0.0.0:' + port + '!');
});
Avvio del server Express di esempio:
node app.js
Codice Arduino
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
Serial.begin(9600); // Begen listening on port 9600 for serial
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);
}
// the loop function runs over and over again forever
void loop() {
if(Serial.available() > 0) // Read from serial port
{
char ReaderFromNode; // Store current character
ReaderFromNode = (char) Serial.read();
convertToState(ReaderFromNode); // Convert character to state
}
delay(1000);
}
void convertToState(char chr) {
if(chr=='o'){
digitalWrite(LED_BUILTIN, HIGH);
delay(100);
}
if(chr=='f'){
digitalWrite(LED_BUILTIN, LOW);
delay(100);
}
}
Cominciando
- Collega l'arduino alla tua macchina.
- Avvia il server
Controlla la compilazione guidata tramite il nodo js express server.
Per accendere il led:
http://0.0.0.0:3000/led
Per spegnere il led:
http://0.0.0.0:3000/off
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow