Skip to content

Commit 5e46948

Browse files
Minor fixes to improve SSL connections
1 parent 0ae112d commit 5e46948

File tree

4 files changed

+23
-13
lines changed

4 files changed

+23
-13
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@
22
/.vscode
33
/.DS_Store
44
/archive
5+
/src/input/.DS_Store
6+
/src/input/i2c/.DS_Store

firmware-esp8266.ino

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,24 +30,24 @@
3030

3131
Display* display = NULL;
3232

33-
int currentVersion = 36;
33+
int currentVersion = 37;
3434
boolean printMemory = false;
3535

36-
String board = "Generic";
37-
char firmwareType[] = "ESP8266";
36+
// String board = "Generic";
37+
// char firmwareType[] = "ESP8266";
3838
// char firmwareType[] = "ESP8266-1M";
3939

4040
// String board = "NodeMCU";
41-
// char firmwareType[] = "ESP8266-NodeMCU";
41+
// char firmwareType[] = "ESP8266-NodeMCU-pp";
4242

4343
// String board = "ESP12s";
4444
// char firmwareType[] = "ESP8266-ESP12s";
4545

4646
// String board = "ESP07";
4747
// char firmwareType[] = "ESP8266-ESP07";
4848

49-
// String board = "D1Mini";
50-
// char firmwareType[] = "ESP8266-D1Mini";
49+
String board = "D1Mini";
50+
char firmwareType[] = "ESP8266-D1Mini";
5151

5252
extern String name = "Bridge";
5353
extern String ucType = "ESP8266";
@@ -232,11 +232,13 @@ void initSensate() {
232232
if(resetInfo.reason != REASON_DEEP_SLEEP_AWAKE)
233233
{
234234
Serial.println("STATE: Register_Bridge");
235+
initSSL();
235236
registerBridge();
236237
}
237238
else
238239
{
239240
Serial.println("Skip Register_Bridge (Wake from Sleep)");
241+
initSSL();
240242
state=Init_Configuration;
241243
}
242244
}

src/controller/Bridge.cpp

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,16 @@ int sensorCycle = 1;
7878

7979
std::unique_ptr<BearSSL::WiFiClientSecure>sslClient(new BearSSL::WiFiClientSecure);
8080

81+
bool initSSL()
82+
{
83+
sslClient->setBufferSizes(512, 512);
84+
85+
if(bridgeURL.startsWith("https://hub"))
86+
sslClient->setFingerprint(ssl_fingerprint_prod);
87+
else if(bridgeURL.startsWith("https://test"))
88+
sslClient->setFingerprint(ssl_fingerprint_test);
89+
}
90+
8191
bool registerBridge()
8292
{
8393
if(display!=NULL)
@@ -99,14 +109,7 @@ bool registerBridge()
99109

100110
String urlString = bridgeURL + "/" + apiVersion + "/bridge/";
101111

102-
sslClient->setBufferSizes(1024, 1024);
103-
if(urlString.startsWith("https://hub"))
104-
sslClient->setFingerprint(ssl_fingerprint_prod);
105-
else if(urlString.startsWith("https://test"))
106-
sslClient->setFingerprint(ssl_fingerprint_test);
107-
108112
httpClient.begin(*sslClient, urlString);
109-
110113
httpClient.addHeader("Content-Type", "application/json");
111114
httpClient.setTimeout(5000);
112115

@@ -416,6 +419,7 @@ bool getBridgeConfig() {
416419

417420
Serial.print("e");
418421
configRetry++;
422+
Serial.println("Fetch config failed..? - HTTP:" + String(httpCode));
419423
Serial.println("Retry #"+String(configRetry)+", restart at 25");
420424

421425
if(configRetry>=10 && powerMode==2)
@@ -1098,6 +1102,7 @@ boolean postSensorData(Data* data[], int dataCount)
10981102

10991103
if(serverError || wasDisconnected)
11001104
{
1105+
postSensorDataRetry=0;
11011106
serverError = false;
11021107
wasDisconnected = false;
11031108
if(display!=NULL)

src/controller/Bridge.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
#include "../input/onewire/SensorDallas.h"
4545
#include "../output/display/DisplayOLED128.h"
4646

47+
bool initSSL();
4748
bool registerBridge();
4849
void restoreBridgeConfig();
4950
void restart();

0 commit comments

Comments
 (0)