Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "SPI.h"
- #include "Ethernet.h"
- #include "WebServer.h"
- static uint8_t mac[6] = { 0x02, 0xAA, 0xBB, 0xCC, 0x00, 0x22 };
- static uint8_t ip[4] = { 192, 168, 1, 100 };
- #define PREFIX ""
- WebServer webserver(PREFIX, 80);
- void indexCmd(WebServer &server, WebServer::ConnectionType type, char *, bool){
- server.httpSuccess();
- if (type == WebServer::GET){
- P(message) =
- "<!DOCTYPE html><html><head>"
- "<title>Arduino Motor steuern</title>"
- "</head>"
- "<body>"
- "<p>Rotation des Motors:</p>"
- "<input type='range' id='rotation' value='0' min='0' max='360' />"
- "<p>Rotation: <span id='rotation-value'>0</span></p>"
- "<script>"
- "var range = document.getElementById('rotation');"
- "var rangeOut = document.getElementById('rotation-value');"
- "range.oninput = function(){"
- " rangeOut.textContent = range.value;"
- " sendData();"
- "};"
- "function sendData(){"
- " var ajax = new XMLHttpRequest();"
- " ajax.open('GET', '/rotation?value=' + range.value, true);"
- " ajax.send(null);"
- "}"
- "</script>"
- "</body>"
- "</html>";
- server.printP(message);
- }
- }
- #define NAMELEN 32
- #define VALUELEN 32
- void rotationCmd(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool){
- URLPARAM_RESULT rc;
- char name[NAMELEN];
- char value[VALUELEN];
- server.httpSuccess();
- if (type == WebServer::GET && strlen(url_tail) > 0){
- while (strlen(url_tail)) {
- rc = server.nextURLparam(&url_tail, name, NAMELEN, value, VALUELEN);
- if (rc == URLPARAM_EOS)
- // Keine Parameter mehr übrig
- else {
- // name und value sind nun hier verfügbar
- // Wenn name "rotation" entspricht, dann handelt es sich
- // bei value um die Rotation des Motors
- }
- }
- }
- }
- void setup()
- {
- pinMode(5, OUTPUT);
- pinMode(3, OUTPUT);
- pinMode(6, OUTPUT);
- Ethernet.begin(mac, ip);
- // Die index.html ausliefern
- webserver.setDefaultCommand(&indexCmd);
- // Die Rotation handeln
- webserver.addCommand("rotation", &rotationCmd);
- webserver.begin();
- }
- void loop(){
- webserver.processConnection();
- analogWrite(5, red);
- analogWrite(3, green);
- analogWrite(6, blue);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement