Entwickler-Ecke

Sonstiges (Delphi) - Suche Lösung, um am PC SMS zu versenden - ohne SMS Gateway


trm - Mi 04.03.15 20:31
Titel: Suche Lösung, um am PC SMS zu versenden - ohne SMS Gateway
Hallo,

es gibt im Internet Anbieter, welche SMS-Versand über Gateways anbieten. Dies ist jedoch leider nicht erschwinglich für Hobby-Programmierer.


Gibt es (z.B. über Fritz-Hardeware) Lösungen (Router, USB-Geräte), welche hier ansetzen?


Danke :)

Mathias


Delete - Mi 04.03.15 20:46

Ich kann mir nicht vorstellen, daß man ohne Sender was an ein Handy senden kann. Und Sender empfangen ihre zu sendenen Inhalte nunmal von entsprechenden Gateways. Das wäre meiner Meinung nach dasselbe, als wolltest du Emails ohne Emailserver versenden.

Wenn ich über PC eine SMS zu versenden habe, dann mach ich das über Web.de, wo ich mal vor Jahren 10 Euro eingezahlt habe. Weil das natürlich nur allerseltenst benötige, hab ich dort immer noch Guthaben.

Vielleicht erzählst du mal, worum's eigentlich geht, vielleicht findet sich dann ja doch noch eine brauchbare Lösung.


Boldar - Do 05.03.15 03:21

Einige handys, vorallem Linux-Phones und einige Androids, könnten sowas über USB realisieren. Musste halt mal googlen. Da kannst du dann natürlich jede beliebige SIM-Karte rein tun, also die Kosten selbst überblicken.


jaenicke - Do 05.03.15 04:25

Wenn du einen normalen UMTS Stick an den PC anschließt, kannst du damit auch SMS senden und empfangen. Es fehlt dafür dann nur eine Software, die das Modem auch ansteuert. Ob alle Sticks genauso einfach funktionieren, weiß ich nicht.

Dafür gibt es dann Bibliotheken wie diese:
https://github.com/TurboPack/AsyncPro
Und darin die Klasse TApdSMSMessage in der Unit AdGSM.


OlafSt - Do 05.03.15 13:41

Wen all das nicht mehr klappt (was ich für durchaus wahrscheinlich halte), kann man immer noch ein GSM-Modem besorgen und anklemmen (Siemens TC-35 ist da immer beliebt). Das anzusteuern und auch noch ne SMS rauszuschicken ist dann aber schon anspruchsvoll. Ein simples "AT+SENDSMS:RufNummer:Text^Z" reicht da nicht.


trm - Do 05.03.15 19:37

Hallo.


Vielen Dank an euch für die vielen Ideen.

Zur konkreten Sachlage: Ich habe einen Terminplaner und möchte bei Bedarf eine Erinnerung an die betreffenden Kontakte senden - per SMS/Flash SMS, so zu sagen als ReCall.

Meine eigene Idee war nun, dass ich das entweder über CAPI oder eben über eine Routerfunktion oder über eine (irgendwie) angeschlossene SIM-Hnándykarte entwickeln kann. Momentan ist es nicht gravierend, es war nur eine Idee, die mir zugetragen wurde, ob so etwas möglich ist.

Das Projekt ist das Bestellbuch auf meiner Seite (Kostenloses Programm) - nogad.de
Momentan versuche ich (als ungelernter Hobbyprogrammierer) eine neue Version 4 zu entwickeln, ich überlege sogar, dies mit Quellcode frei zu geben. Die Verbreitung des Programms kenne ich leider nicht, da sich nur 3 Nutzer bei mir bisher (seit 1999) gemeldet hatten. Also ist es wohl eher ein kleines Nischenprogramm, welches kaum einer kennt.

Eure Vorschläge schaue ich mir sehr gern an - aber Rückfragen und Antworten können schon noch ein wenig auf sich warten lassen, bei mir dauert die Programmiererei wesentlich länger.

Danke :)

LG Mathias


Sinspin - Do 05.03.15 21:07

Surfstick habe ich auch gefunden. Sogar Lösungen für R-PI / Linux. Daneben gibt es noch einige mehr oder weniger verfügbaren Shields für Arduio. Je nachdem was man vorhat kann das auch eine Lösung sein.
Für deinen Anwendunsfall wäre aber sicher der Surfstick die einfachste Lösung. Einfach mal danach suchen.

Das sich bisher kaum jemand gemeldet hat kann auch bedeuten das alle anderen mit dem Programm wunschlos glücklich sind ;-)


Tankard - Do 05.03.15 22:21

HiHo,

ich hab hier sonst noch eine Lösung die man über HTTP ansprechen kann. Nachteil auf dem Handy (Android) muss noch eine Application laufen. (Testweise für mich entwickelt)

Aus der Client Seite ist die Handhabung dann aber simple:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
var
  data: TIdMultiPartFormDataStream;
begin
  data := TIdMultiPartFormDataStream.Create;
  
  data.AddFormField('phonenumber''+49000000000');
  data.AddFormField('smstext''schau mal eine sms!');
  
  IdHTTP1.Post('http://ipaddressehandy:31337/smsgateway', data);
  
  data.Free;
end;



Einzige Nachteil bis jetzt. Es erfolgt keine Authentifizierung auf dem Handy. Die könnte man aber noch hinzupacken.