嘿,我在 GitHub 上找到了一些适用于我的水泵的代码,但我的模型似乎比他们在 GitHub 上使用的模型更新了一点。大多数事情似乎都有效但没有的是控制板上的按钮似乎没有正确呼唤主板。
按钮的代码看起来是这样的:
#define BUTTON_BOOST 0x44
#define BUTTON_TIMER 0x46
#define BUTTON_POWER 0x4C
#define BUTTON_LOCK 0x4E
#define BUTTON_SELF_CLEAN 0x74
大部分数据似乎来自
void IRAM_ATTR Core1( void* p) {
...
而也许里面是按钮代码?
if (sendingKeyCode) {
if (totalBitsSent < 8) {
digitalWrite(dataPin, (buttonStatus << totalBitsSent) & 0x80 ? HIGH : LOW);
totalBitsSent++;
}
// FALLING edge 8 while sending keycode
else if (totalBitsSent == 8) {
// Receive ACK
pinMode(dataPin, GPIO_MODE_INPUT);
digitalWrite(dataPin, HIGH);
totalBitsSent++;
}
// FALLING edge 9 while sending keycode
else {
sendingKeyCode = false;
totalBitsSent = 0;
}
}
我做了其余的 api 调用(http://192.168.1.173:8080/api/v1/intex/swg/status)并得到了这个:
{
"data": {
"display": {
"status": "ON",
"brightness": 3,
"current_code": "."
},
"status": {
"power": "STANDBY",
"boost": "OFF",
"sleep": "OFF",
"o3_generation": "OFF",
"pump_low_flow": "OFF",
"low_salt": "OFF",
"high_salt": "OFF",
"service": "OFF"
},
"mode": {
"working": false,
"programming": false
}
}
}
所以我知道它可以很好地与它通信。我也做了这个调试 rest api 调用(http://192.168.1.173:8080/api/v1/intex/swg/debug)并得到了这个:
{
"data": {
"powerStatus": "0x01",
"statusDigit1": "0x00",
"statusDigit2": "0x02",
"statusDigit3": "0x00",
"displayingDigit1": "0x00",
"displayingDigit2": "0x02",
"current_code": ".",
"readBuffer": "[0X68, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6C, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6A, 0X02], [0X49, 0XFF], [0X48, 0X01], [0X68, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6C, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6A, 0X02], [0X49, 0XFF], [0X48, 0X01], [0X68, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6C, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6A, 0X02], [0X49, 0XFF], [0X48, 0X01], [0X68, 0X00], [0X49, 0XFF], [0X49, 0XFF], [0X48, 0X01], [0X6C, 0X00], [0X48, 0X01], [0X6A, 0X02], [0X49, 0XFF], [0X48, 0X01], [0X68, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6C, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6A, 0X02], [0X49, 0XFF], [0X48, 0X01], [0X68, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6C, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6A, 0X02], [0X49, 0XFF], [0X48, 0X01], [0X68, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6C, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6A, 0X02], [0X49, 0XFF], [0X48, 0X01], [0X68, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6C, 0X00], [0X49, 0XFF], [0X49, 0XFF], [0X48, 0X01], [0X6A, 0X02], [0X49, 0XFF], [0X48, 0X01], [0X68, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6C, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6A, 0X02], [0X49, 0XFF], [0X48, 0X01], [0X68, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6C, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6A, 0X02], [0X49, 0XFF], [0X48, 0X01], [0X68, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6C, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6A, 0X02], [0X49, 0XFF], [0X48, 0X01], [0X68, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6C, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6A, 0X02], [0X49, 0XFF], [0X48, 0X01], [0X68, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6C, 0X00], [0X49, 0XFF], [0X49, 0XFF], [0X48, 0X01], [0X6A, 0X02], [0X48, 0X01], [0X68, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6C, 0X00], [0X49, 0XFF], [0X48, 0X01], [0X6A, 0X02], [0X49, 0XFF], [0X48, 0X01], [0X00, 0X00]",
"compilation_date": "Apr 27 2023",
"compilation_time": "16:20:36",
"otaUpdating": false,
"removeWifiConfig": false,
"machineON": true,
"wifiReconnecting": false,
"readingMaster": true,
"sendingKeyCode": false
}
}
如果有人更了解二进制和 SDA/SCL 会帮助我找到我的按钮二进制代码,以便我可以将该代码发送到泳池泵主控制器,那就太好了。