Kann man mit einem AVR in irgeneiner Form SMS verschicken (Nein, nicht durch das Steuern des Drückens der Tasten ;-) )?
Die Sim kann er ja lesen...
MFG
Druckbare Version
Kann man mit einem AVR in irgeneiner Form SMS verschicken (Nein, nicht durch das Steuern des Drückens der Tasten ;-) )?
Die Sim kann er ja lesen...
MFG
Also ein AVR alleine wird das nicht können ;-)
Aber ich hab jetzt schon öfters gelesen, dass man einen AVR an ein Handy anschließen kann(an die Buchse, die am Handy dran ist). Dann gibt es Befehle, über die du eine SMS verschicken kannst.
Also es gibt kleine GSM-Module die man wohl relativ problemlos an einen µC anschliessen kann...
Nur leider weiss ich nicht, wo man solche Dinger bekommen könnte.
Bei Conrad gibt es zwar sowas ähnliches unter der Bezeichnung "SECVEST 868 - GSM Modul" (such einfach nach Secvest), aber das ist speziell als Erweiterung für eine Alarmanlage vorgesehen und sündhaft teuer. Was du bräuchtest wäre im Prinzip nur das kleine Metallkästchen was auf dieser Platine sitzt, das ist nämlich das eigentliche GSM Modul, und mit Sicherheit deutlich günstiger zu haben.
Du brauchst ein GSM modul. Für SMS gibts sowas bei Reichelt von Motorolla.SMS ist damit möglich. Das Problem sind die gesetzl. Vorschriften (regtp). Wenn die nicht währen und du einen Netzbetreiber findest, könnte dein AVR das auch mit ein paar Bauteilen SMSen..Reichelt NR: GS64. Wenn du ein neueres Nokia Handy mit Symbian hast kannst du auch über Python und Kabel/IR SMS senden(AVR->Handy->Netz)
billiger als so ein GSM modul wird wohl ein altes Handy sein. Wenn da ein vollwertiges Modem eingebaut ist sollte das funktionieren. Das Siemens S25 funktioniert auf jeden Fall, aber keinen Plan ob man das noch irgendwo bekommen kann. Andere Modelle sollten auch gehen, muesste man im Internet mal recherchieren; es gibt da schon einige Projekte. Ansteuern tut man das ganze dann ueber Standardmodem Befehle via serieller Schnittstelle.
Man kann auch GSM Module verwenden, Telit stellt zum Beispiel welche her. Dann hat man ein vollwertiges "Telefon"; angesteuert wird per serieller Schnittstelle.
Problem wird hier nur sein die Dinger als Privatmann zu bekommen und dass die Teile Platinen mit Loetpunkten unten dran sind, aehnlich BGA.
Der war gut. :)Zitat:
Das Problem sind die gesetzl. Vorschriften (regtp). Wenn die nicht währen und du einen Netzbetreiber findest, könnte dein AVR das auch mit ein paar Bauteilen
Die Vorschriften sind mir eigentlich herzlich egal, aber die will ich ja einhalten. An den Funkdaten wird man nicht erkennen, wer die SMS abgesendet hat, denn es ist ja eine normale SMS. Keine Funkstörungen...
Das SECVEST sieht schon gut aus, sowas habe ich mir vorgestellt. Der Preis ist natürlich sch***, und wie heißt es so schön: Selbst ist der Mann.
Der Preis beim Reicheltteil ist natürlich auch noch schnuckelig hoch...
Ich schau mal nach dem S25
MFG und dankeschön schonmal
Mit welchen Handys geht das denn noch? Google will mir nicht helfen :-(
MFG
Bei Ebay gibts noch S25...
Schau aber ob Du für dein GSM Modem oder Handy auch den Befehlssatz für die Modembefehle kriegts.
In meinem BASCOM Buch steht, das dieser Befehlssatz je nach Handyhersteller und Typ sehr unterschiedlich sein kann.
Dann wird das ne ganz üble Sucherei.
Gibts da Tutorials/Wikis etc.? Nobbis Seite behagt mir nicht wirklich ;-)
MFG
Mit einem Handy das ein Modem eingebaut hat und dann noch eine Seriel Schnittstelle hat, kannst du per AT Befehle ganz einfach SMS verschicken.
Aber das S25 ist leider nicht so toll in sachen SMS versenden. [-(
Siehe http://www.nobbi.com/tables.htm
Nobbis Seite kenn ich, was willst du mir mit dem Link zeigen? Da ist nur die Tabellenübersicht...?!
Es kann jetz sein das ich deine Anforderunge nicht ganz genau kapiert hab, aber ich geh mal davon aus das du die Tasten nicht mechanisch steuern willst.
ich kann dir allerdings eine fertige elektriche Ansteuerung liefer die für Nokia Hanys mit "Kompass" passt und garantiert leicht auf ander Handys umzuschreiben ist.
Programm ist im Anhang (wennns funktioniert O:) ) ist mein erster Beitrag.
Hier kurze Beschreibung (bin nicht der Dokumentierer und auch kein Elektriker)
Die Tasten bestehen ja aus 2 Kontaktflächen die eine 4x5 Matrix (20 Tasten) ergeben
der Ring ist die Zeile der mittlere Punkt die Spalte (oder anders Herum)
d.h wenn du nur das Tastenfeld nutzen Willst musst du 9 drähte anlöten und fertig.
Diese werden über Optokoppler verbunden die in zwei Gruppen unterteilt sind zeile und Spalte. also OPT von zeile und Opt von Spalte anwählen und fertig (wie Schiffe versenken) Mittlerer Kontakt-Spalten OPT -Zeilen OPT-Ringkontakt.
ich hab daraus Eine Alarmanlage gebaut (für unser Vereinsheim) die eine Rundsms sendet und dann angerufen werden kann um GEGENMAßNAHMEN [-X
einleiten zu können .
Handy nimmt ab und man kann in den Raum hören wenn man die S..u hört muss mann 2s reinschreien dann ta ta ta.
Das gelöte ist einfach, schafft sogar ein Maschinenbauer.
Das programm funktioniert ist zwar sicher nicht optimal aber auch mein erstes Projekt.
so nun genug gelabert wenn du interesse Hast meld dich noch mal
Handybedienprogramm
;************************************************* ****************************************
;
;************************************************* ****************************************
;Includedatei zum anschreiben eines Handys. Die Tastenmatrix ist wie folgt auf
;die Ports A und B verteilt.Der ausenring der Zahl bezeichnet die Zeile, der innenri
;Pin PA4 PA5 PA6 PA7 PB0
;PA0 1 2 3 left lud (linke Taste unterm Display)
;PA1 4 5 6 ghr(GrünerHöhrer) up
;PA2 7 8 9 rhr(RoterHörer) down
;PA3 stern 0 raute right rud (rechte Taste unterm Display)
;-----------------------------------------------------------------------------------------
;Includedatei für ATmega16
.include "m16def.inc"
;-----------------------------------------------------------------------------------------
.def Temp = r16 ;allg. Tempregister
.def temp1 = r17
.def temp2 = r18
.def temp3 = r19
;------------------------------------------------------------------------------------------------------------------------------
;**************************** Tasten Drücken *****************************************
;---------------------------------------------------------------------------------------------------
;1 Drücken
_1: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b00010001 ;Taste drücken
out PORTA, Temp
cbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;2 Drücken
_2: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b00100001 ;Taste drücken
out PORTA, Temp
cbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;3 Drücken
_3: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b01000001 ;Taste drücken
out PORTA, Temp
cbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;left Drücken
left: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b10000001 ;Taste drücken
out PORTA, Temp
cbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;lud Drücken linke Taste unter dem Display
lud: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b00000001 ;Taste drücken
out PORTA, Temp
sbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;4 Drücken
_4: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b00010010 ;Taste drücken
out PORTA, Temp
cbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;5 Drücken
_5: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b00100010 ;Taste drücken
out PORTA, Temp
cbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;6 Drücken
_6: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b01000010 ;Taste drücken
out PORTA, Temp
cbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;ghr Drücken ;Grüner Höhrer
ghr: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b10000010 ;Taste drücken
out PORTA, Temp
cbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;up Drücken ;Pfeil nach oben
up: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortC Bit 0 auf Ausgabe stellen
ldi Temp, 0b00000010 ;Taste drücken
out PORTA, Temp
sbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;7 Drücken
_7: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b00010100 ;Taste drücken
out PORTA, Temp
cbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;8 Drücken
_8: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b00100100 ;Taste drücken
out PORTA, Temp
cbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;9 Drücken
_9: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b01000100 ;Taste drücken
out PORTA, Temp
cbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;rhr Drücken ;Roter Höhrer
rhr: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b10000100 ;Taste drücken
out PORTA, Temp
cbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;down Drücken ;Pfeil nach unten
down: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b00000100 ;Taste drücken
out PORTA, Temp
sbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;stern Drücken
_stern: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b00011000 ;Taste drücken
out PORTA, Temp
cbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;0 Drücken
_0: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b00101000 ;Taste drücken
out PORTA, Temp
cbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;Raute Drücken
_raute: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b01001000 ;Taste drücken
out PORTA, Temp
cbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;right Drücken ;Pfeil nach rechts
right: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b10001000 ;Taste drücken
out PORTA, Temp
cbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;rud Drücken ;Rechte taste unte dem Display
rud: ;Name
rcall wbp
ldi Temp, 0b11111111 ;Port A auf Ausgabe stellen
out DDRA,Temp
sbi DDRB,0 ;PortB Bit 0 auf Ausgabe stellen
ldi Temp, 0b00001000 ;Taste drücken
out PORTA, Temp
sbi PORTB,0
rcall hp ;Taste halten
ldi Temp, 0b00000000 ;Taste loslassen
out PORTA, Temp
cbi PORTB,0
rcall wap ;nach dem Tastendruck warten
ret
;--------------------------------------------------------------------------------------------------
;********************* Zeiten für Tastendruck ************************************************** ***
;---------------------------------------------------------------------------------------------------
wbp: ;Wait befor press
rcall Delay100m ;Einstellen der Wartezeit vor dem Drücken einer Taste
rcall Delay100m
ret
;---------------------------------------------------------------------------------------------------
hp: ;Hold pressure
;Einstellen wie lange eine Taste gedrückt wird
rcall Delay100m
rcall Delay100m
ret
;---------------------------------------------------------------------------------------------------
wap: ;Wait after press
rcall Delay100m
ret
;---------------------------------------------------------------------------------------------------
;************************************************* **************************************************
Ok hab grad festgestellt, das das ja ein Experten Thema ist, und es eigentlich um Grundsätzliches geht.
(hab gehofft jemandem mit meiner Wenigkeit helfen zu können)
Naja aller Anfang ist schwer
](*,)
Ich und Experte? Sicher nicht bei diesem Thread...
Mit dem Tastendrücken würde sicher funktionierne, aber ich finde es spannender, das Handy über seinen Anschluß mit den Kommandos zu steuern. Dann könnte man auch schneller "bedienen", denn man muß nicht nach jedem Tastendruck auf das Handy warten, und unerwartete Dinge drückt man auch nicht aus Versehen irgendwie weg "Wollen Sie die Selbstzerstörung wirklich einleiten?" ;-)
MFG
Achso: Du hättest mir bestimmt geholfen, wenn ich kein Bascom nutzen würde ;-)
Hallo,
also ich verwende i-modul GSM Basic von InSys.
Läßt sich ganz einfach per RS232 ansprechen und kann
SMS versenden, sowie dient als Modem.
Die Inbetriebnahme ist auch relativ einfach.
Könnte solche Teile besorgen.
Schreibt doch mal, was euch der Spass wert wäre.
Gruß hellraider
http://www.mikrocontroller.net/topic/15194
https://www.roboternetz.de/phpBB2/ze...ag.php?t=21966
Hier mal zwei Topic zu der Sache. Generell geht es mit einem Handy + AT-Commandos, wie in den Thread beschrieben wird, kennen aber nur wenige einen Text-Mode SMS. Und bei "Mikrocontroller" gibt es auch eine Liste mit Handys, die den Text-Mode können müssten.
Ansonsten, versuch mal Google mit "AT command AVR" oder "... PIC" oder so. Hier mal paar kleine Seiten aus der Top 10 Trefferliste ;)
http://web.archive.org/web/200501230...ble-rotary.htm (cooles Projekt, wenn auch net ganz, das, was du haben wolltest :D, vor allem der src ist interessant, zumindest für mich)
http://www.wrankl.de/SMST/SMST.html
http://discussion.forum.nokia.com/fo...ad.php?t=22398
sodala, noch einen schönen Abend *sichdurcheinHaufenvonSeitenwühl*
MfG
Mobius
Nö, eher morgen ;-)
Ist jetzt mir zu spät...
Danke schön!
Achso, @ hellraider: Ich war erstmal am überlegen, wie billig es machbar wäre. Viel lege ich dafür nicht auf den Tisch, ich sage mal aus dem Bauch heraus 50€...
Hallo, sitze seit Stunden hier und versuche mein Siemens M55 mit der RS232 Schnittstelle über Hyperterminal zu verbinden. Aber das Telefon antwortet nicht. Hab auch schon ein Siemens programm gestartet, das automatisch nach dem Handy sucht. Findet aber auch nix, also liegt es ja schonmal nicht an den hyperterminaleinstellungen. Muss ich irgendetwas bei der Verbinung beachten? Hat jemand schonmal mit einem Siemens Handy und AT Befehlen gearbeitet? Kann mir hier jemand helfen?
Danke schonmal für die Antworten.
???
Vielleicht hilft dir das:
http://www.mcselec.com/index.php?opt...d=88&Itemid=57
MFG
Hallo,
hier gibt es ein gutes, dokumentiertes Beispiel:
http://www.ulrichradig.de/home/index.php/avr/avr_handy :mrgreen:
Gruß
Dirk
Hallo,
also der Beitrag von U.Radig hilft mir leider nicht so viel weiter, weil da keine Anschlußbelegung des Handys bei ist. Ich möchte ja das Kabel ersetzen. Vlieleicht ist der Fehler den ich mache ja ein anderer: Muss ich bei einer seriellen Verbindung mit dem Handy und einem PC einen Pegelwandler benutzen? Oder kann das Handy einfach so an an den PC?
Zitat: " ..Muss ich bei einer seriellen Verbindung mit dem Handy und einem PC einen Pegelwandler benutzen? Oder kann das Handy einfach so an an den PC?
...
@ terfagter ich glaub das ist schon dein Problem, den ich glaube nicht das das Handy mit den Pegeln im Pc arbeitet
Nee, dann wäre es ja nicht mein Problem. Benutze ja im Moment einen MAX232. Aber vlt, hab ich ja irgendwas falsch angeschlossen.
Also ich werde es heute Nachmittag mal so versuchen. Vlt. hab ich ja damit Erfolg:
http://www.heise.de/mobil/artikel/50892
Welches Handy benutzt du denn? Ich meine die Siemens Teile haben einen 3V Pegel und nicht 5V.
Hast du schon Funktionen geschrieben um mit dem Controller aus einem Text eine PDU Nachricht zu machen?
Gruß Philipp
Hab ein M55. Bei Heise Mobil haben sie dazu nix geschrieben. Aber genau weißt du das nicht mit dem Pegel oder?
Ich weiß nur kleiner als 5V. Ob nun 2,7 3 oder 3,3 weiß ich nicht.
Werd es einfach mal probieren.
Gruß Philipp
vieleicht hilft diese Seite
http://www.kh-gps.de/
M55 hat 19200, N, 8, 1 kein Hanshake
Mit Hyperterminal geht es normalerweise