22. august 2003 - 15:16Der er
20 kommentarer og 2 løsninger
socket / gprs
Jeg vil gerne have mit socket program på min server, til at modtage data fra en hyperterminal og et Siemens gprs modem som sidder på en anden pc og er klient. men det funker ikke helt.
denne kommando virker og min hyperterminal skriver OK Men der modtages intet på min server for den lytter på port: xxx og det nummer kan jeg ikke få smidt ind i AT kommandoen. jeg vil også gerne have sendt en textstreng med så mit socket program kunne modtage denne streng.
Nu aner jeg ikke et flyvende næsehorm om det her, men i den PDF-fil er der jo også en e-mail adr. til support. Måske i sidste ende du kunne skrive til dem.. ;)
mickni33 >> Er det korrekt forstået, at du ønsker at lave en klient, som via dit server program, fyrer 'modem' kommandoer afsted fra en anden PC'er ? Altså i stil med Windows indbygget deling af internet-forbindelse ?
Så skal du stadig, som jeg skrev i svaret på dit andet indlægt, lave et socket client/server, hvor serveren så snakker direkte med dit modem. Igen, så skal du initiere din modem-forbindelse mod net-værket, hvor modemet selv connecter, førend du kan begynde at sende data. Under GPRS får du ikke en egentlig modem-forbindelse mod netværket, du skal betragte GPRS somom at den PC'er der har GPRS modemet er direkte tilsluttet hele internettet. Jeg vil næsten tro, at du efter d.o. kommando vil kunne køre f.eks. FTP direkte derefter, altid at OK kvitteringen er en kvittering for at modemet nu er on-line med GPRS netværket.
Du kan jo evt. starte med at simplificere opgaven lidt, ved blot at lave en alm. dial-up forbindelse mod din internet udbyder vha. ATDT<telefonnummer> - så kan du da se om du har hul igennem til dit modem. Du skal formentlig lave noget i stil med:
1) Client: Send 'kald op til 33445566' til server via ip:port. 2) Server: Modtager 'kald op til 33445566' fra port. 2a) Sender ATDT33445566 (eller lignende) til modemet og afventer OK 2b) Modemet kvitterer med bl.a. 'Connected at 33600 BPS' eller noget i den stil, og server programmet er nu klart til at modtage den egentlige tekst. 2c) Server returnerer 'OK' til Client 3) Client: Sender '<data strøm>' til server på ip:port 4) Server: Modtager '<data strøm>' og sender det direkte og uændret til det -stadig- åbne modem, og returnere status til client. 5) 3 og 4 gentages indtil hele kommunikationen er OK 6) Client: Sender 'Afslut opkald' til server 7) Server: Modtager 'Afslut opkald' og sender '++++' (normat AT 'leave datamode' kommando.) og dernæst f.eks. 'ATZ' eller 'AT&F' til modemet, hvilket afbryder forbindelsen. Status returneres til Client. 8) Client afslutter. (Evt. først efter at have sendt 'Afslutter client' til serveren, sådan at den ved hvornår den er færdig.)
mickni33 >> Hvor sidder modemet - på PLC'en eller på serveren ? Hvad "kan" PLC'eren i fht. data-overførsel ? Måske er det mest enkle at connecte til GPRS og dermed internettet, lave en simpel FTP-transfer af dataene til en bestemt IP-adresse, og så have et server-program til at overvåge den folder hvor FTP filen havner med jævne mellemrum. Du mister godt nok to-vejs kommunikationen, mens hvis PLC'eren kun skal aflevere statistiske/måledata, der ikke er tidskritiske, er det så ikke godt nok ? Hvad styrer PLC'en ?
mickni33 >> Ok, så er jeg med på "opstillingen" - så skal du få din PLC til at lave en socket connection EFTER at modem'et har kvitteret 'OK' for at GPRS-forbindelsen er oprettet. Får du den samme IP-adresse til PLC'en hver gang, kunne du måske overveje at lave din server spørge direkte på PLC'en i stedet for ?
Ja men fra en hyperterminal og der laver den koks. Men kommandoen skriver OK som om den er gået igennem men serveren siger ikke engang at der er connection.
Vi har vist bevæget os over i hvordan man snakker med en Siemens GPRS telefon, og bruger modem kommandoerne - det har vist ikke så meget med C++ at gøre mere.
Du skal have tak for hjælpen også tak til de andre som har hjulpet
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.