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:53:22 2019 +0000
Revision:
2:db40a55d1b0b
Parent:
1:f1f79c0e0d15
Child:
3:c2bcc030c8e8
Update for new version

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 0:617bf6669ab4 7 Make sure to edit your wifi login data below
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 - Navigate to <device ip>/test for a test page that demonstrates that paths work
EliasN 0:617bf6669ab4 12 (C)2019 Elias Nestl
EliasN 0:617bf6669ab4 13 */
EliasN 0:617bf6669ab4 14
EliasN 2:db40a55d1b0b 15 ESPAT esp(P1_0, P0_20, 115200); // Library initialisieren
EliasN 0:617bf6669ab4 16
EliasN 0:617bf6669ab4 17 DigitalOut Led0 (P1_18); // D10
EliasN 0:617bf6669ab4 18 DigitalOut Led1 (P2_16); // D11
EliasN 0:617bf6669ab4 19
EliasN 0:617bf6669ab4 20 string htmlPage = "<html>"
EliasN 0:617bf6669ab4 21 "<head><title>Led toggler</title></head>"
EliasN 0:617bf6669ab4 22 "<body>"
EliasN 0:617bf6669ab4 23 "<button onclick=\"fetch('./ledOn')\">Led ON</button>"
EliasN 0:617bf6669ab4 24 "<button onclick=\"fetch('./ledOff')\">Led OFF</button>"
EliasN 2:db40a55d1b0b 25 "</body></html>"; // Website code
EliasN 0:617bf6669ab4 26
EliasN 2:db40a55d1b0b 27 void handleRequest(int linkId, string path) { // Bei HTTP Request
EliasN 2:db40a55d1b0b 28 if (path == "/") { // Bei direkter IP
EliasN 2:db40a55d1b0b 29 esp.httpReply(linkId, "200 OK", htmlPage); // Website senden
EliasN 2:db40a55d1b0b 30 } else if (path == "/ledOn") { // Bei Pfad ledOn/ledOff, Led ein bzw ausschalten
EliasN 0:617bf6669ab4 31 Led1 = 0;
EliasN 0:617bf6669ab4 32 esp.httpReply(linkId, "200 OK", "success");
EliasN 0:617bf6669ab4 33 } else if (path == "/ledOff") {
EliasN 0:617bf6669ab4 34 Led1 = 1;
EliasN 0:617bf6669ab4 35 esp.httpReply(linkId, "200 OK", "success");
EliasN 2:db40a55d1b0b 36 } else { // Bei unbekannter Seite 404 antworten
EliasN 0:617bf6669ab4 37 esp.httpReply(linkId, "404 Not Found", "404 Not found!");
EliasN 0:617bf6669ab4 38 }
EliasN 0:617bf6669ab4 39 }
EliasN 0:617bf6669ab4 40
EliasN 0:617bf6669ab4 41 int main() {
EliasN 2:db40a55d1b0b 42 Led0 = Led1 = 1; // Leds aus
EliasN 2:db40a55d1b0b 43 esp.resetEsp(); // ESP Reset
EliasN 2:db40a55d1b0b 44 esp.initWifiAP("ESP", "12345678"); // ESP Access Point Initialiseren
EliasN 2:db40a55d1b0b 45 Led0 = 0; // LED ein um zu zeigen, dass Bertl aktiv ist
EliasN 2:db40a55d1b0b 46 esp.initServer(handleRequest); // Request Handler initialisieren
EliasN 0:617bf6669ab4 47 }