问题描述
我正在做一个proyect,我可以通过Telegram BOT控制arduino。 Arduino有一个温度传感器,每次y从BOT发送一个especify命令时,BOT都会向我发送温度信息。 问题是温度值以一种扩展的方式出现,例如,如果温度是0。值是“ 23.43”(这是在控制台中打印温度的方式):
23.
43
因此,BOT向我发送了两个带有“ 23”的消息。另一个带有“ 43”。
这是ARDUINO代码:
int LED = 3;
int SENSOR;
void setup() {
pinMode(LED,OUTPUT);
//digitalWrite(LED,HIGH);
Serial.begin(9600);
}
void loop() {
SENSOR = analogRead(A0);
if (Serial.available()>0){
int COMANDO = Serial.read();
if (COMANDO == 50){
TEMP = ((SENSOR*5000.0) / 1023 ) / 10;
Serial.println(TEMP);
}
}
}
这是BOT的代码:
const TelegramBot = require('node-telegram-bot-api');
const token = 'TOKEN';
const bot = new TelegramBot(token,{polling: true});
var SerialPort = require("serialport");
var port = new SerialPort('COM4',{baudrate:9600,autoOpen: true });
port.setEncoding('utf8');
bot.on('message',function(msg) {
const chatId = msg.chat.id;
var Mensaje = msg.text;
if(Mensaje == "Temperatura"){
port.write("2");
port.on('data',function(data){
var temp = data
bot.sendMessage(chatId,'La temperatura es de: '+ temp + ' °C');
})
}
});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)