Serial communication

Hi there.
I need some help with configuring and programming my D1 mini based on 8266 to communicate with my pellet stove.

Here are the facts:

  • The communication is made trough half duplex serial communication with baud rate 1200, 8 data bits, 2 stop bits. I already made the electronic board for communication connected to the RX and TX pins on the arduino
  • I need to associate some virtual pins which will send and receive data from the stove in order to control it.

Long story short, to check it’s state, i should send these to bytes “0x00 0x21” and the stove will respond with two bytes from which the second byte tells the state of the stove (0x00 -turned off, 0x01 -starting fire , 0x04 -working , 0x07 - cleaning before turning off). How to create the connection and what type of button to associate on the virtual pin?

Second thing that i want, is to turn on and off the stove which requires sending 4 bytes.
To turn on the stove i should send these 4 bytes 0x80, 0x21, 0x01, 0xA2 . The stove will respond with also four bytes but it doesn’t matter that information since i will check it’s state with the question above.
To turn off the stove i should send these 4 bytes 0x80, 0x21, 0x06, 0xA7.

Just for information, the first byte is where is the information stored, second is location of the desired function, third is the desired value of that function and the fourth is the checksum of all of the first three bytes.

Third and last that i want to control, is the power of the stove (1-5)
0x80, 0x34, 0x01, B5 - for turning the stove in power 1
0x80, 0x34, 0x02, B6 - for turning the stove in power 2
0x80, 0x34, 0x03, B7 - for turning the stove in power 3
0x80, 0x34, 0x04, B8 - for turning the stove in power 4
0x80, 0x34, 0x05, B9 - for turning the stove in power 5
What type of button should i set for this function on my android device. I guess it should be slider with 5 values or?

Here is one guy who also works with creating code for the same stoves, but maybe he is a little starch to share his project :slight_smile:

I am not hardcore programmer so: