Hace aproximadamente diez años me empeñe en introducirme al desarrollo de una pila TCP/IP para micro-controladores de recursos limitados. Constaba mas de trescientas paginas repletas de código C, ciertamente desistí de implementar mi propio “MicroWebServer” incrustado en un solo chip.
El tiempo pasa y es un verdadero lujo constatar como los sistemas embebidos toman el pulso a una nueva etapa donde ofrecer servicios integrados en micro dispositivos deja suelta a nuestra creatividad.
Fijaros en este código:
Imports GT = Gadgeteer
Partial Public Class Program
Private WithEvents adapter As New Ethernet(7)
Private WithEvents myweb As WebEvent
Private Sub ProgramStarted()
Debug.Print(«Program Started»)
adapter.UseStaticIP(«192.168.1.1», «255.255.255.0», «192.168.1.1»
End Sub
Private Sub myweb_WebEventReceived(path As String,
method As Gadgeteer.Networking.WebServer.HttpMethod,
responder As Gadgeteer.Networking.Responder) Handles myweb.WebEventReceived
If path = «Ping» Then
Dim pag = «<html>» +
«<body>» +
«<h1>» +
«Response from « + adapter.NetworkSettings.IPAddress.ToString +
«</h1>» +
«</body>» +
«</html>»
Dim bte As Byte() = New System.Text.UTF8Encoding().GetBytes(pag)
responder.Respond(bte, «text/html»)
End If
End Sub
Private Sub adapter_NetworkDown(sender As Gadgeteer.Modules.Module.NetworkModule,
state As Gadgeteer.Modules.Module.NetworkModule.NetworkState) Handles adapter.NetworkDown
Mainboard.SetDebugLED(False)
WebServer.StopLocalServer()
End Sub
Private Sub adapter_NetworkUp(sender As Gadgeteer.Modules.Module.NetworkModule,
state As Gadgeteer.Modules.Module.NetworkModule.NetworkState) Handles adapter.NetworkUp
Mainboard.SetDebugLED(True)
WebServer.StartLocalServer(adapter.NetworkSettings.IPAddress, 80)
Debug.Print(adapter.NetworkSettings.IPAddress)
End Sub
End Class
Me gustaría recibir vuestros comentarios,
PepLluis,