Example program using the ESPAT library. Made for BULME Bertl 2017.

Dependencies:   mbed ESPAT

Demo Program für mein ESPAT Library für Bulme Bertl 2017. Startet einen WebServer mit zwei Buttons um die LED D10 zu steuern.

Committer:
EliasN
Date:
Thu Apr 04 16:56:12 2019 +0000
Revision:
3:c2bcc030c8e8
Parent:
2:db40a55d1b0b
Fix comments

Who changed what in which revision?

UserRevisionLine numberNew contents of line
EliasN 0:617bf6669ab4 1 #include "mbed.h"
EliasN 0:617bf6669ab4 2 #include "ESPAT.h"
EliasN 0:617bf6669ab4 3
EliasN 0:617bf6669ab4 4 /*
EliasN 0:617bf6669ab4 5 Example program using the ESPAT library.
EliasN 0:617bf6669ab4 6 Made for BULME Bertl 2017 (LPC11U68)
EliasN 3:c2bcc030c8e8 7 Opens an Access Point called ESP with the password 12345678
EliasN 0:617bf6669ab4 8 # Features:
EliasN 0:617bf6669ab4 9 - Led D10 turns on when ready (wifi connected + server listening)
EliasN 0:617bf6669ab4 10 - Navigate to the device's ip in your browser and use the buttons to control Led D11
EliasN 0:617bf6669ab4 11 (C)2019 Elias Nestl
EliasN 0:617bf6669ab4 12 */
EliasN 0:617bf6669ab4 13
EliasN 2:db40a55d1b0b 14 ESPAT esp(P1_0, P0_20, 115200); // Library initialisieren
EliasN 0:617bf6669ab4 15
EliasN 0:617bf6669ab4 16 DigitalOut Led0 (P1_18); // D10
EliasN 0:617bf6669ab4 17 DigitalOut Led1 (P2_16); // D11
EliasN 0:617bf6669ab4 18
EliasN 0:617bf6669ab4 19 string htmlPage = "<html>"
EliasN 0:617bf6669ab4 20 "<head><title>Led toggler</title></head>"
EliasN 0:617bf6669ab4 21 "<body>"
EliasN 0:617bf6669ab4 22 "<button onclick=\"fetch('./ledOn')\">Led ON</button>"
EliasN 0:617bf6669ab4 23 "<button onclick=\"fetch('./ledOff')\">Led OFF</button>"
EliasN 2:db40a55d1b0b 24 "</body></html>"; // Website code
EliasN 0:617bf6669ab4 25
EliasN 2:db40a55d1b0b 26 void handleRequest(int linkId, string path) { // Bei HTTP Request
EliasN 2:db40a55d1b0b 27 if (path == "/") { // Bei direkter IP
EliasN 2:db40a55d1b0b 28 esp.httpReply(linkId, "200 OK", htmlPage); // Website senden
EliasN 2:db40a55d1b0b 29 } else if (path == "/ledOn") { // Bei Pfad ledOn/ledOff, Led ein bzw ausschalten
EliasN 0:617bf6669ab4 30 Led1 = 0;
EliasN 0:617bf6669ab4 31 esp.httpReply(linkId, "200 OK", "success");
EliasN 0:617bf6669ab4 32 } else if (path == "/ledOff") {
EliasN 0:617bf6669ab4 33 Led1 = 1;
EliasN 0:617bf6669ab4 34 esp.httpReply(linkId, "200 OK", "success");
EliasN 2:db40a55d1b0b 35 } else { // Bei unbekannter Seite 404 antworten
EliasN 0:617bf6669ab4 36 esp.httpReply(linkId, "404 Not Found", "404 Not found!");
EliasN 0:617bf6669ab4 37 }
EliasN 0:617bf6669ab4 38 }
EliasN 0:617bf6669ab4 39
EliasN 0:617bf6669ab4 40 int main() {
EliasN 2:db40a55d1b0b 41 Led0 = Led1 = 1; // Leds aus
EliasN 2:db40a55d1b0b 42 esp.resetEsp(); // ESP Reset
EliasN 2:db40a55d1b0b 43 esp.initWifiAP("ESP", "12345678"); // ESP Access Point Initialiseren
EliasN 2:db40a55d1b0b 44 Led0 = 0; // LED ein um zu zeigen, dass Bertl aktiv ist
EliasN 2:db40a55d1b0b 45 esp.initServer(handleRequest); // Request Handler initialisieren
EliasN 0:617bf6669ab4 46 }