Грэг Дункан

Сегодняшний пост от PepLluis очень короток, но я просто отдаю VB.Net свои симпатии здесь, поэтому…

Веб–сервер для VB Gadgeteer Webserver, SDK 4.2 QFE2 и библиотека Spider Premium

Этот маленький пример кода показывает, как создать веб-сервер для нашего базового устройства Gadgeteer, используя VB с библиотеками Spider и 4.2 RTM Premium.

Запустите Visual Studio с новым проектом gadgeteer и скопируйте в него фрагмент…Это все! (не забудьте добавить ссылки на библиотеки).

Imports System.Net

Imports System.Text

Imports Microsoft.SPOT.Hardware

Imports GHI.Premium.Net

Imports GT = Gadgeteer

Partial Public Class Program

Private WithEvents ethernet As New EthernetBuiltIn()

'

Private ip As New IPAddress(New Byte() {0, 0, 0, 0})

Private WithEvents myweb As WebEvent

'

Private WithEvents timer As GT.Timer = New GT.Timer(1000)

Public Sub ProgramStarted()

'Initialize adapter

ethernet.Open()

ethernet.NetworkInterface.EnableDhcp()

ethernet.NetworkInterface.EnableDynamicDns()

NetworkInterfaceExtension.AssignNetworkingStackTo(ethernet)

'app timer on

timer.Start()

End Sub

Private Sub ethernet_CableConnectivityChanged(sender As Object, e As GHI.Premium.Net.EthernetBuiltIn.CableConnectivityEventArgs) Handles ethernet.CableConnectivityChanged

If e.IsConnected Then

' reboot device after plug... to startup again

PowerState.RebootDevice(True)

End If

End Sub

Private Sub ReceivedWebEventHandler(path As String, method As WebServer.HttpMethod, responder As Responder) Handles myweb.WebEventReceived

' webb response

responder.Respond(New System.Text.UTF8Encoding().GetBytes("Hello from " + ip.ToString() + " At " + System.DateTime.Now.ToString()), "text/html")

End Sub

Private tic As Boolean

Private Sub timer_Tick(timer As Gadgeteer.Timer) Handles timer.Tick

' blink debug led... system working

tic = Not tic

Mainboard.SetDebugLED(tic)

' get an IP from DHCP if no previous one

If (ip.ToString = "0.0.0.0") And ethernet.IsCableConnected Then

ip = IPAddress.GetDefaultLocalAddress()

WebServer.StartLocalServer(ip.ToString(), 80)

myweb = WebServer.SetupWebEvent("Hello")

End If

End Sub

End Class

...