@@ -171,6 +171,9 @@ const int timeZone = 8; //东八区
171
171
// wifi连接UDP设置参数
172
172
WiFiUDP Udp;
173
173
WiFiClient wificlient;
174
+ #if SHOW_LUNAR
175
+ WiFiClientSecure wifiClientSecure;
176
+ #endif
174
177
unsigned int localPort = 8000 ;
175
178
float duty = 0 ;
176
179
@@ -286,7 +289,7 @@ void humidityWin()
286
289
clk.fillSprite (0x0000 ); // 填充率
287
290
clk.drawRoundRect (0 , 0 , 52 , 6 , 3 , 0xFFFF ); // 空心圆角矩形 起始位x,y,长度,宽度,圆弧半径,颜色
288
291
clk.fillRoundRect (1 , 1 , huminum, 4 , 2 , humicol); // 实心圆角矩形
289
- clk.pushSprite (45 , 222 ); // 窗口位置
292
+ clk.pushSprite (45 , 192 ); // 窗口位置
290
293
clk.deleteSprite ();
291
294
}
292
295
@@ -299,7 +302,7 @@ void tempWin()
299
302
clk.fillSprite (0x0000 ); // 填充率
300
303
clk.drawRoundRect (0 , 0 , 52 , 6 , 3 , 0xFFFF ); // 空心圆角矩形 起始位x,y,长度,宽度,圆弧半径,颜色
301
304
clk.fillRoundRect (1 , 1 , tempnum, 4 , 2 , tempcol); // 实心圆角矩形
302
- clk.pushSprite (45 , 192 ); // 窗口位置
305
+ clk.pushSprite (45 , 222 ); // 窗口位置
303
306
clk.deleteSprite ();
304
307
}
305
308
@@ -462,8 +465,10 @@ void Serial_set()
462
465
tft.fillScreen (0x0000 );
463
466
LCD_reflash (); // 屏幕刷新程序
464
467
UpdateWeater_en = 1 ;
465
- TJpgDec.drawJpg (15 , 183 , temperature, sizeof (temperature)); // 温度图标
466
- TJpgDec.drawJpg (15 , 213 , humidity, sizeof (humidity)); // 湿度图标
468
+ TJpgDec.drawJpg (15 , 213 , temperature, sizeof (temperature)); // 温度图标
469
+ #if !SHOW_LUNAR
470
+ TJpgDec.drawJpg (15 , 183 , humidity, sizeof (humidity)); // 湿度图标
471
+ #endif
467
472
468
473
Serial.print (" 屏幕方向设置为:" );
469
474
Serial.println (RoSet);
@@ -766,15 +771,16 @@ void saveParamCallback()
766
771
}
767
772
#endif
768
773
769
- // 获取农历日期 FIXME 这里要么请求失败-1,如果成功则会报错重启
774
+ #if SHOW_LUNAR
775
+ String lunarDate;
776
+ // 获取农历日期
770
777
void getLunarDate ()
771
778
{
779
+ wifiClientSecure.setInsecure ();
772
780
String URL = " https://api.zhangnew.com/v1/lunar" ;
773
- HTTPClient httpClient; // 创建 HTTPClient 对象
774
- std::unique_ptr<BearSSL::WiFiClientSecure> client (new BearSSL::WiFiClientSecure);
775
- client->setInsecure (); // 因为指纹会随着证书更新而变化,这里直接忽略掉吧
776
- httpClient.begin (*client, URL); // 使用新方法
777
- int httpCode = httpClient.GET (); // 启动连接并发送HTTP请求
781
+ HTTPClient httpClient; // 创建 HTTPClient 对象
782
+ httpClient.begin (wifiClientSecure, URL); // 使用新方法
783
+ int httpCode = httpClient.GET (); // 启动连接并发送HTTP请求
778
784
log (" 正在获取农历日期" );
779
785
// 如果服务器响应OK则从服务器获取响应体信息并通过串口输出
780
786
if (httpCode == HTTP_CODE_OK)
@@ -784,7 +790,7 @@ void getLunarDate()
784
790
deserializeJson (doc, str);
785
791
JsonObject sk = doc.as <JsonObject>();
786
792
787
- String lunarDate = sk[" 月日" ].as <String>();
793
+ lunarDate = sk[" 月日" ].as <String>();
788
794
log (" 农历日期获取成功 " + lunarDate);
789
795
}
790
796
else
@@ -795,6 +801,7 @@ void getLunarDate()
795
801
// 关闭ESP8266与服务器连接
796
802
httpClient.end ();
797
803
}
804
+ #endif
798
805
799
806
// 发送HTTP请求并且将服务器响应通过串口输出
800
807
void getCityCode ()
@@ -920,7 +927,7 @@ void weaterData(String *cityDZ, String *dataSK, String *dataFC)
920
927
clk.setTextDatum (CC_DATUM);
921
928
clk.setTextColor (TFT_WHITE, bgColor);
922
929
clk.drawString (sk[" temp" ].as <String>() + " ℃" , 28 , 13 );
923
- clk.pushSprite (100 , 184 );
930
+ clk.pushSprite (100 , 214 );
924
931
clk.deleteSprite ();
925
932
tempnum = sk[" temp" ].as <int >();
926
933
tempnum = tempnum + 10 ;
@@ -948,9 +955,9 @@ void weaterData(String *cityDZ, String *dataSK, String *dataFC)
948
955
clk.setTextColor (TFT_WHITE, bgColor);
949
956
clk.drawString (sk[" SD" ].as <String>(), 28 , 13 );
950
957
// clk.drawString("100%",28,13);
951
- clk.pushSprite (100 , 214 );
958
+ clk.pushSprite (100 , 184 );
952
959
clk.deleteSprite ();
953
- // String A = sk["SD"].as<String>();
960
+ # if !SHOW_LUNAR
954
961
huminum = atoi ((sk[" SD" ].as <String>()).substring (0 , 2 ).c_str ());
955
962
956
963
if (huminum > 90 )
@@ -964,6 +971,7 @@ void weaterData(String *cityDZ, String *dataSK, String *dataFC)
964
971
else
965
972
humicol = 0xF00F ;
966
973
humidityWin ();
974
+ #endif
967
975
968
976
// 城市名称
969
977
clk.createSprite (94 , 30 );
@@ -1164,6 +1172,17 @@ void digitalClockDisplay(int reflash_en = 0)
1164
1172
clk.pushSprite (5 , 150 );
1165
1173
clk.deleteSprite ();
1166
1174
1175
+ #if SHOW_LUNAR
1176
+ // 农历月日
1177
+ clk.createSprite (95 , 30 );
1178
+ clk.fillSprite (bgColor);
1179
+ clk.setTextDatum (CC_DATUM);
1180
+ clk.setTextColor (TFT_WHITE, bgColor);
1181
+ clk.drawString (lunarDate, 49 , 16 );
1182
+ clk.pushSprite (10 , 182 );
1183
+ clk.deleteSprite ();
1184
+ #endif
1185
+
1167
1186
clk.unloadFont ();
1168
1187
/* **日期****/
1169
1188
}
@@ -1292,7 +1311,9 @@ void WIFI_reflash_All()
1292
1311
1293
1312
updateNtpTime ();
1294
1313
// 其他需要联网的方法写在后面
1314
+ #if SHOW_LUNAR
1295
1315
getLunarDate ();
1316
+ #endif
1296
1317
1297
1318
WiFi.forceSleepBegin (); // Wifi Off
1298
1319
log (" WIFI sleep......" );
@@ -1442,11 +1463,14 @@ void setup()
1442
1463
1443
1464
tft.fillScreen (TFT_BLACK); // 清屏
1444
1465
1445
- TJpgDec.drawJpg (15 , 183 , temperature, sizeof (temperature)); // 温度图标
1446
- TJpgDec.drawJpg (15 , 213 , humidity, sizeof (humidity)); // 湿度图标
1466
+ TJpgDec.drawJpg (15 , 213 , temperature, sizeof (temperature)); // 温度图标
1447
1467
1448
1468
getCityWeater ();
1469
+ #if SHOW_LUNAR
1449
1470
getLunarDate ();
1471
+ #else
1472
+ TJpgDec.drawJpg (15 , 183 , humidity, sizeof (humidity)); // 湿度图标
1473
+ #endif
1450
1474
#if DHT_EN
1451
1475
if (DHT_img_flag != 0 )
1452
1476
IndoorTem ();
0 commit comments