我编写了一个程序,将数据发送到arduino,该程序检测发送的内容,然后根据所按下的键打开正确的引脚。
在Windows计算机上使用arduino软件时,arduino草图可以正常工作,我可以通过发送WAS或D来打开和关闭每个引脚。
通过节点发送时,arduino上的RX指示灯闪烁,但没有其他反应。
有人可以帮忙吗?
Node.js程序:
var httpServer = require('http').createServer(function(req, response){ /* Serve your static files */ })
httpServer.listen(8080);
var nowjs = require("now");
var everyone = nowjs.initialize(httpServer);
everyone.now.logStuff = function(msg){
console.log(msg);
}
var SerialPort = require('serialport2').SerialPort;
var assert = require('assert');
var portName;
if (process.platform == 'win32') {
portName = 'COM4';
} else if (process.platform == 'darwin') {
portName = '/dev/cu.usbserial-A800eFN5';
} else {
portName = '/dev/ttyUSB0';
}
var readData = '';
var sp = new SerialPort();
sp.on('close', function (err) {
console.log('port closed');
});
sp.on('error', function (err) {
console.error("error", err);
});
sp.on('open', function () {
console.log('port opened... Press reset on the Arduino.');
});
sp.open(portName, {
baudRate: 9600,
dataBits: 8,
parity: 'none',
stopBits: 1,
flowControl: false
});
everyone.now.forward = function() {
sp.write("w");
}
everyone.now.back = function() {
sp.write("s");
}
everyone.now.left = function() {
sp.write("a");
}
everyone.now.right = function() {
sp.write("d");
}
sp.on('data', function(data) {
console.log(data.toString());
});
Arduino程序:
void setup(){
Serial.begin(9600);
Serial.write("READY");
//Set all the pins we need to output pins
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}
void loop (){
if (Serial.available() > 0) {
//read serial as a character
char ser = Serial.read();
Serial.write(ser);
//NOTE because the serial is read as "char" and not "int", the read value must be compared to character numbers
//hence the quotes around the numbers in the case statement
switch (ser) {
case 'w':
move(8);
break;
case 's':
move(9);
break;
case 'a':
move(10);
break;
case 'q':
move(10);
move(8);
break;
case 'd':
move(11);
break;
case 'e':
move(11);
move(8);
break;
}
}
}
void move(int pin){
Serial.print(pin);
digitalWrite(pin, HIGH);
delay(1);
digitalWrite(pin, LOW);
}
我最近涉足这一领域。当Arduino从Arduino
IDE以外的其他设备接收到串行通信时,它会自动重置。这就是为什么您可以从IDE发送但不能从node.js发送的原因。
我有一个Uno,并在Reset和Ground之间放置了一个电容器。这是有关此主题的一些信息的页面。
祝好运。
http://arduino.cc/playground/Main/DisablingAutoResetOnSerialConnection
null ReplicaSet,Service,Ingress创建成功,nodeport可以从公有IP地址访问,Ingress无不良。 副本集: 服务: 主机文件: C:\kube>kubectl描述入口 C:\kube>curl http://kubia.example.com C:\kube>kubectl exec-it kubia-lrt9x bash root@kubia-lrt9x:/
我是新手。 这是我的设置:/apache2.2php5.3。6窗口7/ 我在Apache/htdocs/test/index中有以下代码。php 我使用PoEdit在locale/de_de/LC_MESSAGES/MESSAGES下生成必要的翻译。po 当我访问,结果是Hello World!当它应该是霍尔贴边! 作为测试,我打开命令提示符并导航到测试文件夹。然后我打了进去 控制台中显示的结果是
一般:我是一个想在Storm/Kafka/Flink/MS Azure SA/Spark上运行一些性能测试(WordCount)的学生。我想使用Kafka经纪人作为输入源。 我使用了Storm-Starter项目中的WordCount示例,并添加了Kafka作为喷口: 我使用kafka-console-producer生成一些消息。我希望有人能帮助我。我是编程Storm的新手...
我想,我正在使用来。我写了下面的代码来回答按下的呼叫按钮,大多数情况下我能够结束所有设备上的呼叫,但当我试图接收一个呼叫时,它不工作。 此(呼叫应答)代码在我测试过的一些设备上运行良好(Motorola**e3 6.0Android安全补丁2016年6月1日、honor 4.4.4、YU 4.4.4等)(小米note 4 6.0.1,lyf 6.O.1Android安全补丁2017年3月1日)上运
安装finerycms之前的先决条件 安装Ruby和Rubygems 安装数据库(mysql) 安装ImageMagick最新版本 所有先决条件都已正确安装。下一步安装refinerycms “gem安装精炼CMS”,然后不工作,我得到这个错误 找不到一个有效的gem'finerycms'()=0),原因如下:无法从https://rubygems.org/下载数据-ssl_connect返回=1
我想在wicket 6.5中测试一些AJAX DropDown(尝试过wicket 6.6,有相同的问题)。 我使用quickstart wicket page创建了我的wicket测试项目-http://wicket.apache.org/start/quickstart.html mvn原型:generate-DarchetypeGroupId=org。阿帕奇。wicket-Darchetyp