我该如何解决TelegramBOT和ARDUINO之间的通讯问题?

问题描述

我正在做一个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');
    })
  }
});

我该如何解决?我希望BOT仅向我发送温度的一封邮件

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)