Hi,
Im a bit stuck with my project and hope you guys can point me in the right direction.
Im using node red on a rpi to communicate with an ESP8266. I have a dashboard in node red with a slider. The slider (is supposed to) control an LED via PWM signal.
So far I have managed to come up (more or less copy paste -.-) with a code that allows me to use a switch to turn on/off the LED.
void callback(String topic, byte* message, unsigned int length) {
Serial.print("Message arrived on topic: ");
Serial.print(topic);
Serial.print(". Message: ");
String messageTemp;
for (int i = 0; i < length; i++) {
Serial.print((char)message[i]);
messageTemp += (char)message[i];
}
Serial.println();
if(topic=="room/lamp"){
Serial.print("Changing Room lamp to ");
if(messageTemp == "on"){
digitalWrite(lamp, HIGH);
Serial.print("On");
}
else if(messageTemp == "off"){
digitalWrite(lamp, LOW);
Serial.print("Off");
}
}
this works..
What I want to do now is use the analogwrite function. So I recieve a MQTT mesage with a value between 0-255. This part already works.
Where I am stuck is, I dont know how to store the mqtt message I recieve inside an int or something so that I can do something like analogwrite(lamp, value_from_mqtt)...