ESP8266 als Brücke ins wlan mit AT gedöns
- PIC18F2550
- Beiträge: 2846
- Registriert: Fr 30. Sep 2011, 13:08
Re: ESP8266 als Brücke ins wlan mit AT gedöns
Es tut sich was im Getriebe.
Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
- PIC18F2550
- Beiträge: 2846
- Registriert: Fr 30. Sep 2011, 13:08
Re: ESP8266 als Brücke ins wlan mit AT gedöns
ESP on WiFi Logglist.
Zur Zeit merke ich das die Stromaufnahme Bei AT-RES so hoch ist das die 3,3V unter die BOR Schwelle des Props kommt und der ein Neustart durchführt.
Im VGA Bild konnte ich schon vorher etwas dunklere Streifen beim AT-RES erkennen.
Mal sehen Anderes Netzteil? oder dicker Elko!
Softwaremäßig muss ich noch die obere Menüleiste ändern.
Die Aktive Schaltfläche der Maus ist von 1 Feld davor bis 1 Feld danach.
Warum auch immer das der programmierer gemacht hat es muss geändert werden!
Was für eine Platzverschwendung.
Zur Zeit merke ich das die Stromaufnahme Bei AT-RES so hoch ist das die 3,3V unter die BOR Schwelle des Props kommt und der ein Neustart durchführt.
Im VGA Bild konnte ich schon vorher etwas dunklere Streifen beim AT-RES erkennen.
Mal sehen Anderes Netzteil? oder dicker Elko!
Softwaremäßig muss ich noch die obere Menüleiste ändern.
Die Aktive Schaltfläche der Maus ist von 1 Feld davor bis 1 Feld danach.
Warum auch immer das der programmierer gemacht hat es muss geändert werden!
Was für eine Platzverschwendung.
Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
- PIC18F2550
- Beiträge: 2846
- Registriert: Fr 30. Sep 2011, 13:08
Re: ESP8266 als Brücke ins wlan mit AT gedöns
Die Verschwender wurden gefunden in MenuItem.spin
1.
Aus
wird
2.
aus
wird
So jetzt brauche ich noch etwas Zeit um das zu Testen.
1.
Aus
Code: Alles auswählen
PUB Init( pRow, pCol, pTextPtr, pVgaPtr, pVgaWidth ) | strIdx
varVgaCols := pVgaWidth
varRow := pRow
varCol := pCol
varScreenPtr := pVgaPtr
varStatus := 0
varWidth := strsize( pTextPtr ) + 2
varCol2 := varCol + varWidth - 1
varTextN[0] := 32
bytemove( @varTextN[1], pTextPtr, varWidth - 2 ) 'copy menu item text string
varTextN[varWidth - 1] := 32
varTextN[varWidth] := 0
strIdx := 0
repeat varWidth
varTextI[strIdx] := varTextN[strIdx]+128 'invert the string
strIdx++
varTextI[strIdx] := 0
varVgaPos := varRow * varVgaCols + varCol 'now draw the menu item
bytemove( @byte[varScreenPtr][varVgaPos], @varTextI, varWidth )
Code: Alles auswählen
VAR
word varGdx 'GUI control variable
long varScreenPtr 'screen buffer pointer
long varVgaPos 'starting position of the menu item
byte varTextN[16] 'normal text, 15 chars MAX, with room for terminating Null and bracketing spaces
byte varTextI[16] 'inverted text, 15 chars MAX, with room for terminating Null and bracketing spaces
byte varRow 'top row location
byte varCol 'left col location
byte varCol2 'right col location
byte varWidth 'width of text
byte varStatus '0=normal else user defined value
byte varVgaCols 'width of screen in columns
PUB Init( pRow, pCol, pTextPtr, pVgaPtr, pVgaWidth ) | strIdx
varVgaCols := pVgaWidth
varRow := pRow
varCol := pCol
varScreenPtr := pVgaPtr
varStatus := 0
varWidth := strsize( pTextPtr )
varCol2 := varCol + varWidth
varTextN[0] := 32
bytemove( @varTextN[0], pTextPtr, varWidth ) 'copy menu item text string
varTextN[varWidth] := 0
strIdx := 0
repeat varWidth
varTextI[strIdx] := varTextN[strIdx]+128 'invert the string
strIdx++
varTextI[strIdx] := 0
varVgaPos := varRow * varVgaCols + varCol 'now draw the menu item
bytemove( @byte[varScreenPtr][varVgaPos], @varTextI, varWidth )
aus
Code: Alles auswählen
PUB SetText( pPtr ) | strIdx
bytefill( @varTextN[1], 32, varWidth - 2 ) 'clear it first
bytemove( @varTextN[1], pPtr, strsize(pPtr) ) 'copy menu item text string
strIdx := 0
repeat varWidth
varTextI[strIdx] := varTextN[strIdx]+128 'invert the string
strIdx++
bytemove( @byte[varScreenPtr][varVgaPos], varTextI, varWidth )
Code: Alles auswählen
PUB SetText( pPtr ) | strIdx
bytefill( @varTextN[0], 32, varWidth ) 'clear it first
bytemove( @varTextN[0], pPtr, strsize(pPtr) ) 'copy menu item text string
strIdx := 0
repeat varWidth
varTextI[strIdx] := varTextN[strIdx]+128 'invert the string
strIdx++
bytemove( @byte[varScreenPtr][varVgaPos], varTextI, varWidth )
Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
- PIC18F2550
- Beiträge: 2846
- Registriert: Fr 30. Sep 2011, 13:08
Re: ESP8266 als Brücke ins wlan mit AT gedöns
Einmal zu mir bitte.
Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
- PIC18F2550
- Beiträge: 2846
- Registriert: Fr 30. Sep 2011, 13:08
Re: ESP8266 als Brücke ins wlan mit AT gedöns
Da beschleicht mich ein seltsame Gedanken .....
- Boot über WLAN
- Programme über das WLAN von einen Server laden
- .....
Dateien von einen HTTP Server zu laden ist einfacher als von einem FTP.
- Boot über WLAN
- Programme über das WLAN von einen Server laden
- .....
Dateien von einen HTTP Server zu laden ist einfacher als von einem FTP.
Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
- PIC18F2550
- Beiträge: 2846
- Registriert: Fr 30. Sep 2011, 13:08
Re: ESP8266 als Brücke ins wlan mit AT gedöns
Ein bisschen auf dem Server rum getippt
und dann noch etwas BST gefüttert.
Mit dem Ergebnis das ich an die "öffentliche" IP heran komme.
Da muss ich keinen dynDNS auf meinen Router einladen.
Natürlich gibt es genug Seiten die einen die eigene öffendliche IP verraten aber wenn Die Ihre Seite ändern muss auch jedesmal das programm abgeändert werden.
Was im php-Skript noch fehlt ist eine Überprüfung das nicht jeder eine Antwort bekommt. "Währe bestimmt besser."
Als nächstes müsste ich noch die Zeit abfragen.
Mal sehen ob das auch klappt.
Code: Alles auswählen
<?php
$ipaddress = $_SERVER['REMOTE_ADDR'];
echo $ipaddress ;
?>
Mit dem Ergebnis das ich an die "öffentliche" IP heran komme.
Da muss ich keinen dynDNS auf meinen Router einladen.
Natürlich gibt es genug Seiten die einen die eigene öffendliche IP verraten aber wenn Die Ihre Seite ändern muss auch jedesmal das programm abgeändert werden.
Was im php-Skript noch fehlt ist eine Überprüfung das nicht jeder eine Antwort bekommt. "Währe bestimmt besser."
Als nächstes müsste ich noch die Zeit abfragen.
Mal sehen ob das auch klappt.
Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
- PIC18F2550
- Beiträge: 2846
- Registriert: Fr 30. Sep 2011, 13:08
Re: ESP8266 als Brücke ins wlan mit AT gedöns
Code: Alles auswählen
<?php
error_reporting(E_ALL ^ E_NOTICE);
ini_set("display_errors", 1);
date_default_timezone_set("America/Argentina/Buenos_Aires");
function query_time_server ($timeserver, $socket)
{
$fp = fsockopen($timeserver,$socket,$err,$errstr,5);
# parameters: server, socket, error code, error text, timeout
if($fp)
{
fputs($fp, "\n");
$timevalue = fread($fp, 49);
fclose($fp); # close the connection
}
else
{
$timevalue = " ";
}
$ret = array();
$ret[] = $timevalue;
$ret[] = $err; # error code
$ret[] = $errstr; # error text
return($ret);
} # function query_time_server
$timeserver = "ntp.pads.ufrj.br";
$timercvd = query_time_server($timeserver, 37);
//if no error from query_time_server
if(!$timercvd[1])
{
$timevalue = bin2hex($timercvd[0]);
$timevalue = abs(HexDec('7fffffff') - HexDec($timevalue) - HexDec('7fffffff'));
$tmestamp = $timevalue - 2208988800; # convert to UNIX epoch time stamp
$datum = date("Y-m-d (D) H:i:s",$tmestamp - date("Z",$tmestamp)); /* incl time zone offset */
$doy = (date("z",$tmestamp)+1);
echo "Time check from time server ",$timeserver," : [<font color=\"red\">",$timevalue,"</font>]";
echo " (seconds since 1900-01-01 00:00.00).<br>\n";
echo "The current date and universal time is ",$datum," UTC. ";
echo "It is day ",$doy," of this year.<br>\n";
echo "The unix epoch time stamp is $tmestamp.<br>\n";
echo date("d/m/Y H:i:s", $tmestamp);
}
else
{
echo "Unfortunately, the time server $timeserver could not be reached at this time. ";
echo "$timercvd[1] $timercvd[2].<br>\n";
}
?>
date_default_timezone_set("America/Argentina/Buenos_Aires"); ==>> in =>> date_default_timezone_set("Europa/Germany/Berlin");
$timeserver = "ntp.pads.ufrj.br"; ==>> in =>> $timeserver = "server 0.de.pool.ntp.org";
Port 37 bei TCIP?
Normalerweise 123 und UTP
Schaun wir mal ob das so geht.
Code: Alles auswählen
query_time_server($timeserver, 37);
Gesendet wird anscheinend nur ein NL
Code: Alles auswählen
fputs($fp, "\n");
Code: Alles auswählen
fread($fp, 49);
-------------------------------------------------------------------------------------------------------------
Zum Test auf den Server erst mal weiter im php als SNTP aber mein ESP.
So möchte ich erst einmal sehen was alles an einen echten SNTP Server gesendet wird.
Code: Alles auswählen
<?php
error_reporting(E_ALL ^ E_NOTICE);
ini_set("display_errors", 1);
date_default_timezone_set("America/Argentina/Buenos_Aires");
function query_time_server ($timeserver, $socket)
{
$fp = fsockopen($timeserver,$socket,$err,$errstr,5);
# parameters: server, socket, error code, error text, timeout
if($fp)
{
fputs($fp, "\n");
$timevalue = fread($fp, 49);
fclose($fp); # close the connection
}
else
{
$timevalue = " ";
}
$ret = array();
$ret[] = $timevalue;
$ret[] = $err; # error code
$ret[] = $errstr; # error text
return($ret);
} # function query_time_server
$timeserver = "192.168.1.102";
$timercvd = query_time_server($timeserver, 37);
//if no error from query_time_server
if(!$timercvd[1])
{
$timevalue = bin2hex($timercvd[0]);
$timevalue = abs(HexDec('7fffffff') - HexDec($timevalue) - HexDec('7fffffff'));
$tmestamp = $timevalue - 2208988800; # convert to UNIX epoch time stamp
$datum = date("Y-m-d (D) H:i:s",$tmestamp - date("Z",$tmestamp)); /* incl time zone offset */
$doy = (date("z",$tmestamp)+1);
// echo "Time check from time server ",$timeserver," : [<font color=\"red\">",$timevalue,"</font>]";
// echo " (seconds since 1900-01-01 00:00.00).<br>\n";
// echo "The current date and universal time is ",$datum," UTC. ";
// echo "It is day ",$doy," of this year.<br>\n";
// echo "The unix epoch time stamp is $tmestamp.<br>\n";
// echo date("d/m/Y H:i:s", $tmestamp);
}
else
{
echo "Unfortunately, the time server $timeserver could not be reached at this time. ";
echo "$timercvd[1] $timercvd[2].<br>\n";
}
?>
auch noch was zum Testen
port 13
PHP-Code:
Code: Alles auswählen
$array = query_time_server('ntps1-1.cs.tu-berlin.de',13);
echo '<pre>';
print_r($array);
echo '</pre>';
Code: Alles auswählen
Array
(
[0] => Fri Sep 5 03:07:16 2003
[1] => 0
[2] =>
)
05 SEP 2003 03:07:16 METDST
Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
- PIC18F2550
- Beiträge: 2846
- Registriert: Fr 30. Sep 2011, 13:08
Re: ESP8266 als Brücke ins wlan mit AT gedöns
Gedankenblitz :
Da alle Eingehenden datenströme und Systemmeldungen einzig über das Nadelöhr RX-Pin eingeflogen kommen muss ich einen DEMUX mir häkeln.
Alle Zeichen werden dabei nach der zeichenfolge "+IPD," Byteweise durchsucht
Wird die Zeichenfolge gefunden wird die ID ermittelt und die Daten in einen extra Puffer zu 2048 Byte geladen.
+IPD,id,len:data <= werde ich erstmal nicht unterstützen wegen extra speicherbedarf 4x2048 Byte =8192 Byte
+IPD,len:data
Da alle Eingehenden datenströme und Systemmeldungen einzig über das Nadelöhr RX-Pin eingeflogen kommen muss ich einen DEMUX mir häkeln.
Alle Zeichen werden dabei nach der zeichenfolge "+IPD," Byteweise durchsucht
Wird die Zeichenfolge gefunden wird die ID ermittelt und die Daten in einen extra Puffer zu 2048 Byte geladen.
+IPD,id,len:data <= werde ich erstmal nicht unterstützen wegen extra speicherbedarf 4x2048 Byte =8192 Byte
+IPD,len:data
Code: Alles auswählen
VAR
' Antwort auf Kommandos
word ComIdx[1] ' 0 = Leer >0 = Datengröße in Byte
byte ComBuf[2048] ' Puffer
' Empfangsdaten
word BinIdx[1] ' 0 = Leer >0 = Datengröße in Byte
byte BinBuf[2048] ' Puffer
Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
- PIC18F2550
- Beiträge: 2846
- Registriert: Fr 30. Sep 2011, 13:08
Re: ESP8266 als Brücke ins wlan mit AT gedöns
SNTP will nicht.
Warum auch immer.
Selbst die AT-funktion will nicht.
Da muss ich erst ein paar Kaffee kippen damit ich das verstehe.
Warum auch immer.
Selbst die AT-funktion will nicht.
Da muss ich erst ein paar Kaffee kippen damit ich das verstehe.
Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
- PIC18F2550
- Beiträge: 2846
- Registriert: Fr 30. Sep 2011, 13:08
Re: ESP8266 als Brücke ins wlan mit AT gedöns
Verschwender eliminiert und das Programm läuft noch. juhu
Gruß
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
PIC18F2550
drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo