doorstatus/source/arduino/wifi.cpp
2020-12-28 21:56:24 +01:00

67 lines
1.6 KiB
C++

/*
Copyright (c):
Philipp Matthias Schäfer (philipp.matthias.schaefer@posteo.de), 2020
This file is part of the KrautStatus' Arduino code.
The Clean CommonMark library is free software: you can redistribute it and/or
modify it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or (at your
option) any later version.
The Clean CommonMark library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
for more details.
You should have received a copy of the GNU Affero General Public License along
with the Clean CommonMark library. If not, see <https://www.gnu.org/licenses/>.
*/
#include <SPI.h>
#include <WiFi101.h>
#include <WiFiUdp.h>
#include "config.h"
WiFiUDP Udp;
void print_mac_address() {
uint8_t mac[6];
WiFi.macAddress(mac);
Serial.print("MAC: ");
for(unsigned int i = 5; i > 0; --i) {
Serial.print(mac[i], HEX);
Serial.print(":");
}
Serial.println(mac[0], HEX);
}
boolean wifi_setup() {
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("No WiFI shield present");
return false;
}
print_mac_address();
while (true) {
Serial.print("Connecting to SSID: ");
Serial.println(SSID);
if (WiFi.begin(SSID, PASSWORD) == WL_CONNECTED) {
break;
}
delay(10000);
}
Serial.println("Connect to WiFi");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
Udp.begin(SERVER_PORT);
return true;
}