Hallo Philipp,
es gibt prinzipiell 2 Möglichkeiten
1. über den webbrowser vom PC. Hat den Nachteil, dass man die Daten am PC nicht leicht weiterverarbeiten kann und das Programm hängt gelegentlich, wenn aus irgendwelchen Gründung die Verbindung abbricht. Außerdem braucht man ein längeres Programm im Microcontroller.
2. Besser finde ich es deshalb mit vb.net ein Programm zuschreiben das per UDP-Protokoll die Daten austauscht. Da steht die Verbindung immer. Beispielprogramm (ginge sicher auch anders):
WindowsForm Anwendung erstellen, einen Button, 2 Textfelder und einen Timer hinzufügen und folgenden Quellcode einfügen:
Die Einstellungen vom WiFly sind:Code:Imports System.Runtime.InteropServices.MarshalImports System.Drawing, System.Drawing.Imaging Imports System.Net, System.IO Imports System.Net.Sockets Public Class Form1 Inherits System.Windows.Forms.Form Dim sendbef As Integer, bytes(200) As Byte, udpclient1 As UdpClient, IPPort1 As IPEndPoint Public Sub New() InitializeComponent() udpclient1 = New System.Net.Sockets.UdpClient(23) IPPort1 = New IPEndPoint(IPAddress.Parse("192.168.1.25"), 80) Timer1.Interval = 100 : Timer1.Enabled = True End Sub Private Sub Timer1_Tick1(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick Do While udpclient1.Available > 0 Dim receiveBytes As [Byte]() = udpclient1.Receive(IPPort1) textbox1.text = System.Text.Encoding.UTF8.GetString(receiveBytes) Loop If sendbef = 1 Then sendbef = 0 bytes = System.Text.Encoding.ASCII.GetBytes(TextBox2.Text + Chr(13)) udpclient1.Send(bytes, bytes.Length, IPPort1) End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click sendbef = 1 End Sub Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing udpclient1.Close() Timer1.Enabled = False End End Sub End Class
<2.32> get ip
IF=UP
DHCP=OFF
IP=192.168.1.25:80
NM=255.255.255.0
GW=192.168.1.1
HOST=IPRechner:23
PROTO=UDP,TCP,
MTU=1524
FLAGS=0x7
TCPMODE=0x0
BACKUP=0.0.0.0
Im Mikrocontroller zum senden z.B.
Print Hex(sharp2); 'z.B. um werte als Hexadezimalzahlen zu übertragen
Print Message; 'z.B. string übertragen
Print Chr(13); 'gesendet wird erst bei Abschluss mit cr
zum empfangen z.B.
If Ischarwaiting() = 1 Then Inputhex Kurssoll 'falls Wert als HEX übertragen
Sollte so klappen.
Viele Grüße
Christian







Zitieren

Lesezeichen