Arduino Leonardo, SIM908 GSM kommunikációs probléma
Arduino Leonardo, SIM908 GSM kommunikációs probléma
Sziasztok, Arduino Leonardo és egy sim908 gsm/gprs modul között nem sikerül megvalósítanom a kommunikációt.
Ezzel a libraryvel próbáltam testelni https://code.google.com/p/gsm-shield-arduino/
Sorosan ezt azüzenetet kaptam:
DB:NO RESP
ERROR: SIM900 doesn't answer. Check power and serial pins in GSM.cpp
status=IDLE
Valószínűleg a szoftveres soros kommunikációval van a probléma, átírtam a GSM.cc ben a Rx,Tx pineket 0,1 mivel Leonardon itt talalható.
DE nem működik.
Maga a shield és a gsm modul is működik, LED visszajelzés alapján fel is jelentkezik a hálózatra.
Kérlek segítsetek ha tudtok! Közsi!
Ezzel a libraryvel próbáltam testelni https://code.google.com/p/gsm-shield-arduino/
Sorosan ezt azüzenetet kaptam:
DB:NO RESP
ERROR: SIM900 doesn't answer. Check power and serial pins in GSM.cpp
status=IDLE
Valószínűleg a szoftveres soros kommunikációval van a probléma, átírtam a GSM.cc ben a Rx,Tx pineket 0,1 mivel Leonardon itt talalható.
DE nem működik.
Maga a shield és a gsm modul is működik, LED visszajelzés alapján fel is jelentkezik a hálózatra.
Kérlek segítsetek ha tudtok! Közsi!
Re: Arduino Leonardo, SIM908 GSM kommunikációs probléma
A könyvtár a szoftveres sorosportot használja. Ez a 2....19 arduino digital lábakon lehet. D0 és D1-en nem!
Re: Arduino Leonardo, SIM908 GSM kommunikációs probléma
És hogyan tudnék 0,1 lábakon hardware serialon keresztül kommunikálni a modullal.
értelemszerűen a jumpereket felraktam a modulon, de a programkódban mit kell átírnom?
értelemszerűen a jumpereket felraktam a modulon, de a programkódban mit kell átírnom?
Re: Arduino Leonardo, SIM908 GSM kommunikációs probléma
Ahogy elnézem ezt a függvénykönytárat - sehogy
Re: Arduino Leonardo, SIM908 GSM kommunikációs probléma
Köszönöm, lehetséges, hogy azért nem tudok kommunikálni a modullal, mivel csak usb-ről kap áramot a mikrokontroller?
Re: Arduino Leonardo, SIM908 GSM kommunikációs probléma
A kapcsolási rajzot nézd meg. Lehet hogy a kialakítás olyan, hogy csak a VIn-ről vesz tápot, az 5V-ról nem.
Esetleg 5V-> GSM rendszertáp-bemenet átkötése?
Most készítem a GSM rendszeremet és szűk keresztmetszet az 5V/USB. Ebből próbálom meglesni, hogy mások hogyan oldották meg....
Esetleg 5V-> GSM rendszertáp-bemenet átkötése?
Most készítem a GSM rendszeremet és szűk keresztmetszet az 5V/USB. Ebből próbálom meglesni, hogy mások hogyan oldották meg....
Re: Arduino Leonardo, SIM908 GSM kommunikációs probléma
Hála az oszcilloszkópnak sikerült rájönnöm mi a probléma.
A libraryt hiábs definiálom máshogy mindenképp 2,3 lábon kommunikál, viszont a leonardo 2 lábon nem tud Rx-et csak is 8-12-ig.
szoftveresen 2,3 pn enged, hardver pedig csak 8-12 ig Rxet pin 2 helyett.
Igazából tanácstalan vagyok, hogy miképp lehetne működőképesre bírni.
A libraryt hiábs definiálom máshogy mindenképp 2,3 lábon kommunikál, viszont a leonardo 2 lábon nem tud Rx-et csak is 8-12-ig.
szoftveresen 2,3 pn enged, hardver pedig csak 8-12 ig Rxet pin 2 helyett.
Igazából tanácstalan vagyok, hogy miképp lehetne működőképesre bírni.
Re: Arduino Leonardo, SIM908 GSM kommunikációs probléma
Leonardo helyett másikat?
Illetve az elsődleges sorosport a Leonardoi esetén mintha az USB-re lenne...
Mi van, akkor, ha kézzel írod meg és nem egy olyan-amilyen (ismeretlen eredetű) libraryra bízod a kommunikációt?
Illetve az elsődleges sorosport a Leonardoi esetén mintha az USB-re lenne...
Mi van, akkor, ha kézzel írod meg és nem egy olyan-amilyen (ismeretlen eredetű) libraryra bízod a kommunikációt?
Re: Arduino Leonardo, SIM908 GSM kommunikációs probléma
Hát még kezdőnek érzem magam ahhoz hogy libraryt írjak. Ijesztően sok fájlból áll.
Leonardo helyett gondoltam Uno-ra, mert ott a 2,3 lábakon lehet softverSerial-lal kommunikálni.
Leonardo helyett gondoltam Uno-ra, mert ott a 2,3 lábakon lehet softverSerial-lal kommunikálni.
Re: Arduino Leonardo, SIM908 GSM kommunikációs probléma
Akár az UNO akár itt a shopban az UNO vagy a Diecimila R/3 is jó.
Libryrírást nem is kell.
1, NewSoftSerial-lal bármely lábon ki/visszaírhatsz
2, Print/read utasításokkal simán elbeszélgetsz a modullal...
3, Leonardora felrakni egy soros átjárót, így Hyperterminal alól megszólíthatod a modult....
Libryrírást nem is kell.
1, NewSoftSerial-lal bármely lábon ki/visszaírhatsz
2, Print/read utasításokkal simán elbeszélgetsz a modullal...
3, Leonardora felrakni egy soros átjárót, így Hyperterminal alól megszólíthatod a modult....
Re: Arduino Leonardo, SIM908 GSM kommunikációs probléma
Meg fogom próbálni, a newsoftserial az ugye mar integralva van a softserialba 1.5 ota?
A celom majd az lesz, hogy egy webszerverre kuldjek adatokat az analog bemenetrol, illetve egy bizonyos szint ala csokkenve kuld smst, tulajonkeppen egy tavfelugxeleti, es montoring rendszer lesz.
A celom majd az lesz, hogy egy webszerverre kuldjek adatokat az analog bemenetrol, illetve egy bizonyos szint ala csokkenve kuld smst, tulajonkeppen egy tavfelugxeleti, es montoring rendszer lesz.
Re: Arduino Leonardo, SIM908 GSM kommunikációs probléma
Ha jol ertem akkor library nelkul tudom hasznalni, ha megnyitom a softserial portot a megfelelo labon es utana AT parancsokkal iranyitom?
Re: Arduino Leonardo, SIM908 GSM kommunikációs probléma
Igen. Ugyanis a SIM900 egyszerű AT parancsokkal idomítható....
A softserial volta régebbi, a newsoftserial az újabb....
A softserial volta régebbi, a newsoftserial az újabb....
Re: Arduino Leonardo, SIM908 GSM kommunikációs probléma
Kezd összeállni a kép:
De elakad a while cilkusnál:
végtelenítve küldi az "AT+CREG?, de nincs válasz.
Illetve a modulon se villog a led, hogy felregisztrált volna a hálózatra.
Olyan mintha kikapcsolna, vagy nem tudom.
Most kezdtem végigolvasni a teljes AT listáját a SIM908-nak, remélem okosabb leszek tőle.
Valami ötlet hogy mi lehet a baj?
Kód: Egész kijelölése
int8_t answer;
int onModulePin= 8;
char aux_string[30];
char phone_number[]="+36305869058";
void setup(){
pinMode(onModulePin, OUTPUT);
Serial.begin(115200);
Serial.println("Starting...");
power_on();
delay(3000);
// sets the PIN code
sendATcommand("AT+CPIN=", "OK", 2000);
delay(3000);
Serial.println("Connecting to the network...");
while( (sendATcommand("AT+CREG?", "+CREG: 0,1", 500) ||
sendATcommand("AT+CREG?", "+CREG: 0,5", 500)) == 0 );
Serial.print("Setting SMS mode...");
sendATcommand("AT+CMGF=1", "OK", 1000); // sets the SMS mode to text
Serial.println("Sending SMS");
sprintf(aux_string,"AT+CMGS=\"%s\"", phone_number);
answer = sendATcommand(aux_string, ">", 2000); // send the SMS number
if (answer == 1)
{
Serial.println("Test-Arduino-Hello World");
Serial.write(0x1A);
answer = sendATcommand("", "OK", 20000);
if (answer == 1)
{
Serial.print("Sent ");
}
else
{
Serial.print("error ");
}
}
else
{
Serial.print("error ");
Serial.println(answer, DEC);
}
}
void loop(){
}
void power_on(){
uint8_t answer=0;
// checks if the module is started
answer = sendATcommand("AT", "OK", 2000);
if (answer == 0)
{
// power on pulse
digitalWrite(onModulePin,HIGH);
delay(3000);
digitalWrite(onModulePin,LOW);
// waits for an answer from the module
while(answer == 0){ // Send AT every two seconds and wait for the answer
answer = sendATcommand("AT", "OK", 2000);
}
}
}
int8_t sendATcommand(char* ATcommand, char* expected_answer, unsigned int timeout){
uint8_t x=0, answer=0;
char response[100];
unsigned long previous;
memset(response, '\0', 100); // Initialice the string
delay(100);
while( Serial.available() > 0) Serial.read(); // Clean the input buffer
Serial.println(ATcommand); // Send the AT command
x = 0;
previous = millis();
// this loop waits for the answer
do{
// if there are data in the UART input buffer, reads it and checks for the asnwer
if(Serial.available() != 0){
response[x] = Serial.read();
x++;
// check if the desired answer is in the response of the module
if (strstr(response, expected_answer) != NULL)
{
answer = 1;
}
}
// Waits for the asnwer with time out
}while((answer == 0) && ((millis() - previous) < timeout));
return answer;
}
Kód: Egész kijelölése
while( (sendATcommand("AT+CREG?", "+CREG: 0,1", 500) ||
sendATcommand("AT+CREG?", "+CREG: 0,5", 500)) == 0 );
Illetve a modulon se villog a led, hogy felregisztrált volna a hálózatra.
Olyan mintha kikapcsolna, vagy nem tudom.
Most kezdtem végigolvasni a teljes AT listáját a SIM908-nak, remélem okosabb leszek tőle.
Valami ötlet hogy mi lehet a baj?
Re: Arduino Leonardo, SIM908 GSM kommunikációs probléma
Megvan a probléma máris!
a modult 3v3-ról működtettem, most átraktam Vin-re.
Láss csodát rögtön kaptam az sms-t.
Tehát mindennél fontosabb az áramellátás.
Most már végre kezdődhet a tényleges alkotás, kezdek izgulni.
a modult 3v3-ról működtettem, most átraktam Vin-re.
Láss csodát rögtön kaptam az sms-t.
Tehát mindennél fontosabb az áramellátás.
Most már végre kezdődhet a tényleges alkotás, kezdek izgulni.