Servidor Web integrado con Tiva conectado Launchpad (2 / 3 paso)

Paso 2: Código fuente de aplicación

En el lado integrado solía energia plataforma para desarrollar códigos de aplicación. Como ustedes saben o no "Energia es una plataforma de prototipado de electrónica de código abierto iniciada por Robert Wessels en enero del 2012 con el objetivo de llevar el cableado y marco de Arduino para el MSP430 de Texas Instruments basado en LaunchPad. Es plataforma de base, fácil de usar y libre de sketch arduino. Energia casi totalmente compatible con ejemplos de arduino. En poco tiempo se puede cambiar la aplicación de Arduino para TI Launchpads. Usted puede consultar aquí apoyadas kits, ejemplos y más información.

De todos modos, como he dicho, escribí mi energia de códigos. Se basa en códigos de ejemplos. Fácilmente puede entender y cambiar lo que quieras. Puedes ver los siguientes códigos.

 <p style="margin-left: 20.0px;">/***************************************************************************<br>* Designer: Erhan YILMAZ * * Application: Tiva Connected Launchpad Web Server Application * * Date: 19-08-2015 * * Version: 1.0 * * Description: Web server application with Tiva connected * * launchpad. Codes writen on energia * * *************************************************************************/</p><p>#define LED1 PN_1 #define LED2 PN_0 #define LED3 PF_4 #define LED4 PF_0</p><p>#include "Ethernet.h" // Prototypes void printEthernetData(); void GetSwitchState(EthernetClient); void SetLEDStates(EthernetClient, String);</p><p>EthernetServer server(80); int statusConfig = 0;</p><p>void setup() { Serial.begin(115200); </p><p> pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); pinMode(LED4, OUTPUT); pinMode(PUSH1, INPUT_PULLUP); pinMode(PUSH2, INPUT_PULLUP);</p><p> Serial.println("Connecting to Ethernet...."); </p><p> Ethernet.begin(0); // For static ip use below code /* IPAddress ip = IPAddress(10,2,7,158); IPAddress dns = IPAddress(10,2,7,200); IPAddress gw = IPAddress(10,2,7,254); IPAddress mask = IPAddress(255,255,0,0); Ethernet.begin(0, ip, dns, gw); */ server.begin(); printEthernetData(); }</p><p>EthernetClient client; String HTTP_req; // stores the HTTP request void loop() { client = server.available();</p><p> if (client) { // if you get a client, Serial.print("new client on port "); // print a message out the serial port Serial.println(client.port()); String currentLine = ""; // make a String to hold incoming data from the client boolean newConnection = true; // flag for new connections unsigned long connectionActiveTimer; // will hold the connection start time</p><p> boolean currentLineIsBlank = true; while (client.connected()) { // loop while the client's connected if (newConnection) { // it's a new connection, so connectionActiveTimer = millis(); // log when the connection started newConnection = false; // not a new connection anymore } if (!newConnection && connectionActiveTimer + 1000 < millis()) { // if this while loop is still active 1000ms after a web client connected, something is wrong break; // leave the while loop, something bad happened }</p><p> if (client.available()) { // if there's bytes to read from the client, char c = client.read(); // read a byte, then // This lockup is because the recv function is blocking. Serial.print(c); HTTP_req += c; // save the HTTP request 1 char at a time // last line of client request is blank and ends with \n // respond to client only after last line received if (c == '\n' && currentLineIsBlank) { // send a standard http response header client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println("Connection: keep-alive"); client.println(); // AJAX request for switch state if (HTTP_req.indexOf("ajax_switch") > -1) { // read switch state and send appropriate paragraph text GetSwitchState(client); SetLEDStates(client, HTTP_req);</p><p> } else { // HTTP request for web page // send web page - contains JavaScript with AJAX calls client.println(""); client.println(" "); client.println(" "); client.println(" </p><p>"); client.println(" </p><p>"); client.println("</p><p>"); client.println(" </p><center>"); client.println(" <h1>Erhan YILMAZ AJAX Test Application</h1>"); client.println(" "); client.println(""); client.println(" "); client.println(""); client.println(" <p><button>LED1</button> "); client.println("<button>LED2</button> "); client.println("<button>LED3</button> "); client.println("<button>LED4</button> </p><p>"); client.println(" </p><center>"); client.println(""); client.println(""); client.println(""); client.println(""); client.println("</center><p>"); client.println("</p></center><p>"); client.println("</p><p>"); } // display received HTTP request on serial port Serial.print(HTTP_req); HTTP_req = ""; // finished with request, empty string break; } // every line of text received from the client ends with \r\n if (c == '\n') { // last character on line of received text // starting new line with next character read currentLineIsBlank = true; } else if (c != '\r') { // a text character was received from client currentLineIsBlank = false; } } } // close the connection: client.stop(); Serial.println("client disonnected"); } }</p><p>// send the state of the switch to the web browser void GetSwitchState(EthernetClient cl) { char x=0;</p><p> if (!digitalRead(PUSH1)) x+=1; if (!digitalRead(PUSH2)) x+=2; switch(x) { case 0: cl.println("S1:OFF S2:OFF"); break;</p><p> case 1: cl.println("S1:ON S2:OFF"); break;</p><p> case 2: cl.println("S1:OFF S2:ON"); break;</p><p> default: cl.println("S1:ON S2:ON"); break; } }</p><p>void SetLEDStates(EthernetClient cl, String HTTP_req) {</p><p> if (HTTP_req.indexOf("LED1ON") > -1) { digitalWrite(LED1, HIGH); cl.println("LED1ON"); } else { digitalWrite(LED1, LOW); cl.println("LED1OFF"); }</p><p> if (HTTP_req.indexOf("LED2ON") > -1) { digitalWrite(LED2, HIGH); cl.println("LED2ON"); } else { digitalWrite(LED2, LOW); cl.println("LED2OFF"); }</p><p> if (HTTP_req.indexOf("LED3ON") > -1) { digitalWrite(LED3, HIGH); cl.println("LED3ON"); } else { digitalWrite(LED3, LOW); cl.println("LED3OFF"); }</p><p> if (HTTP_req.indexOf("LED4ON") > -1) { digitalWrite(LED4, HIGH); cl.println("LED4ON"); } else { digitalWrite(LED4, LOW); cl.println("LED4OFF"); } }</p><p>void serialEvent() { while (Serial.available()) { // get the new byte: char inChar = (char)Serial.read(); } }</p><p>void printEthernetData() { // print your IP address: Serial.println(); Serial.println("IP Address Information:"); IPAddress ip = Ethernet.localIP(); Serial.print("IP Address:\t"); Serial.println(ip);</p><p> // print your MAC address:</p><p> IPAddress subnet = Ethernet.subnetMask(); Serial.print("NetMask:\t"); Serial.println(subnet);</p><p> // print your gateway address: IPAddress gateway = Ethernet.gatewayIP(); Serial.print("Gateway:\t"); Serial.println(gateway);</p><p> // print your gateway address: IPAddress dns = Ethernet.dnsServerIP(); Serial.print("DNS:\t\t"); Serial.println(dns);</p><p>}</p> 

Artículos Relacionados

Servidor Web DIY con Arduino Mega 2560

Servidor Web DIY con Arduino Mega 2560

en este proyecto de bricolaje, vamos a hacer nosotros mismos un servidor web pequeño con W5100 escudo y arduino mega 2560,Vamos a conseguir nosotros mismos iniciado,Preparar todas las piezas...Paso 1: Las piezas necesarias para este DIY 1. Arduino Me
Cómo probar tu propio servidor web frente a vulnerabilidades en mysql

Cómo probar tu propio servidor web frente a vulnerabilidades en mysql

Si eres un programador que debe cuidar de la seguridad de su código y servidores. Este instructable muestra cómo funciona una inyección mysql y lo que puede hacer para evitar que su propio código a otros fines que usted espera.Después de leer esto, c
NodeMCU Temp con servidor Web

NodeMCU Temp con servidor Web

NodeMCU Temp con servidor Webes más fácil pensar:usted necesita una configuración preparada para el arduino IDE.Paso 1: Instalación simple y fácil: Necesita conectar su TempSensor correcta! Siempre se mira dos veces! Porque el ESP no es 5V ambiente :
Arduino dual ultrasonido líquido Medidor de nivel con sitio web integrado

Arduino dual ultrasonido líquido Medidor de nivel con sitio web integrado

este proyecto le permite monitorear el nivel de 2 contenedores llenada de líquido. Los niveles podrán ser mostrados en una página web. El ejemplo siguiente tiene un sensor conectado por cable y otro sensor conectado inalámbricamente por XBee.El sitio
Vamos a controlar electrodomésticos con servidor Web de WIZwiki-w7500

Vamos a controlar electrodomésticos con servidor Web de WIZwiki-w7500

Este instructable muestra cómo control electrodomésticos en casa con el servidor Web utilizando WIZwiki-W7500.Para este proyecto, llevar a la práctica mi propio relé protector compatible con WIZwiki-W7500.Esta idea vino de IOT (Internet de las cosas)
Con ESP8266 servidor Web Scada SVG valor Random Bateria 6v

Con ESP8266 servidor Web Scada SVG valor Random Bateria 6v

Se ha implementado web de servidor de las Naciones Unidas con el ESP8266 una diferencia que este tiene un mini scada basado en Gráficos Vectoriales Redimensionables o SVG, se ha tomado una plantilla de servidor web y se ha creado internamente un SVG
Música con zumbador utiliza servidor Web (uso de WIZwiki-W7500)

Música con zumbador utiliza servidor Web (uso de WIZwiki-W7500)

Voy a introducir un servidor de Web de piano jugando.Usted puede tocar piano usando el servidor Web que tiene un WIZwiki-W7500 proyecto por apertura solo el sitio web si usted sigue este contenido.Es muy fácil y simple manera.Vamos a empezar!Paso 1:
NodeMCU introducción y aplicación de servidor Web

NodeMCU introducción y aplicación de servidor Web

Hola a todosHoy en día hay tantas juntas de desarrollo y plataformas anunciando y cada vez más barato así. Por supuesto IoT tiene un efecto en él. Por ejemplo, recientemente recibí un ESP8266 basado en NodeMCU Junta. Es muy fresco y fácil de usar. Ex
Servidor Web de RC salida de frecuencia dual

Servidor Web de RC salida de frecuencia dual

Este proyecto es un servidor de base de ESP8266 "domótica" que puede controlar varios enchufes eléctricos controlado por RF de 315MHz y 434 MHz. utilizando dos receptores y dos transmisores (un par para cada frecuencia), pueden controlar salidas
Servidor web para el control de electrodomésticos

Servidor web para el control de electrodomésticos

Este instructivo describe cómo se puede hacer un simple pero potente servidor Web utilizado para el control de los electrodomésticos. El corazón del circuito es el microcontrolador ATmega328. He elegido este porque quería utilizar disponibles bibliot
Configurar su propio servidor Web! ¿

Configurar su propio servidor Web! ¿

Alguna vez has querido tener un lugar donde podía guardar sus archivos y acceder a ellos en cualquier lugar tienes una conexión a Internet? Decir que quisiera tener tu biblioteca de música disponible en caso de que usted quiso darle una canción a uno
Instalar un servidor Web en Raspberry Pi.

Instalar un servidor Web en Raspberry Pi.

Esta guía explica brevemente cómo instalar un servidor Web en la Raspberry Pi.Primero se debe habilitar ssh. Una guía se encuentra aquí:Necesitarás:1 frambuesa Pi(conectado a un router y a Internet)Cuando se instala el servidor Web que probablemente
ESP8266 servidor Web que sirve varias páginas

ESP8266 servidor Web que sirve varias páginas

Con NodeMCU, el ESP8266 puede servir fácilmente una página web.En su forma más simple, el servidor responde a una solicitud mediante el envío de nuevo ' cliente: send() una línea a la vez para cada línea en la página.Esto funciona. Sin embargo si ust
Convierte un viejo PC en un servidor web! ¿

Convierte un viejo PC en un servidor web! ¿

preguntando qué hacer con ese cable de red y ese viejo equipo tienen acumulando polvo en su sótano? bueno, aquí es un poco algo que puede ser de alguna utilidad para usted.Paso 1: Preparar el equipo lo sé, lo sé, pero sé que podría ser los que ven es