Node.js
नोडज के साथ Arduino संचार
खोज…
परिचय
यह दिखाने का तरीका कि Node.Js Arduino Uno के साथ कैसे संवाद कर सकता है।
सीरियलपोर्ट के माध्यम से अरुडिनो के साथ नोड जेएस संचार
नोड जेएस कोड
इस विषय को शुरू करने के लिए नमूना Node.js सर्वर है जो सीरियलपोर्ट के माध्यम से Arduino के साथ संचार कर रहा है।
npm install express --save
npm install serialport --save
नमूना 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 + '!');
});
नमूना एक्सप्रेस सर्वर शुरू करना:
node app.js
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);
}
}
आरंभ करना
- Arduino को अपनी मशीन से कनेक्ट करें।
- सर्वर शुरू करें
नोड जेएस एक्सप्रेस सर्वर के माध्यम से निर्माण को नियंत्रित करें।
एलईडी चालू करने के लिए:
http://0.0.0.0:3000/led
एलईडी बंद करने के लिए:
http://0.0.0.0:3000/off
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow