Primeros Pasos con Netduino como webserber
![2024 04 06 20 25 25 netduino is dead Buscar con Google y 5 páginas más Personal Microsoft Edge](https://soloelectronicos.com/wp-content/uploads/2024/04/2024-04-06-20_25_25-netduino-is-dead-Buscar-con-Google-y-5-paginas-mas-Personal_-Microsoft-Edge-1.png)
En estas lineas vamos a mostrar cómo crear un pequeños servidor web, que ejecutaremos en nuestro Netduino (+). El servidor web debe responder ante cada petición HTTP con un «Hola Mundo».
Empezamos creando un nuevo proyecto de tipo Netduino Plus en nuestro Visual Studio–> Botón derecho sobre el proyecto y elige «Añadir nuevo elemento». –>Añade una nueva clase llamada WebServer.cs.
Aquí presentamos una versión muy simple de nuestro servidor web que se mantiene a la escucha, atendiendo las peticiones, y respondiendo «Hola Mundo» mientras hace parpadear el led de nuestro Netduino Plus.
public class WebServer : IDisposable
{
private Socket socket = null;
private OutputPort led = new OutputPort(Pins.ONBOARD_LED, false);
public WebServer()
{
//Inicializamos el socket
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//Conectamos el socket
socket.Bind(new IPEndPoint(IPAddress.Any, 80));
//Iniciamos la escucha
socket.Listen(10);
ListenForRequest();
}
public void ListenForRequest()
{
while (true)
{
using (Socket clientSocket = socket.Accept())
{
//Aceptamos el cliente
IPEndPoint clientIP = clientSocket.RemoteEndPoint as IPEndPoint;
EndPoint clientEndPoint = clientSocket.RemoteEndPoint;
int bytesReceived = clientSocket.Available;
if (bytesReceived > 0)
{
//Obtenemos la petición
byte[] buffer = new byte[bytesReceived];
int byteCount = clientSocket.Receive(buffer, bytesReceived, SocketFlags.None);
string request = new string(Encoding.UTF8.GetChars(buffer));
Debug.Print(request);
//Componemos la respuesta (Nota 1)
string response = «Hola Mundo»;
string header = «HTTP/1.0 200 OK\r\nContent-Type: text; charset=utf-8\r\nContent-Length: » + response.Length.ToString() + «\r\nConnection: close\r\n\r\n»;
clientSocket.Send(Encoding.UTF8.GetBytes(header), header.Length, SocketFlags.None);
clientSocket.Send(Encoding.UTF8.GetBytes(response), response.Length, SocketFlags.None);
//Parpadeo del led
led.Write(true);
Thread.Sleep(150);
led.Write(false);
}
}
}
}
#region IDisposable Members
~WebServer()
{
Dispose();
}
public void Dispose()
{
if (socket != null)
socket.Close();
}
#endregion
}
El siguiente paso es añadir el siguiente código para iniciar el servidor web.
public static void Main()
{
Microsoft.SPOT.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()[0].EnableDhcp();
WebServer webServer = new WebServer();
webServer.ListenForRequest();
}
En el siguiente paso, tenemos que desplegar el código en nuestro Netduino haciendo click en las propiedades del proyecto.
Una vez cambiadas las propiedades del proyecto, seleccionamos la pestaña «.Net Micro Framework» y cambiamos las siguientes propiedades:
Transport: USB
Device: NetduinoPlus_NetduinoPlus
Ahora solo nos queda pulsar F5 para pasar nuestro código a Netduino ,esperar unos inst asegurando que nuestro Netduino-plus esta conectado a internet realizamos la siguiente petición mediante nuestro navegador.
http://192.168.1.2/ ( o la ip que le haya asignado nuestro router a nuestro netduino)
Fuente original:http://mynetduino.blogspot.com.es/
Before writing to disk, data is encoded in the "8 in 14" standard and stored in the form of land…
After exploring a handful of the articles on your blog, I truly appreciate your way of writing a blog. I…
I'm not sure wһy but thіѕ blog iis loading extremely slow fоr me. Ιs anyone eⅼse having thіs isesue oг…
Ԍood blog youu have got һere.. Ӏt'ѕ difficult tto fіnd ցood quality writing ⅼike yoᥙrs these ɗays. I reallʏ apprеciate…
Si eres un extranjero en este país y te sientes agobiado o inseguro acerca de cómo proceder, te recomiendo fuertemente…