-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathat-command-wifi.cpp
48 lines (40 loc) · 1.07 KB
/
at-command-wifi.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include "at-command-wifi.h"
#include "at-command-parser.h"
#include "gpio.h"
#include "parse-string.h"
#include "system-operation-mode.h"
#include <ESP8266WiFi.h>
#include <SoftwareSerial.h>
void atCommandWifi() {
allLedsOff();
char ssid[MAX_COMMAND_ARG_SIZE + 1];
char password[MAX_COMMAND_ARG_SIZE + 1];
const int next = parseString(&lineBuffer[9], ssid) + 9;
parseString(&lineBuffer[next], password);
WiFi.begin(ssid, password);
int count = 20;
while (WiFi.status() != WL_CONNECTED && count >= 0) {
delay(500);
Serial.print(F("."));
count--;
}
if (WiFi.status() != WL_CONNECTED) {
Serial.print(F("\r\nERROR\r\n"));
return;
}
wifiLedOn();
WiFi.setAutoConnect(true);
WiFi.setAutoReconnect(true);
Serial.print(F("\r\nIP address: "));
Serial.print(WiFi.localIP());
Serial.print(F("\r\nOK\r\n"));
}
void atCommandWifiPower() {
const int newPower = lineBuffer.substring(11).toInt();
WiFi.setOutputPower(newPower);
if (newPower == 0)
WiFi.mode(WIFI_OFF);
else
WiFi.mode(WIFI_STA);
Serial.print(F("\r\nOK\r\n"));
}