Hallo Zusammen habe folgendes Problem: Ich habe das Aruduino Mega2560 Entwicklerboard und das GSM-GPRS-GPS-Shield mit dem Telit GE864Quad. Es soll ein Programm auf den ATmega, das über den Telit eine GPRS-Verbindung aufbaut und anschliessend die GPS-Daten (welche ebenfalls vom GSM-GPRS-GPS-Shield kommen) an einen Webserver sendet. Ich bekomme kein funktionstüchtiges Programm hin, welches die GPRS-Verbindung über AT-Befehle aufbaut. Der Webserver ist aufgesetzt und horch auf ein bestimmtes Port (Das Programm hierfür wurde von mir in Java geschrieben). Getestet mit einem Terminalprogramm. Das Funktioniert! Aber es scheint so als würde ich einfach unfähig sein, ein Programm für eine GPRS-Verbindung zustande zu bringen. Habe mir auch einige Testprogramme aus dem INTERNET geladen welche ich auch nicht zum laufen gebracht habe. Das Testprogramm für das versenden einer SMS mit den GPS-Daten über eine GSM-Verbindung funktioniert einwandfrei. Hat vielleicht schon jemand damit Erfahrung oder vielleicht hierfür auch schon ein Programm in petto? Ich würde nur gerne eine GPRS-Verbindung zustandebringen. Bräuchte einfach nur den richtigen Ansatz. lg Sab (Mir ist klar das ahnungslos mit "h" geschrieben wird, war ein Tippfehler, welchen ich nicht mehr rückgängig machen konnte)
Hi Sabine, hast du das Kit unter dem Link hier? http://www.gsm-modem.de/M2M/m2m-apps/gsm-gprs-gps-shield-for-arduino-board-duemilanove-atmega328/ Ich vermute mal, dass die Parameter für die GPRS Verbindung nicht stimmen. Welcher Provider? Welche APN? Welches Passwort? Funktioniert die SIM-Karte in deinem Handy? Kannst Du mit der SIM-Karte auf Google zugreifen? Gruss Harald
hi Harald, es ist genau das Modul, mit dem Bild (nicht das, welches im Link angezeigt wird). Die Daten des Providers sollten in Ordnung sein (Austria Provider (A1)APN:A1.net / User:ppp@a1plus.at / PW:ppp). Die SIM-Karte die ich verwende ist normalerweise in einer Datenkarte, welche ohne Probleme über HSDPA/UMTS/EDGE/GPRS eine Datenverbindung aufbaut. der Arduino-Compiler ist auch nicht gerade sehr hilfreich bei der Fehlersuche. Jetzt habe ich überlegt hierfür den Compiler zu welchseln. Z.B. ARV-Studio. Da erkennt man auch welche Schnittstellen und UARTs verwendet werden. Vielleicht muss hardware-Technisch noch etwas umgelötet werden.? Hast du vielleicht einen Source-Code den ich vielleicht testen könnte um eine GPRS-Verbindung mit dem Modul zustande zu bringen? Irgenwie habe derzeit eine "Entwicklerblockade". Ich habe mir auch ein zweites Modul besorgt um ausschliessen zu können, das es an einer defekten Hardware liegt. Leider keine Änderung. Übrigens danke für deine Rückmeldung. Liebe Grü0e Sabine
Hallo Sabine, bin noch nicht ganz sicher wo Dein Problem beginnt: Ich vermute das Du Kommandos an das Modul schicken kannst und Rückmeldungen bekommst!? Wenn dem so ist kannst Du bitte mal deine Kommandosequence und die dazugehörigen Rückmeldungen posten? Parallel dazu suche ich mal, ich habe irgendwo ein Beispiel gesehen, habe aber da ich ein anderes Modul bestellt habe das nicht gesichert :-( Sorry. Grüße Frank
Hi Sabine, wir fangen mal klein an. AT gibt dir ein OK? AT+CGDCONT=1,"IP","deine APN" AT#PASSW="dein Passwort" AT#USERID="deine User ID" AT#SGACT=1,1<cr> Liste fast aller APNs: http://www.flexispy.com/Mobile%20APN%20Setting%20to%20use%20GPRS.htm Mobilkom A1 / a1.net / ppp@a1plus.at / [blank] / 194.48.124.200 / 194.48.139.254 Wenn die Karte in deinem Handy geht sollte die auch mit dem GE864 funktionieren. Ausnahme waren sogenannte SIM-Karten der 3. Generation. Geht die Karte in einem uralten Handy? Kannst du das Modul über einen RS232-Adapter mit deinem PC verbinden? Ich vermute der Arduino hat keine Handshakeleitungen- Dann musst die mit ATK=0 das Hardwarehandshake abschalten. Schau mal hier ein: http://tinkerlog.com/2009/05/15/interfacing-arduino-with-a-telit-gm862/comment-page-2/#comment-268325 Alex Weber hat sein GM862-GPS vor Jahren bei mir gekauft. Sein Quellcode ist offen. Er macht über GPRS einen HTTP-Request. Ich habe wenn du möchtest nur viel mehr für dich. Kannst mir ja eine Email senden harald.naumann (at) gsm-modem.de
Hallo Frank Ich verwende dieses Modul http://www.gsm-modem.de/M2M/m2m-componets/arduino-mega-gsm-gps/ folgende Infos habe ich mir natürlich organisiert: Link zum PDF Telitbaustein selbst, welches auf dem Modul verbaut ist http://www.telit.com/en/products/gsm-gprs.php?p_id=12&p_ac=show&p=11 http://www.antrax.de/de/support?coID=17#arduino ich denke, mein Problem ist der Compiler.
Für den Einsatz des GSM/GPRS/GPS-Shields auf dem Arduino Mega2560 sind vier Signale an den Stiftleisten umzuverdrahten. Eine Umbauanleitung, ist im Download. http://www.antrax.de/de/news?coID=73 Vorschlag: Erst mal nur AT senden und auf ein OK warten und dann SMS und danach GPRS.
Hallo Harald
jetzt "weis" ich auch wer du bist :-)....wuste doch, das ich den Namen
schon irgendwo gelesen habe :-)...
Finde ich einfach toll, dass du mir helfen möchtest.
habe mir damals die beiden Komponenten einzeln und nicht als fertigen
Bausatz gekauft. Diesen Umbau habe ich schon lange vor dem vorhanden
sein einer Umbauanleitung durchgeführt.
Kurz "gesagt", es handelt sich hier um 4 umgeleitete "Schnittstellen".
die SMS kann ich schon problemlos versenden. GPRS ist ein Problem.
Habe einen Source-Code und einige Header-Files, wo die Arduino-SW nicht
compelieren kann.
der Fehler dürfte in den Headers liegen. bekomme folgende
Fehlermeldungen:
In file included from
J:\arduino-0021\hardware\arduino\cores\arduino/WProgram.h:10,
from GSMGPRS.cpp:12:
J:\arduino-0021\hardware\arduino\cores\arduino/wiring.h:110:24: error:
macro "digitalRead" requires 2 arguments, but only 1 given
In file included from
J:\arduino-0021\hardware\arduino\cores\arduino/WProgram.h:14,
from GSMGPRS.cpp:12:
J:\arduino-0021\hardware\arduino\cores\arduino/HardwareSerial.h:63:
error: conflicting declaration 'HardwareSerial Serial2'
J:\arduino-0021\libraries\GSMGPRS/serial.h:106: error: 'Serial2' has a
previous declaration as 'SerialPort Serial2'
J:\arduino-0021\hardware\arduino\cores\arduino/HardwareSerial.h:64:
error: conflicting declaration 'HardwareSerial Serial3'
J:\arduino-0021\libraries\GSMGPRS/serial.h:110: error: 'Serial3' has a
previous declaration as 'SerialPort Serial3'
Könnte den Source-Code von mir und die Headers auf deine andere
Email-Adresse als Attachment senden, wenn du Zeit hast dir diese
durchzusehen :-)
Gruß Sabine
Hallo Sabine, mein Blog findest du hier: http://www.gsm-module.de bzw. www.gsm-module.de/M2M . Im richtigen Leben werde ich für das helfen sogar bezahlt. Ich sehe das hier als Training. Ich weiß nicht, wie oft ich das Thema in den letzten 15 Jahren schon erklärt habe. Im Moment bastele gerade an mein Layout vom Blog etwas rum. Es soll noch schöner werden. Mir Sourcecode zu senden ist wir Perlen vor die Säue werfen. Ich kann es evtl. nicht lesen. Ich baue dir Antennen selber, aber mit Code schreiben habe ich vor ca. 20 Jahren aufgeführt. . Wenn SMS geht ist GPRS nicht mehr weit. AT+CGDCONT=1,"IP","deine APN" AT#PASSW="dein Passwort" AT#USERID="deine User ID" AT#SGACT=1,1<cr> Schau mal hier rein: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1267318675/2 Du musst mit AT&K=0 das Hardwarehandshake abschalten. Ansonsten bekommst du ein Connect aber es fließt kein Byte, da das Modem meint das der Arduino nicht empfangsbereit ist. Siehe auch http://de.wikipedia.org/wiki/Datenflusssteuerung und http://arduino.cc/en/Reference/SoftwareSerialExample Schick mir mal deine Kontaktdaten (Email und Tel). Ich habe noch ein paar Ideen, welche ich hier nicht veröffentlichen möchte.
Hi Harald Danke für die Hinweise, die meisten kenne ich natürlich. Bevor ich um Hilfe rufe versuche ich es selbst die Lösung zu finden. kann es sein, dass der Leitungsweg vom Shield bzw. zum Shield bei GPRS ein anderer ist als bei GSM? Müsste ich vielleicht andere Pins Ansprechen als die, welche aus den Unterlagen hervorgehen. Sabine
Hallo Sabine, Du hast da mehrfach Deklarationen in deinem Programm. Schick bitte mal das Programm (im Zweifel als PM) dann gehe ich das durch. Grüße Frank
> kann es sein, dass der Leitungsweg vom Shield bzw. zum Shield bei GPRS > ein anderer ist als bei GSM? Müsste ich vielleicht andere Pins > Ansprechen als die, welche aus den Unterlagen hervorgehen. Die Wege zu GPS und GSM sind nicht gleich. Das GSM-Modul ist am UART ohne Handshakeleistungen RTS und CTS. Daher musst du mit AT&K=0 due Flusskontrolle deaktivieren. Das GPS-Modul ist am SPI-Bus. Ich würde mich ersrt mal auf das GSM-Modul konzentrieren. Gruss Harald
Moin Harald, sorry, aber ich glaube ihr zwei habt euch da mistverstanden: Sabine fragte ob GP"R"S und GSM unterschiedliche Schnittstellen benutzen. Darf ich mal blöd und OT dazwischen fragen. Wo genau ist da der Unterschied? Ich dachte immer GSM sagt was über die Frequenzen aus und GPRS ist eines der Protokolle die auf GSM laufen. Stimmt das so? Korrigier mich, aber GPRS und SMS werden im gleichen Telit GE864 behandelt, also 1 Schnitstelle (UART) !? Grüße Frank
Hi Frank, GPRS ist eine Erweiterung von GSM. Ich bin schon etwas älter und mache Funk seit ca. 25 Jahren und GSM und GPS seit etwas 15 Jahren. Als ich anfing gab es nur SMS und nicht einmal CSD (Circuit Switched Data = Modemruf). GPRS und SMS laufen physikalisch auf dem gleichen UART. Logisch kann man das mittels CMUX (logisch gemulitplexter UART) trennen. Dazu musst du aber Treiber in C auf deinem uC einbinden. Das lassen wir mal lieber bei Sabine weg. SMS arbeitet im Kommadomode. Im Kommadomode wir bei einem Modem das Handshake nie benutzt. Nie stimmt nicht ganz. Siemens war vor Jahren mal so schlau GSM-Modem mit Handshake im Kommadomode zu bauen. Da alle lernfähig sind, sollte es sowas nicht mehr geben, es sei denn ein chinesisches Unternehmen weißt seine Entwickler an was zu entwickeln=kopieren. Die kopieren immer gründlich, d.h. die kopieren die Fehler mit und packen noch eigene oben drauf. ;-) Sobald CSD oder GPRS ein Connect haben sind die Handshakeleitungen aktiv. Wenn man nicht vorher mit AT&K=0 die Flusskontrolle abschaltet, bleibt das Modul stehen und wartet auf die Flankenänderung an der Handshakeleitung. Da die nie kommt bleibt das Modul an der Stelle in alle Ewigkeit stehen. Schaut mal gegen 11:00 in mein Blog unter www.gsm-module.de . Ich habe wieder mal ein sehr interessantes Thema. Gruß aus Neustadt am Rübenberge Harald
Hallo Harald, super Erklärung, danke!! Zu Sabines Problem: Ich vermute aus der Beschreibung das es da 2 Probleme gibt: 1. Der Compiler meckert diverses Zeugs an was doppelt definiert wurde. 2. Die Nummer mit dem Handshake umschalten Da Du sagtest Du evtl. Kummer den Code zu lesen, kann ich euch anbieten das ich mir das anschaue und die doppelten Definitionen raus fummele. Damit solltet ihr euch auf das wesentliche konzentrieren können. Grüße aus Saudi Frank
> super Erklärung, danke!! Gerne geschehen. Ich erzähle seit ca. 15 Jahren die gleiche Geschichte. Ein Freund fragte mich vor 8 Jahren warum ich kein Buch schreibe. Ich denke darüber nach. Ich würde die AT-Behle finden und könnte auch noch bestimmen ob die richtig sind, aber andere logische Fehler würden mir 100% entgehen. Wenn du den Part übernimmst wäre das toll. Ich mache übrigens jede Woche etwas zum Thema drahtloses M2M unter http://www.gsm-module.de öffentlich und freue mich über jede Weiterempfehlung. Gruß Harald
Harald Naumann schrieb: > Ich mache übrigens jede Woche etwas zum Thema drahtloses M2M unter > http://www.gsm-module.de öffentlich und freue mich über jede > Weiterempfehlung. Bin schon am stöbern und lesen ;-) Da ich selber aus einem ganz anderen Bereich komme (E&I Montage und SPS Programmierung) betreibe ich zwar einige GSM Teilnehmer, leider habe ich nie genauer geschaut was da drin passiert. Mal schauen ob ich da was dran ändern kann ;-) Grüße Frank
Hallo Leute Mit solch einer schnellen und Informativen Reaktion habe ich nicht erwartet :-). Danke nochmals..... Also nun "In medias res": Lieber Frank, ich habe dir hier nun zwei Files angehängt. Das eine Programm, welches über GSM die SMS problemlos sendet. (inkl.Header) Vielleicht müsste ich nur im GSM_GPS_Shield.cpp unter "void GSM::sendSMS...." die GSM-SMS send befehle mit den GPRS + gewünschten AT-Befehle ersetzen. Ich habe natürlich in dieser Zeit weiter gemacht und sende dir den letzten Status des Programms inkl. der Fehlermeldungen welche ich beim compelieren bekomme. Hallo Harald Dein Beitrag ist sehr informativ und Verständlich, obwohl ich zugeben muss, dass ich nicht alles Verstanden habe. Nun,...für dich hätte ich eine Grafik mit dem Zusatz eines Beschleunigungs-Sensors und würde dich bitte, zu kontrollieren ob dieser richtig angeschlossen wurde. Hoffe, dass ZIP-Files nicht "gecanceled" werden. Danke :-) Sabine
Hallo Sabine, da ich heute ein wenig durch die Gegend reisen muss werde ich wahrscheinlich erst heute Nacht (im Flieger) drauf schauen können. Ich melde mich dann ;-) Grüße Frank
Hallo Sabine, ich kenne den Sensor nicht. Nimm den vorerst mal aus der Schaltung raus. Erst mal Funktion bei GPRS und dann kann es weiter gehen. Ich schaue mir das später noch mal an. Was machst du da überhaupt? Warum machst du das? Ist das für eine Studienarbeit? Ich bin heute zur Weiterbildung auf der Vodafone Roadshow Bluetooth Low Energy in Düsseldorf. https://www.xing.com/app/forum/seoparser/smarthome/termine-und-veranstaltungen-461192/31-5-in-dusseldorf-bluetooth-technology-roadshow-in-kooperation-mit-vodafone-jetzt-kostenfrei-registrieren-36973710/36973710/ und http://www.navispace.de/de/news/news-einzelansicht/article/navispace-organisiert-die-bluetooth-technology-roadshow-in-europa.html Ich habe zu Bluetooth Low Energy selber schon Referate gehalten und Artikel geschrieben. Tolles spannendes Thema. Grüße Harald
Hallo Frank Danke für deine Rückmeldung. Wir lesen voneinander. Gruß Sabine Hallo Harald Finde ich interessant, kann derzeit leider nicht bei der Bluetooth Technology Roadshow dabei sein. Bzgl. dessen, warum ich das mache.....Studienarbeit?...nein....ich besuche nur eine Schule wo wir ein Projekt wählen durften...und ich wählte eben dieses......ich bin fast soweit um dazu "LEIDER" zu sagen :-). Aber es ist einfach Interessant....man lernt einiges dabei....auch wenn mir sehr viel an Infos fehlt. Schönen aufenthalt in Düsseldorf Gruß Sabine
Hallo Sabine, sag noch nicht leider, Du bist ja nicht alleine ;-) Nachdem ich heute einen durchaus witzigen Tag hatte ( Kühler geplatzt, 5 Stunden in einer Hinterhofwerkstatt bei 40°C im Schatten um das Dingen zu reparieren... ) Habe ich mir jetzt mal dein Programm vorgenommen. Leider brauche ich da noch ein wenig Information von Dir: In dem Fehlertext wird von WProgramm.h gesprochen. Darf ich die haben? Dann gibt es da eine GSMGPRS.cpp, ist das die GPRS_funktioniert_nicht.txt? Wenn nicht, dann hätte ich die auch gerne ;-) Mit welcher Entwicklungsumgebung arbeitest Du? (Sollte ich das vorher überlesen haben bitte nicht böse sein ;-) ) Das wüsste ich gerne das ich versuchen kann die bei mir auch zu installieren um selber compilieren zu können. Die guten Nachrichten kommen wie immer am Ende :-D Die Fehler sehen schlimmer aus als sie sind. Da hast Du irgendwo (ich vermute in WProgramm.h) einige Deklarationen eingebaut die es schon gab. Da ist der Compiler pingelig ;-) Das bekommen wir raus und dann bekommen wir auch das Programm zum laufen. Grüße aus Saudi Frank
Lieber Frank Hoffe du hattest zumindest einen guten Flug :-). Du musst echt die absolute Power haben....nach solch einen Tag noch die Kraft zu haben, sich hinzusetzen und sich mein Programm anzusehen :-)). Echt stark. Entschuldige, irgendwie ist das gsmGPRS.cpp untergegangen. Hier ist es. Hier noch der Link zum herunterladen des Compilers . http://arduino.cc/en/Main/Software je nach verwendetem Betriebsystem: Arduino 0022 (release notes), hosted by Google Code: oder die VorgängerVersion, welche ich verwende: Arduino 0021 (release notes): Windows, Mac OS X, Linux (32 bit) (hosted by Google Code) Das WProgramm.h (u.a.) ist Standardmäßig im Compiler enthalten. Es liegt unter "\\arduino-0021\hardware\arduino\cores\arduino". Habe es dir dennoch dazu angehängt. Habe heute eine äußerst deprimierende Info von meinem zuständigen Professor bekommen. Ich muss nicht wie Anfangs festgelegt das Projekt im Juli fertig gestellt haben sondern schon nächste Woche Montag. Ich arbeite zwar fast Tag und Nacht an dem Projekt aber ich denke es nicht bis Montag zu schaffen. Die Note für dieses Projekt ist somit im "Eimer". Wie dem auch sei......ich werde es dennoch beenden. Auch nach dem Termin. Egal wie lange es Dauert. Komm wieder gesund zurück und DANKE nochmals für deinen Einsatz. Liebe Grüße Sabine
Hallo Sabine, Montag schon, ups das wird eng. Kannst Du bitte kurz den Projektumfang grob beschreiben? Reicht es wenn wir den GPRS zum rennen bekommen? Bin jetzt zu KO (soviel zur Power) um noch was Sinnvolles zu tun, ich werde morgen vormittag rein schauen. Lass den Kopf noch nicht hängen. Noch ist nicht Montag ;-) Grüße Frank
Lieber Frank Projektumfang: Es soll ein Programm auf den ATmega, das über den Telit eine GPRS-Verbindung aufbaut und anschliessend die GPS-Daten (welche ebenfalls vom GSM-GPRS-GPS-Shield kommen) an einen Webserver sendet. Der Webserver ist von mir fertig installiert, konfiguriert und horcht schon auf einen Port, durch ein Java-Programm, welches ich schon soweit fertig habe. Eine instalierte Datenbank wird ebenfalls mit dem Java-Programm befüllt. Soweit funktioniert alles. Die GPRS-Verbindung ist absolut ausreichend. Ich denke es ist nur wichtig, dass das Modul eine GPRS-Verbindung aufbauen kann. SMS ist laut Prof. leider zu wenig. Danke dir, das du dir noch die Zeit genommen hast, um mir zu antworten. Sabine
Hallo Sabine, so da bin ich dann etwas erfolgreich gewesen heute morgen: Du hast ein Problem, das die iohelper routinen von der Entwicklungsumgebung und die von deinem Programm sich nicht vertragen. Kannst Du mal versuchen der Umgebung zu sagen das nur der iohelper vom vom GSM Modul genutzt wird ? Ich vermute das wir das gleiche auch noch mit der serial.h haben. da bin ich aber noch am forschen. Ich habe es leider noch nicht geschafft die Entwicklungsumgebung zu laden. Das Netz hier im Hotel ist UAS ;-) Sobald ich das Dingen hier hab und es dann noch schaffe der Umgebung die GSM Bibliotheken bei zu bringen, dann kann ich auch mal compilieren und Dir genaueres sagen. Grüße Frank
Hallo Sabine, so da bin ich wieder: Also bei der Bibliothek zum IOHelper zum GSM Module möchte ich das Du folgendes änderst: Kommentiere bitte die Zeile wie unten gezeigt aus:
1 | ...
|
2 | #include <avr/io.h> |
3 | #define outputLow(port,pin) port &= ~(1<<pin)
|
4 | #define outputHigh(port,pin) port |= (1<<pin)
|
5 | #define toggleOutput(port,pin) port ^= (1<<pin)
|
6 | #define setInput(portdir,pin) portdir &= ~(1<<pin)
|
7 | #define setOutput(portdir,pin) portdir |= (1<<pin)
|
8 | // #define digitalRead(pinPort,pin) ((pinPort>>pin)& 1)//Eg PINB,PB4
|
9 | ...
|
mit dem serial ist es etwas schwieriger, weil ich da noch net rausgefunden habe ob wir einfach die serial.h vom GSM ignorieren können ;-) Da bin ich gerade dran. Grüße Frank
Hallo Sabine, so da bin ich wieder: Bei der SerialPort definition müssen wir leider etwas unsauber arbeiten. Nach dieser Änderungen kannst Du andere Beispielprogramme welche auf die core Bibliothek aufsetzen nicht mehr Compilieren!! Die ordentliche Lösung wäre aufwändiger und ich kann sie hier nicht testen. Suche bitte in den core Bibliotheken die HardwareSerial.h und ändere dort folgendes:
1 | ...
|
2 | extern HardwareSerial Serial; |
3 | |
4 | #if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
|
5 | extern HardwareSerial Serial1; |
6 | extern HardwareSerial Serial2; |
7 | extern HardwareSerial Serial3; |
8 | #endif
|
9 | ...
|
zu
1 | ...
|
2 | extern HardwareSerial HWSerial; |
3 | |
4 | #if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
|
5 | extern HardwareSerial HWSerial1; |
6 | extern HardwareSerial HWSerial2; |
7 | extern HardwareSerial HWSerial3; |
8 | #endif
|
9 | ...
|
Damit lässt sich das Programm dann sauber compilieren und funktioniert hoffentlich sogar auf Anhieb ;-) Sag in jedem Fall bescheid. Wenn es nicht funktioniert bitte mit Fehlerbeschreibung dann versuchen wir das zu flicken. Noch ist nicht Montag :-P Grüße Frank
Hi Frank
Sorry, habe Probleme mit dem Server. HDD defekt. Fehlersuche hat länger
gedauert.
Vielen vielen dank für deine Vorschläge....habe diese, soweit von mir
Verstanden durchgeführt.
Eine Kurzdoku mit den durchgeführten Änderungen und einer kleinen Frage
liegt bei :-).
Hoffe nichts vergessen zu habem.
-----------------------------------------------------------------------
Nun treten noch folgende Fehler auf:
In file included from
G:\arduino-0021\hardware\arduino\cores\arduino\/WProgram.h:14,
from
G:\arduino-0021\hardware\arduino\cores\arduino\WString.cpp:21:
G:\arduino-0021\hardware\arduino\cores\arduino\/HardwareSerial.h:20:1:
error: unterminated #ifndef
-----------------------------------------------------------------------
In WProgram.h kritisiert der Compiler diesen Eintrag:
#include "HardwareSerial.h"
In WString.cpp gefällt dem Compiler der Eintrag nicht:
#include "WProgram.h"
Habe dir die drei Files noch angehängt.
Du musst der absolute "Oberchecker" sein. Wie geht das 8-)????
Wo bei den Saudis bist du? Was vermutet werden kann aber dennoch die
Frage.....wss machst du....und dort....Urlaub :-)
...Sonne...Strand...."heiße" Autos (nicht auf heißes Kühlerwasser
bezogen) ;-)...
Sabine
Hallo Sabine, Bei der Änderung in HardwareSerial.h hast Du mich mistverstanden ;-) Da solltest to die "Serial" in HWSerial umbenennen. Das auskommentieren was Du gemacht hast führt zu Folgefehlern welche dann eben genau deine 3 Fehlermeldungen nach sich ziehen. Wenn ich wieder an meinem Rechner bin schicke ich Dir meine HardwareSerials.h mit der ich das Programm ohne Fehler compilieren kann. Auch wenn es mir schmeichelt, bin ich sicher nicht der Oberchecker. Habe nur etwas Erfahrung in der Fehlersuche. Eigentlich spricht diese Erfahrung sogar gegen mich. Wenn ich so gut wäre, bräuchte ich keine Fehler suchen können ;-) Die Nummer mit Saudi ist genau umgekehrt. Ich bin seid gestern in D um ein par mögliche Arbeitgeber zu treffen. Leben und arbeiten tu ich sonst in Saudi. Projektleitung und E&I Montageüberwachung sind mein Geschäft. Grüße Frank
Hi Frank Da sieht man wieder, was Erfahrung ausmacht. Musst mir einmal schreiben, wie das Leben dort so ist. Finde ich höchst Interessant :-). Schade, derzeit leider keine Zeit darüber zu "plaudern" ....;-). jetzt sieht es etwas besser aus....nur noch Serial-Fehler-Meldungen G:\arduino-0021\libraries\GSMGPRSlast\serial2.cpp:21:2: error: invalid preprocessing directive #endifVo G:\arduino-0021\libraries\GSMGPRSlast\serial2.cpp:19:1: error: unterminated #ifdef Ich sehe immer mehr, das wir nichts gelernt haben um ein beliebiges Projekt selbstständig abschiessend zu können. So etwas zieht mich echt runter. Wünsche dir das beste und dass das Meeting dein gewünschtes Ergebnis bringt. So professionell wie du bist .... :-). Sabine
Hallo Sabine, die serial2.cpp wo Du da geschickt hast ist nicht die welche der Compiler benutzt. Such bitte mal auf deinem Rechner nach serial2.cpp. Ich vermute Du wirst mehrere finden. In mind. einer davon steht in Zeile 21: #endifVo das ist ein Tippfehler und sollte #endif sein. Dannach sollte der Compiler auch durchlaufen. Das mit dem Quatschen könne wir ja mal in Ruhe nach dem Montag nachholen ;-) Grüße Frank
Hallo Frank Frühaufsteher :-)....Danke... Habe mir die Fehlermeldung natürlich auch angesehen und festgestellt, dass sich auf Zeile 21 kein solcher Befehl befindet. Habe das richtig File schon gefunden. Werde dieses erst Nachmittag weiter verfolgen können. Liebe Grüße Sabine
Hallo Frank Ich arbeite noch an den folge Fehlern. Du bist bestimmt schneller als ich. Nun treten diese Fehler noch auf. G:\arduino-0021\libraries\GSMGPRS\gsmbase.cpp: In member function 'virtual bool GSMbase::turnOn()': G:\arduino-0021\libraries\GSMGPRS\gsmbase.cpp:241: error: 'DDRA' was not declared in this scope G:\arduino-0021\libraries\GSMGPRS\gsmbase.cpp:241: error: 'PA0' was not declared in this scope G:\arduino-0021\libraries\GSMGPRS\gsmbase.cpp:244: error: 'PORTA' was not declared in this scope Arbeite am Programm und paralell dazu sehe ich mir gerade ein Guide vom Telit-"Stein" durch. Bei uns zieht ein Gewitter auf....nicht gut. Wäre nicht das erste Unwetter, wo so manch elektrisches Gerät nicht überlebt. Werde vermutlich bald alles abdrehen müssen. jetzt aber noch nicht. Wie war dein Meeting :-)? LG Sabine
Hallo Sabine, das wundert mich aber jetzt. Ich habe die Fehler hier net. ok dann versuchen wir das über Ferndiagnose: Sei bitte so lieb wärend ich raus suche wo die Dinger eigentlich definiert werden: Ich habe das Gefühl das bei dir die Dateien durcheinander geraten sind. Stelle bitte sicher das die Dateien welche Du mir geschickt hast mit den Änderungen welche wir gemeinsam durchgeführt haben auch wirklich von deinem Compiler genutzt werden Sonst suchen wir uns nen Wolf ;-) Ich geh mal suchen ob ich auch ohne Fehler was finde ;-) Grüße Frank Meeting war net schlecht, aber noch nicht mit dem gewünschten Ergebnis ;-)
Hallo Sabine, so aus welchem Grund auch immer behauptet dein Compiler (im Gegensatz zu meinem) das er die in io.h erledigten Definitionen nicht kennt. Das wundert mich, weil durch den include der iohelper.h im gsmbase.h sollte das erledigt sein. Du kannst bitte mal versuchen in der gsmbase.h folgende Zeile zu packen: #include <avr/io.h> Das könnte helfen, ist aber nicht wirklich ordentlich. Du hast doch nen Arduino mit atmega 2560 oder? Grüße Frank
Hi Frank danke für die Info, habe nach mehrmaligem compilieren ohne etwas geändert zu haben unterschiedliche Fehler. Scheint ein Fehler im Compiler zu liegen. Werde den Ursprungszustand wieder herstellen, die besagten Änderungen durchführen und dir Bescheid geben. Richtig, ich verwende den Arduino Mega 2560. Sabine
Hi Frank, alles wieder zurückgesetzt und nach etlichen Sicherstellungen und Tests ...... nun haben ich noch 2 Meldungen G:\arduino-0021\libraries\GSMGPRS\main.cpp: In function 'void blink()': G:\arduino-0021\libraries\GSMGPRS\main.cpp:367: error: 'PB7' was not declared in this scope Das ist richtig, dass dieser PIN (PB7) mit der LED zusammengeschalten ist. Welches Tool verwendest du um die Änderungen in den Files durchzuführen? Sabine
Moin Sabine Ich nutz Xcode weil ich auf nem MAC am basteln bin. Da geht aber jeder Texteditor für. Die Ports sind normalerweise alle definiert. Ich meine aber das der PortB0 oder so ähnlich benannt ist. (kann grad net schauen, hab keinen Rechner dabei) In der Hilfe im Arduino Tool stehen aber die Namen drin. Grüße Frank
Hallo Sabine wollte mal fragen wie es Dir und dem Programm so geht? Hast Du das Problem mit dem Port beheben können? Grüße Frank
Hallo Frank Danke der nachfrage... Ich habe das Problem nicht beheben können aber folgendes Festgestellt. Wenn man mit einem anderen User-Profil sich auf den PC einloggt, bekommt man unterschiediche Fehlermeldungen. Sinnlos, so weiter zu machen. Der Compiler fragt anscheinded aus dem User-Profil unter den Lokalen Einstellungen die temporären Files ab. Als ich diese gelöscht habe, waren keine Fehlermeldungen vorhanden. Leider reagierte das Modul nicht so, wie es sein sollte. Werde am Notebook alle User löschen und neu einrichten. Folgender Abnahme-Status meines Projekts: erst muss ich sagen, es ist besser gelaufen als erwartet, leider aber auch schlechter als gewollt. Damit meine ich aber nicht meinen Note. Sondern das das Modul nicht richtig agiert. Sorry, dass ich mich nicht gleich am Sonntag noch gemeldet habe, musste aber noch ein Dokumentation über das gesamte Projekt zusammenstellen. Da ich mich sehr viel mit der Modul-Programmierung "gespielt" habe, war für die Doku die Zeit etwas kanpp :-) Ohne dich hätte ich mindestens 2 Jahre gebraucht um soviel in der Fehleranalyse zu lernen. So etwas lernt man nicht in der Schule, zumindest nicht ordentlich. Ich weis nicht, ob du überhaupt nachvollziehen kannst wie du mir mit deinen Analysen geholfen hast. Und wie schon erwähnt, habe ich wirklich viel dadurch gelernt. Auch durch deine Infos bzgl. der Schnittstellen habe ich gelernt, das man zu allererst einmal die Hsrdware mit allen Schnittstellen genau kennen muss bevor man überhaupt daran denken kann ein Programm zu schreiben. Ich werden nach dem neu einrichten des Rechners das ganze Programm von vorne beginnen und neu schreiben. Denke es jetzt hinzubekommen. Wie sieht es bei dir auch? Wie laufen die Gespräche ;-)? Sabine
Hallo Sabine, gut zu lesen das Du das Problem noch ein ganzes Stück weiter eingrenzen konntest. Neugierig wie ich bin wüsste ich gerne welche Note es denn gegeben hat ;-) Wenn Du nix dagegen hast, würde ich gerne weiter mit Dir zusammen an dem Projekt arbeiten, es hat schon Spass gemacht. Das Compilerverhalten finde ich etwas schräg, aber man kann sich da sicher drauf einstellen. Es freut mich das ich etwas helfen konnte. Auch wenn ich davon ausgehe das die 2 Jahre etwas übertrieben sind ;-) Allerdings glaube ich nicht das Du das ganze Programm neu schreiben musst (solltest). Lass uns die Basis die da ist nutzen und zum laufen bringen. Schau mal in deine PM ;-) Grüße Frank
Hallo, ich will den alten Thread nicht unbedingt aufwaermen aber ich stehe genau vor dem selben Problem das ich keine GPRS Verbindung mit dem Board herstellen kann. Habt ihr das damals noch geloest bekommen? lg Lisa
Hallo Lisa, oha, ich glaube ich habe mich verlesen als ich diene E-Mail bekomme habe. Ich hatte da GPS gelesen. Ok ich hoffe mal das Du mir net zu böse bist und versuche mit Dir einen Weg zu finden. Welche Entwicklungsumgebung nutzt Du? Bekommst Du irgendeine Rückmeldung vom Modul? Wir bekommen das hin ;-) Grüße Frank
Hallo, entschuldigt die verspätete Antwort. Ich entwickle auf einem Arduino Uno und dem GPS-GSM-GPRS-Shield. Ich hab mal den ganzen Source Code angehängt er compiliert auch ohne Probleme. Ich bekomme nur leider keine IP nachdem AT#GPRS=1 und verstehe einfach nicht warum :( Anbei ein kleines Log: AT ATE0 AT+IPR=9600 AT#SIMDET=1 AT+CPIN? AT+CREG? AT+CGDCONT=1,"IP","internet.t-mobile","0.0.0.0",0,0 AT#USERID=tm AT#PASSW=tm AT#GPRS=1 danach passiert einfach nichts mehr. lg
Hallo Lisa, jut dann wollen wir mal anfangen zu wühlen ;) Leider schaffe ich es erst am Samstag in den Code zu schauen, aber worab hätte ich noch eine Frage: Aus deinem Log sehe ich das keines deiner Komandos irgendeine Rückmeldung bringt. Sehe ich das richtig? Weil wenn dem so ist, dann funktioniert die Kommunikation zum Modul noch nicht. Das wäre ein ganz wichtiger Hinweis wo wir suchen müssen ;-) Grüße Frank
Hallo, response bekomme ich aber sie werden irgendwie nicht seriel geprintet nur teilweise... also CREG wird zurueck gemeldet... ich kann auch SMS und Telefonate taetigen... ich glaube das einzige Problem ist das GRPS + HTML/PHP Request :( lg Lisa
Hallo Lisa, nich :( sonder :) Weil das ist schon die halbe Miete!! Das wir mit dem Modul reden können aber nur einen Teil der Befehle nicht umgesetzt bekommen, lässt mich vermuten das wir entweder nicht die korrekte Befehlssequenz nutzen, oder die Antwort einfach anders erwarten als sie kommt. Ich werde mich da mal schlaulesen was das Modul erwartet und vergleichen wie es ausgeführt wird im Programm ;) Grüße Frank
Hallo Lisa, da ich ja auch nimmer der Jüngste bin ;-) Ich habe gerade mal zurückverfolgt was Harald, Sabine und ich damals schon so geschrieben hatten. Dabei bin ich auf Haralds Hinweis gestoßen das in Jedem Fall das das wired handshaking abgeschaltet werden muß. Die wird mit dem Befehl AT&K=0 abgeschaltet. Neben bei bin ich irgendwie zu plööde.... Ich finde das Manual zu dem GSM Modul nicht wieder. Hast Du bitte mal einen Link für mich? Grüße Frank
Hallo Lisa, ich hab dann doch die Manuals gefunden... Ich sag ja ich werd alt :-) Also nachdem ich da etwas Studiert habe, hier mal ein par Dinge die zu prüfen sind: mit AT&V kannst Du nachschauen wie AT&K eingestellt sind. AT&K kümmert sich und die Fusskontrolle welche normalerweise auf HW-FlowControl eingestellt ist. Das Modul hat aber die nötigen strippen nicht. Also bau bitte mal ein AT&K0 in dein Programm ein Dann sollte dein AT#GPRS=1 eine dieser Rückmeldungen geben: OK +IP:xxx.xxx.xxx.xxx oder ERROR Spätestens hier wissen wir mehr ;) Viel Spass und Erfolg beim ausprobieren und lass mich das Ergebnis wissen ;-) Grüße Frank
>AT+CGDCONT=1,"IP","internet.t-mobile","0.0.0.0",0,0 >danach passiert einfach nichts mehr. > Also bau bitte mal ein AT&K0 in dein Programm ein. Ist neben Power Down Reset einer der meist gemachten Fehler. Der Arduino und auch andere uC bedienen die Flußkonrolle nicht und das Modem wartet, und wartet, und wartet, und wartet ... Gruß Harald
Hallo Harald, hast Du noch was von Lisa gehört? In jedem Fall schon mal Danke für die Hilfe, ich vermute das Problem wurde damit gelöst ;-) Ohne deinen Hinweis wäre ich da glaub ich auch net drauf gekommen. Grüße Frank
Hi Frank, ich habe nichts von Lisa gehört. Das "Problem" habe ich seit 15 Jahren auf dem Tisch. Ob früher CSD oder heute GPRS bzw. all die anderen PacketSwicht arbeitenten Systeme (EDGE, UMTS, HSPA, LTE) - die Frage wird immer wieder kommen. Gruß Harald
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.

