Mobilní telefon - send SMS

Odpovědět
Uživatelský avatar
morlor
Příspěvky: 45
Registrován: 07 lis 2013, 14:30
Kontaktovat uživatele:

Mobilní telefon - send SMS

Příspěvek od morlor »

Ahoj,
zkouším z arduina poslat AT příkaz na mobilní telefon (samsung note 3) a poslat SMS


Na PC jsem udělat jednoduchý program (visual basic), který pošle na seriový port AT příkaz na poslání SMS, to funguje SMS to odesílá.
MSComm1.Output = "AT+CMGS=" & Chr(34) & "606123456" & Chr(34)
MSComm1.Output = vbCrLf
Sleep 1000
MSComm1.Output = "ahoj lidi"
MSComm1.Output = vbCrLf
Sleep 1000
MSComm1.Output = Chr(26)
MSComm1.Output = vbCrLf

A tady je to pro ARDUINO a to neodesílá SMS proč?
Díky za info Aleš


Kód: Vybrat vše


pinMode(13, OUTPUT); 
pinMode(8, INPUT); 

port.begin(115200); 



}
 
void loop(){
 
if (digitalRead(8) == HIGH){ 
digitalWrite(13, HIGH); 

delay(1000); 
port.println("AT+CMGS=\"606123456\"");
port.println("\r");
delay(1000);
port.print("Ahoj Arduino."); 
port.println("\r");
delay(1000);
port.write(byte(26)); 
port.println("\r");
delay(1000);

digitalWrite(13, LOW); 
delay(250);
digitalWrite(13, HIGH); 
delay(1000); 
digitalWrite(13, LOW); 
delay(250);
}
 
}

Uživatelský avatar
fulda
Příspěvky: 1359
Registrován: 04 led 2016, 17:18

Re: Mobilní telefon - send SMS

Příspěvek od fulda »

sázím na port.println("\r");, raději bych tam dal port.println("\r\n");
(v tom basicu taky máš vbCrLf, tak udělej i na arduinu CR+LF)
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
DavidO
Příspěvky: 1133
Registrován: 01 kvě 2013, 21:27

Re: Mobilní telefon - send SMS

Příspěvek od DavidO »

println sám posílá konec řádku (na rozdíl od print), takže když ho použiješ, není potřeba samostatně posílat ten \r.
Viz https://www.arduino.cc/reference/en/lan ... al/println
Nenakopíroval jsi tam začátek, co přesně je "port"?
Má ten mobil seriák opravdu na 115200Bd 8N1?
Jakým způsobem posíláš na pin 8 ten "povel k akci"? Jestli to je tlačítko, tak jak je zapojené?
(a ještě bych pro sichr doporučil uplně na konec počkat, dokud na tom vstupu nebude zase low a k tomu nějaký debouncing)
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
Uživatelský avatar
morlor
Příspěvky: 45
Registrován: 07 lis 2013, 14:30
Kontaktovat uživatele:

Re: Mobilní telefon - send SMS

Příspěvek od morlor »

Tak asi tuším kde je chyba. Telefon připojím k PC přes USB kabel viz. obr.
Mobil je vlastně modem.
Pokud připojím mobil na arduino tak na USB kabelu je převodník.
Když si v mobilu otevřu aplikaci sériový terminál tak vidím co posílá arduino.
Ale telefon na to nereaguje.
Nějaký nápad jak z mobilu udělat modem?
Přílohy
modem.JPG
Uživatelský avatar
Dex
Administrátor
Příspěvky: 1519
Registrován: 16 úno 2013, 14:26

Re: Mobilní telefon - send SMS

Příspěvek od Dex »

A musí to být konkrétně tento mobil nebo jde o to posílat sms z Arduina?

Staré telefony např. Nokia 6310 ale v podstatě většina lepších telefonů té doby mají na konektoru opravdový sériový port. Stačí ošetřit napěťové úrovně (a často ani to není potřeba respektive jsou rovnou v 5V) a už to frčí.

Dále se dají sehnat GSM modemy, které obvykle opět mají opravdový sériový port - myslím něco jako TC35 od Siemense atp. tam je většinou potřeba konverze z RS-232, ale to není složité.

Na Ali i jinde jsou pak také k dispozici GSM moduly přímo pro Arduino.

S tím Samsungem by bylo nutné udělat z Arduina USB Host a nějak vyřešit ovladač pro ten mobil. Teoreticky je to asi možné, ale je to zdaleka nejkomplikovanější a dost možná i nejdražší cesta jaká mne napadá :) Pokud by místo Arduina bylo např. RPi Zero, tak to USB Host má a na linux se ovladače pro ten mobil asi seženou, ale to pak už není Arduino.
"all your robots are belong to us"
robodoupe.cz
Uživatelský avatar
morlor
Příspěvky: 45
Registrován: 07 lis 2013, 14:30
Kontaktovat uživatele:

Re: Mobilní telefon - send SMS

Příspěvek od morlor »

Ahoj,

díky za nápady. Jen jsem chtěl vyzkoušet komunikaci na mobil.
Na arduino mám modem A6 a ten je dobrý.
Uživatelský avatar
morlor
Příspěvky: 45
Registrován: 07 lis 2013, 14:30
Kontaktovat uživatele:

Re: Mobilní telefon - send SMS

Příspěvek od morlor »

Ahoj ještě dotaz. Mám modul GSM A6 - SMS to posílá i přijímá. Zkouším poslat data do servru TCP
a nedaří se. Kde dělám chybu?
Díky moc za pomoc.

Kód: Vybrat vše

MSComm1.Output = "AT+CGATT = 1"
MSComm1.Output = vbCrLf
MSComm1.Output = "AT+CGACT = 1,1"
MSComm1.Output = vbCrLf
MSComm1.Output = "AT+CIPMUX = 1"
MSComm1.Output = vbCrLf
MSComm1.Output = "AT+CIPSTART = TCP,www.morlor.com,80"
MSComm1.Output = vbCrLf
MSComm1.Output = "AT+CIPSEND GET /cidlo/cidlo.asp?tep=21&hum=91&bar=1011 HTTP/1.1"
MSComm1.Output = vbCrLf
MSComm1.Output = Chr(26)
Jirka
Příspěvky: 55
Registrován: 18 lis 2015, 12:06

Re: Mobilní telefon - send SMS

Příspěvek od Jirka »

Zdravím. Když je tady toto téma mám dotázek na SIM800.
Občas (někdy za měsíc ani jednou, jindy 5x za hodinu) na mobil, pošle nesmyslnou SMS, zazvoní nebo obojí.
V mém programu jsou definovány i SMS i zvonění. Ty když nastane požadovaný stav chodí bez problémů.
Odpovědět