Forum: Mikrocontroller und Digitale Elektronik PPP-Protokoll und GPRS


von Marc (Gast)


Lesenswert?

Also ich habe es jetzt geschafft mit dem Handy eine Verbindung
aufzubauen, aber jetzt bekomm ich irgend ein Müll zurück, ich hab mal
ein bisschen rumgesucht und hab den Verdacht, dass es sich um das
PPP-Protokoll handelt, gibt’s jetzt irgend nen Code der mir dir
richtigen Zeichen da errechnet, oder hat jemand ne gute Seite wo das
PPP-Protokoll erklärt wird, wie man z.b. sich mit nem Internet-Server
verbindet oder ähnliches?

Gruß Marc

von semo (Gast)


Lesenswert?

vielleicht hilft dir diese seite weiter!
http://www.lanline.de/html/lanline/lexikon/lex/ppp.htm

gruß,
semo

P.S.: wie hast du es nun geschafft eine Verbindung aufzubauen? (einfach
nur mit den AT-Befehlen?)

von Jörg Wunsch (Gast)


Lesenswert?

Eine RFC-konforme Implementierung, die einigermaßen vollständig ist,
dürfte übrigens nach Kilozeilen C-Code gemessen werden.  Ich habe mal
an einer mitgearbeitet, die hat ~ 5000 Zeilen Quellcode (130 KB, alles
in einer Datei) und gehört vom Funktionsumfang eher zum Minimum (PPP
für ISDN, d. h. keine HDLC-Implementierung für RS-232-konforme
Übertragung dabei, keine Datenkompression, auch sonst eher wenige
Gimmicks).

Je nach Anwendungsfall kann man das evtl. ein wenig abspecken, aber es
ist in keinem Falle ,,nur mal was zu entschlüsseln'' oder sonstwie
an
einem Nachmittag zusammengeschrieben.  Etwas umfangreichere
Implementierungen bringen es auch auf mehr Code, ich habe hier noch
eine daliegen, die es auf 1,2 MB Quellcode in 123 Dateien (ca. 43000
Zeilen) bringt...  OK, da ist dann bis zu Multilink (Kanalbündelung),
PPPoE (braucht man z. B. für DSL) und auch Firewallfunktionalität
alles dabei.

Ich halte es für sehr wahrscheinlich, daß jemand schon eine
PPP-Implementierung für AVR geschrieben hat (falls es hier um diesen
gehen sollte).

von Marc (Gast)


Lesenswert?

Also mir würde es schon reichen wenn ich mich nur mit einem Server über
TCP verbinden könnte, und von dem Daten schicken und Empfangen. Mehr
soll der gar nicht machen und das halt über GPRS. Ich weiß nicht wie
schwer das zu bewerkstelligen ist. Ich hoffe es gibt da auch etwas
kleiner Codes die mir da weiterhelfen könnten. Bis zum "Connect" komm
ich  ja aber weiter nicht.

Gruß Marc

von Jörg Wunsch (Gast)


Lesenswert?

TCP ist zwei Schichten obendrüber (IP ist noch dazwischen).

,nur' ist gut. :-)

Schau Dich mal bei Ethernet oder solchen Projekten um, mir ist so, als
könnten die auch IP über PPP fahren.

Ob ,nur ein Server' oder 100 verschiedene ist egal -- PPP heißt ja
PPP, weil es eine Punkt-zu-Punkt Verbindung bedient, d. h. der Aufwand
ist schon nur dafür da, zwei Punkte miteinander zu verbinden.

Mit einem AT90S2313 wirst Du das aber wohl nicht mehr hinbekommen, und
auch ein ATmega8 wird bestenfalls gerade das Protokoll sprechen
können, ohne damit etwas sinnvolles anfangen zu können (vermutlich
aber nicht einmal das).

von Marc (Gast)


Lesenswert?

Oh mist ich dachte ich muss nur die Zeichen die ich geschickt bekomme
nur auswerten und dann halt dem des antworten was er will, Aber das des
so ein riesen Code dann wird, wollte ich dann auch nicht. würde es denn
nicht reichen, wenn ich einfach mal mitprotokolliere wie es mein ALptop
macht und dann einfach die zeichenfolge schicke? Oder ist das Protokoll
so dynamisch, dass ich immer neue Sachen berechnen muss?

Gruß Marc

von Hagen (Gast)


Lesenswert?

Also, wenn es embedded WEB Server gibt auf AVR's, dann muß auch das PPP
realisierbar sein. Über dem PPP, oder genauer TCP/IP, sitzt ja noch
HTML, FTP usw. usw. Wenn also ein embedded WEB Server zum TCP/IP -> PPP
zusätzlich noch HTTP oder FTP kann, dann dürftest du ohne HTTP usw.
erst recht mit den Resourcen auskommen.

Wenn ich das richtig verstanden habe, dann nutzen die meisten emb. WEB
Server zwar extra Hardware um sich im netzwerk zu integrieren, aber die
Software zu dieser Hardware muß ja auch vom AVR übernommen werden.

Ein PPP Link basiert also fast immer auf TCP/IP, und wenn du über GPRS
schon einwählen kannst, dann hast du schon einen PPP Link der über
TCP/IP zu deinem Provider aufgebaut.

Gruß Hagen

von Fritz Ganter (Gast)


Lesenswert?

Hallo Hagen!

Er hat keinen PPP-Link, er hat nur ein Modem connect. Dann kommt ein
Chat script zum einloggen, dann wird erst der Hardware-Layer gestartet,
den er nicht hat.
Dann kommt der IP-Layer drüber, denn er nicht hat.
Dann kommt der TCP-Layer drüber, denn er nicht hat.

Also, eigentlich hat er gar nix.

von Marc (Gast)


Lesenswert?

Hey Jungs ihr macht mit ja Mut, jetztw eiß ich dass ich nix habe. Ich
dachte immer dass es nicht so schwer sein kann, denn ein handy dass
wirklich nicht viel rchenleistung hat kann es ja auch, und sogar noch
einiges Mehr (Telefonieren, Spiele etc...) da hatte ich mir überlegt,
dass man doch mit nem einfachen AVR ein Handy dazu bringen kann eine
Verbindung zu nem Server aufzubauen, und dem dann was schicken, naja
ich komm wohl nicht drum rum, dass ganze PPP-Protokoll zu lernen. Naja
das kann ja spaßig werden.

Gruß Marc

von Hagen (Gast)


Lesenswert?

Doch er hat schon Verbindung zum Internet Provider über GPRS, oder etwa
nicht ?

Also müsste er doch nur noch auf die Suche nach einer TCP/IP Library im
WEB gehen.

PPP besagt doch rein garnichts über Hardware oder Software aus, sondern
nur um was für einen Netzwerk-Typus es sich handelt, eben ob Point to
Point, Token-Ring usw. usw.

Mein Netzwerk-Wissen müsste mich schon total im Stich lassen.
Ein PPP Link, kann unabhänig von der Hardware, genausogut über IrDA,
WLAN oder sogar Serielle Schnittstelle laufen. In jedem Falle, wäre der
PPP Link aus Sicht der Hardware nur ein binärer Datenübertragungskanal
und dieser Kanal hat meistens garkein Protokoll. Bei
IrDA/Bluetooth/WLAN liegt davor natürlich noch ein zusätzliches
hardwaretypisches Protokoll, aber nicht bei einfachster serieller
Übertragung.

Was ihm fehlt ist also ein TCP/IP Stack, zB. Berkeley-Socket-API, das
an seinem Ende der Strippe die Daten von der seriellen Schnittstelle
liest und schreibt.

Also, ich habe selber schon für Palm Handhelds solche Dinge gecodet,und
dort wurden nur TCP/IP Packete direkt über die serielle gesendet.

Gruß Hagen

von Hagen (Gast)


Lesenswert?

Im Falle meiner Palm programmierung wurde über die AT Befehle erstmal
das Handy über serielle zum Connecten gebracht, innerhalb dieser AT
Befehle wurde auch der GPRS Service samt Einwähldaten wie Passwort usw.
gemacht, danach ist die Serielle Datenübertragung ein TCP/IP protokoll
in dem sich der Provider bestätigt.

Meine Meinung nach fehlt ihm also das Socket-API, und das sollte sich
durch schon für AVR's finden lassen ??
Ok, selbst dieses API setzt Kenntnisse voraus und ist nicht mal eben so
zu coden.

Gruß Hagen

von Fritz Ganter (Gast)


Lesenswert?

Naja, irgendwas wird das PPP schon machen, sonst wäre der PPP Dämon
unter Linux nicht 217kB gross :-)

von Fritz Ganter (Gast)


Lesenswert?

Man kann ja den Code vom µC Webserver nehmen, das war erstaunlich wenig.
Es kommt nur ein neues Netzwerkdevice hinzu, also PPP. Der Rest sollte
zu verwenden sein.
Ich weiss ich bin von Linux verwöhnt, da ist alles schon fertig :-)

Übrigens, meine Webseite geht wieder: www.ganter.at/elektronik/

von Hagen (Gast)


Lesenswert?

Coole Seite, und ein sehr aufgeräumtes Labor. Ich wäre froh wenn ich
auch schon meine eigenen Leitplatten entwickeln könnte, aber das wird
noch :)

Gruß Hagen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.