Hallo
habe jetzt das Programm für den WiFly-Server noch etwas geändert. Frames sind zwischenzeitlich wohl out. Mit "Eingebettete Frames" <iframe> läuft das Programm aber tadellos, am besten mit dem Firefox. Habe das Programm auch noch etwas gestrafft und Internetzeit und Feldstärkeanzeige eingebaut.
Am Montag morgen habe ich erst https://www.roboternetz.de/community...ighlight=wiFlyCode:$regfile = "m32def.dat" $crystal = 4000000 Dim An$ As String * 255 Dim Mes1 As String * 255 Dim Mes2 As String * 255 Dim Mes3 As String * 255 Dim Mes4 As String * 255 Dim Header As String * 50 Dim I1 As Byte , I2 As Byte , I3 As Byte , I4 As Byte , Zeit As Integer , Ta As Integer Declare Sub Wifly Config Timer0 = Timer , Prescale = 1024 On Timer0 Zeiten Enable Interrupts Echo Off $baud = 19200 Print "$$$" ; ' Waitms 300 Print "time" ; Chr(13); Waitms 500 Print "show t" ; Chr(13); While Instr(mes1 , "Time") = 0 Input Mes1 ' holt Zeit aus Internet Wend Print "show rssi" ; Chr(13); While Instr(mes2 , "RSSI") = 0 Input Mes2 'Feldstärke Wend Print "exit" ; Chr(13); Enable Timer0 Start Timer0 Header = "HTTP/1.1 200 OK" + Chr(13) + Chr(10) Header = Header + "Accept-Ranges: bytes" + Chr(13) + Chr(10) Do ' Mes1 = Zeit Mes2=RSSI Mes3=timer Mes3= webbrowser an WiFly Wifly Loop End Sub Wifly While Ischarwaiting() = 1 Input An$ I1 = Instr(an$ , "GET") 'nur Inputs mit GET interessant If I1 > 0 Then I1 = Instr(an$ , "GET /?eg1=") '>> Daten vom Client ans WiFly If I1 > 0 Then I1 = I1 + 10 : I2 = Instr(i1 , An$ , " ") : I3 = Instr(i1 , An$ , "%") If I3 < I2 And I3 > 0 Then I2 = I3 I2 = I2 - I1 Mes4 = Mid(an$ , I1 , I2) : If I2 = 0 Then Mes4 = "" 'wegen bug in Bascom End If I1 = Instr(an$ , "d.htm") ' d.htm Name des eingebetteten Frame If I1 = 0 Then An$ = "<html><H1>Wifly-Server</H1>" An$ = An$ + "<iframe src=d.htm Width=90% Height=200></iframe>" An$ = An$ + "<P><form name=u1>send: <Input name=eg1 size=10 value=" + Mes4 + "></form>" An$ = An$ + "</html>" Else An$ = "<meta http-equiv=refresh content=1>" '>> Seite wird jede sec aufgerufen An$ = An$ + "<html>Sensor1=" + Mes1 An$ = An$ + "<P>Sensor2=" + Mes2 An$ = An$ + "<P>Sensor3=" + Mes3 An$ = An$ + "<P>Sensor4=" + Mes4 + "</html>" End If I2 = Len(an$) 'BitLänge muß exakt stimmen Print Header + "Content-Length: " + Str(i2) + Chr(13) + Chr(10) + Chr(13) + Chr(10); Print An$; Ta = Zeit + 50 'für Timeout s.u. 50 entspr. etwa 2 sec End If Wend End Sub Zeiten: Zeit = Zeit + 1 : Mes3 = Str(zeit) ' If Zeit > Ta Then 'timeout besser weglassen ' Ta = Zeit + 100 'funktioniert nicht zuverlässg ' Print "$$$" ; ' Waitms 300 ' Print "close" ; Chr(13); ' falls länger als 2 sec keine Verbindung ' Print "exit" ; Chr(13); ' End If Return 'Einstellungen für WiFly: 'Set UART Baudrate 19200 'Set Comm Remote = 0 'Set Ip Protocol = 3
entdeckt. Werde mir demnächst ansehen was Arduino+Wifi Shield zu bieten haben. War für mich aber interessant die Lösung weitgehend selbst zu stricken. Vielleicht kann´s der eine oder andere der mit Bascom pogrammiert, verwenden.
Beste Grüße
Christian







Zitieren

Lesezeichen