Stránka 1 z 1
Mobilní telefon - send SMS
Napsal: 15 čer 2020, 09:45
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);
}
}
Re: Mobilní telefon - send SMS
Napsal: 15 čer 2020, 10:42
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)
Re: Mobilní telefon - send SMS
Napsal: 15 čer 2020, 16:20
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)
Re: Mobilní telefon - send SMS
Napsal: 16 čer 2020, 09:23
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?
Re: Mobilní telefon - send SMS
Napsal: 16 čer 2020, 09:35
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.
Re: Mobilní telefon - send SMS
Napsal: 17 čer 2020, 08:12
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ý.
Re: Mobilní telefon - send SMS
Napsal: 13 srp 2020, 15:17
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)
Re: Mobilní telefon - send SMS
Napsal: 26 zář 2020, 05:28
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ů.