Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 26 odgovora
  • 12.055 pregleda

Najnovija ↓

Arduino and GSM2 Click by Mikroelektronika 21.10.2013. u 21:21 · pre 158 meseci #1
Pomagajte ljudi...

Imam problem sa ovom kombinacijom.

Pitanje je sledece: kako da debagujem serial port izmedju arduina i gsm kontrolera?
Gledao sam malo po netu i svugde pise da (imam serial -> max232) treba ukrstiti rx i tx (veza izmedju pc - arduino) ali meni to tako ne radi. Radi samo ako je rx -> rx i tx -> tx. Isto tako je i za vezu PC - gsm kontroler. Naravno tako i dobijam odgovor na AT komande.
Ali kako da proverim da li mi radi veza Arduino - GSM.
Skinuo sam Library bas za taj GSM kontoler na sajta: http://www.antrax.de/site/Onli...ents/GSM-easy-Shield::144.html
I nikako da proverim da li mi GSM odgovara na komande iz tog library-a.

Molim za pomoc...
Re: Arduino and GSM2 Click by Mikroelektronika 21.10.2013. u 22:48 · pre 158 meseci #4
za ttl uzmes 2 komada uart(ttl)2usb i iskoristis njih i to kao radi mada ako ti to treba vise od jednom u zivotu kupis neki jeftini logic analyzer .. i onda mozes da ga koristis i za uart i za spi i za ... na primer za vece brzine ja koristim par komada ovoga:
Open Workbench Logic Sniffer (50$), radi do 200MHz ali ima limitiran RAM u koji smesta semplove te je duzina sempla ogranicena samim uredjajem (moze da radi naravno i sporije od 200MHz i za brzine 100MHz i manje moze da koristi RLE komplresiju da spakuje veci sample u ram, takodje mozes da biras koliko kanala snifas - max 32linije)

za neke stvari koje su malo duze a gde nema potrebe za fancy trigerima i velikom brzinom koristio sam ovo:
Logic Shrimp v1 logic analyzer (35$), radi do 20MHz ima najosnovnije trigere i samo 4 kanala, ja ga vise ne koristim ali generalno je zanimljiv koncept sprave (zato sam je i uzeo, dobio dzaba platformu da probam neke stvari)

za sve sporije stvari (do 20MHz) gde mi treba duzi sample koristim:
saleae logic(~150$), radi do 24MHz mada max brzina zavisi od opterecenosti masine i brzine usb porta. nema svoj ram vec strimuje datu direktno preko USB-a (cim usb stucne on prestane da strimuje i prijavi gresku, meni na desktopu radi bez problema 24MHz ali na lapu mi recimo ne radi preko 10MHz na windozi dok na istom lapu na linuxu tera 24MHz bez problema).

vec neko vreme za saleae ima "klon", posto je saleae 8 portni LA koji se sastoji od realno jednog cipa i dobrog firmware-a koji se nalazi u samom usb drajveru za isti (koriste cypress cip koji nema flash nego kada ga zabodes na usb on primi firmware od drajvera i radi dok ga ne resetujes tako da je u samoj aplikaciji i firmware) tako da su realno uzeli isti cip a ti samo skines software sa saleae sajta i podmetnes mu klon i to radi ko original (ok ne bas ko original, nisu terminisani pinovi tako da na 24MHz na klonu mozes da imas malo preslusavanja i slicno, ali za SPI i UART to radi 1/1 i sa klonom). Ja sam testirao klon koji pravi itead (ovo je prica kako su ga napravili), i to bas ovaj, posto pored saleae logic-a podrzava i usbee i moze da radi kao usb blaster, tj jtag za altera fpga cipove koga quartus direktno prepoznaje a kosta samo 45$ ... e sad, pored tog klona koji pravi itead imas mnogo jeftiniju varijantu kao sto je npr ova plocka sa bleja za 10$ koja je breakout board za isti cip (CY7C68013A) a kao sto rekoh, saleae software kad mu das taj cip napuni ga software-om tako da.. (nisam probao taj breakout mada ne vidim razlog sto ne bi radio)

dakle za "treba ti jednom" ok je da budznes neko resenje, ali ako mislis da cesto pravis neki sistem gde neki cipovi medjusobno komuniciraju, neki logic analyzer ti je neophodna alatka, bez njega si ko sa analognom tehnikom bez osciloskopa
Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: Arduino and GSM2 Click by Mikroelektronika 22.10.2013. u 00:05 · pre 158 meseci #6
Pa kontao sam da ce mi trebati jednog dana tako nesto ali ne bas odmah.. ;-)
Ali koliko vidim ne moze se bez takvog alata. Cim se naidje na neki problem treba neki poseban alat... Poludeh.
Video sam na Limundu da lik prodaje neki usb logicki analizator: http://www.limundo.com/kupovin...izator-8-kanala-24MHz/17806893
Jel bi mi to radilo posao za pocetak? Vidim da si druze (bogdan.kecman) pisao o tim klonovima. Jel moze to da posluzi?
Re: Arduino and GSM2 Click by Mikroelektronika 22.10.2013. u 00:09 · pre 158 meseci #7
jbg bez alata nema zanata .. za seriski port ti je taj sa *munda skroz ok (to ti je kao ovaj od 10$) uzmes i ne razmisljas, na iole dobrom kompu ce da radi 24MHz sto je mnoooogo brze nego sto ti treba za seriski port :D uzmi i ne razmisljaj (mozes takav da nadjes za cca 10-12$ na bleju ali ces ga cekati mesec dana, ovaj ces da dobijes brzom postom "sutra")

Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: Arduino and GSM2 Click by Mikroelektronika 22.10.2013. u 00:17 · pre 158 meseci #9
nema na cemu, ako ima problema oko koristenja tu sam :)
inace samo obrati paznju ti jeftini (~10$) nemaju NIKAKVU zastitu,
eventualno imaju 1M izmedju ulaznog pina i gnd, dakle moras da pazis
signal NE SME da predje 5V. Signal ide direkt na mcu koji radi na 3.3V i
ima 5V tolerantne pinove, dakle na 5.5V pin rikne na dobardan ... tako
da .. jeli .. obrati paznju gde spajas spravu :D
Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: Arduino and GSM2 Click by Mikroelektronika 23.10.2013. u 22:10 · pre 158 meseci #10
Stigo paket.
Isprobao i radi.
Al mi nista nije jasno! :-(
Kada spojim direktno na GSM kontroler preko serijskog (arduino kao usb to ttl serial) i kucam at komande dobijam normalan odgovor ok ili zavisno od komande i to je ok.
medjutim na Saleae (koristim CH 1 i CH 2) na samo jednom kanalu dobijem i komandu i odgovor.
Mozda sam nesto pobrkao a i malko sam umoran ali zar ne bi trebalo da na jednom kanalu koji snima TX dobijem "AT" a na drugom koji snima RX dobijem odgovor "OK"?




Re: Arduino and GSM2 Click by Mikroelektronika 23.10.2013. u 22:56 · pre 158 meseci #11
kako si spojio ovo u odnosu na modul? Gde je vezan kanal0 a gde kanal1 na modul? sta su kanal 2 i 3 ?

malo nije jasno sta kucas i sta si uradio ... sto se tice iste date i na RX i na TX moguce da modul ima ECHO (obicno imaju!!) upaljen... sto znaci u terminalu kada kucas nesto ti to vidis u terminalu .. (to vidis zato sto ti je vratio modul) ..

aj pojasni sta si kako vezao, koliko ja vidim ti sa modulom pricas, sad je samo pitanje da pricas "kako valja" :D
Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: Arduino and GSM2 Click by Mikroelektronika 23.10.2013. u 23:54 · pre 158 meseci #12
E ovako da sve lepo objasnim.
Arduino TX -> TX GSM2 Click
Arduino RX -> RX GSM2 Click
Arduino 5V -> 5V GSM2 Click
Arduino GND -> GND GSM2 Click

China Saleae loger CH0 paralelno na RX
China Saleae loger CH1 paralelno na TX

Baud rate u Arduinu je 9600, (gsm ima auto) a probao sam i na 19200.
Saljem u prilogu arduino code ako nesto znaci:

Code:
 /*
GSM_easy__test.ino - This small software will perform a simple test of the GSM-easy! - Shield 
Version:     1.2
Date:        01.01.2013
Company:     antrax Datentechnik GmbH
Use with:    Arduino UNO (ATmega328) & Arduino Duemilanove (ATmega328)


This program tests the basic functions of a GSM-easy! - Shield:
- Power-On and starting sequence
- SIM-Pin hand over
- registering to the GSM network
- check GSM and GPRS status
- query some infomation, e.g. IMEI, RF signal strength, SIM card operator


Hardware test:
Testing is for use with an Arduino Duemillanove, Arduino UNO or Arduino Mega2560. Only the Arduino mainboard and the 
GSM-easy! - Shield that is to be tested are plugged together. Additional inputs and outputs on the Arduino mainboard 
should not be connected at this point.
Furthermore an external power supply that can provide at least 9V/1A MUST be connected to the Arduino mainboard. 
This is not a suggestion, but an absolute must for the operation of the wireless module on the GSM-easy! - Shield. 
The power supply via the USB port is not sufficient!

Software test:
The test software can be found here ---> http://www.antrax.de/downloads...ntrax-examples/gsm_easy__test/
and must be loaded to the a. m. hardware (= Arduino mainboard and GSM-easy! - Shield). After transferring the software 
the "Serial Monitor" of the Arduino development environment must be started(with the short key combination Strg+Shift+M 
or by using the menu via Tools - Serial Monitor).
The test software does not require a library. The test software does not include time and programmatically optimised 
processes and function calls (a test run takes approx. 45 seconds). The test software will test exclusively and in a 
comprehensible manner the basic functions of the mobile module used.
ATTENTION: you MUST set your own SIM pin!

Test result:
To see how a correct output via the "Serial Monitor" looks like see here: 
http://www.antrax.de/downloads...cols/gsm-easy__test-report.png
Some displayed outputs, for example "+CFUN:1", "+CPIN: ...", "Call ready" may vary in content and position in the 
gsm-easy__test-report.png, as this data/reactions are partly provider or SIM card dependent. The hardware of the 
tested Shield is working properly if alltogether reasonable reactions are processed on the AT commands given. 
Although no actual data exchange/voice connection is executed with this test program, all major functional areas 
are tested.

NOTE:
This test software was also used for the "test report" you received with your package. As you can see from the "AT+GSN" 
unique IMEI output, a test report is always bound to the mobile module on the Shield. 
Before asking ("my GSM-easy! does not work") please always start the test program and check the output in the "Serial Monitor".


We only use basic AT sequences (with the library), for detailed information please see the "M95_AT_Commands_V1.0.pdf"

WARNING: Incorrect or inappropriate programming of the mobile module can lead to increased fees!
*/

// pin definition
#define PWRKEY            4
#define EMERG             5
#define GSM_ON             6


String GSM_string = "\r\n\n\nTest Protocol: GSM-easy!\r\n------------------------\r\n";

//----------------------------------------------------------------------------------------------------------------------------------------------------
void setup()
{
  Serial.begin(9600);                            // 9600 Baud data rate
  Serial.print("\r\nStart Test Sequence: GSM-easy!\r\n(Please wait ... appr.45s)\r\n------------------------------\r\n");
}

//----------------------------------------------------------------------------------------------------------------------------------------------------
void loop()
{   
  //---------------------------------------------------------------------------------------------------------------
  // let's power up the shield
  // ATTENTION: you MUST set your own SIM pin!

  digitalWrite(GSM_ON, HIGH);                              // GSM_ON = HIGH --> switch on + Serial Line enable

  // Init sequence, see "M95_HardwareDesign_V1.2.pdf", page 30ff.
  // in any case: force a reset!
  digitalWrite(PWRKEY, LOW);                        // PWRKEY = HIGH
  digitalWrite(EMERG, HIGH);                        // EMERG_OFF = LOW
  delay(50);                                                                                          // wait for 50ms
  
  digitalWrite(PWRKEY, LOW);                        // PWRKEY = HIGH
  digitalWrite(EMERG, LOW);                        // EMERG_OFF = HIGH
  delay(2100);                                                                                          // wait for 2100ms
  
  digitalWrite(PWRKEY, HIGH);                        // PWRKEY = LOW
  delay(1100);                                                                                          // wait for 1100ms
  digitalWrite(PWRKEY, LOW);                        // PWRKEY = HIGH
  
  // Start and Autobauding sequence ("M95_AT_Commands_V1.0.pdf", page 35)
  delay(3000);                                                                                          // wait for 3000ms 

  //---------------------------------------------------------------------------------------------------------------
  // let's register in the GSM network with the correct SIM pin!
  // ATTENTION: you MUST set your own SIM pin!
  
  GSM_string += "Send the first AT:\r\n";
  Serial.print("AT\r");                                                 // send the first "AT" for fixing autobauding 
  WaitAndRead(1000);                                                    // wait for 10 seconds

  GSM_string += "Set Manufacturers defaults:\r\n";
  Serial.print("AT&F0\r");                                              // Manufacturers defaults
  WaitAndRead(100);                                                     // wait for 1 second
  
  //---------------------------------------------------------------------------------------------------------------
  // let's register in the GSM network with the correct SIM pin!
  // ATTENTION: you MUST set your own SIM pin! "1357" is an example only!

  GSM_string += "Query SIM status:\r\n";
  Serial.print("AT+CPIN?\r");                                           // query SIM status     
  WaitAndRead(100);                                                     // wait for 1 second
 
  GSM_string += "Enter SIM pin:\r\n";
  Serial.print("AT+CPIN=1357\r");                                       // enter pin (SIM)     
  WaitAndRead(100);                                                     // wait for 1 second
  
  delay(20000);                                                         // wait 20s. of registration in the GSM network
  
  //---------------------------------------------------------------------------------------------------------------
  // ok, the ME should be registered in the GSM network ... now let's find out all the info and stati of the module

  GSM_string += "Query register state of GSM network (20 seconds later!):\r\n";
  Serial.print("AT+CREG?\r");                                           // Query register state of GSM network
  WaitAndRead(100);                                                     // wait for 1 second

  GSM_string += "Query register state of GPRS network:\r\n";
  Serial.print("AT+CGREG?\r");                                          // Query register state of GPRS network
  WaitAndRead(100);                                                     // wait for 1 second

  GSM_string += "Query the IMEI:\r\n";
  Serial.print("AT+GSN\r");                                             // Query the IMEI
  WaitAndRead(100);                                                     // wait for 1 second

  GSM_string += "Query the RF signal strength:\r\n";
  Serial.print("AT+CSQ\r");                                             // Query the RF signal strength
  WaitAndRead(100);                                                     // wait for 1 second

  GSM_string += "Query the current selected operator:\r\n";
  Serial.print("AT+COPS?\r");                                           // Query the current selected operator
  WaitAndRead(100);                                                     // wait for 1 second

  //---------------------------------------------------------------------------------------------------------------
  // power-off the ME to avoid any error messages, caused of the Serial.print commands for the monitor

  digitalWrite(GSM_ON, LOW);                              // GSM_ON = LOW --> switch off + Serial Line disable
  Serial.print(GSM_string);
  Serial.println("--- E N D ---");

  while(1);
}

//----------------------------------------------------------------------------------------------------------------------------------------------------
// read function for the serial line
// Parameter: timeout in steps of 10ms
void WaitAndRead(int timeout)
{
  for (int i = 0; i < timeout; i++)
  {
    delay(10);
    while (Serial.available() > 0) 
    {
      char inChar = Serial.read();
      GSM_string += inChar;
    }
  }

  GSM_string += "----------\r\n";
}
//----------------------------------------------------------------------------------------------------------------------------------------------------
Re: Arduino and GSM2 Click by Mikroelektronika 24.10.2013. u 00:10 · pre 158 meseci #14
na logeru sve pinove koje ne koristis uvek vezi za vss (gnd) da ne bi
imao smece i preslusavanje na vecim brzinama .. sad cu da procitam ovo
sto si pisao kako si sta spojio pa se javljam
Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: Arduino and GSM2 Click by Mikroelektronika 24.10.2013. u 00:43 · pre 158 meseci #15
Citat:
bule0017:
Arduino TX -> TX GSM2 Click
Arduino RX -> RX GSM2 Click


zar ne treba ovo da ukrstis?!

Citat:
bule0017:
Code:

void setup()
{
  Serial.begin(9600);                            // 9600 Baud data rate
  Serial.print("\r\nStart Test Sequence: GSM-easy!\r\n(Please wait ... appr.45s)\r\n------------------------------\r\n");
}



on ce ovo da posalje na modul ?! cemu sto ne izbacis ovaj print ?

Citat:
bule0017:
Code:

void loop()
{   
  //---------------------------------------------------------------------------------------------------------------
  // let's power up the shield
  // ATTENTION: you MUST set your own SIM pin!

  digitalWrite(GSM_ON, HIGH);                              // GSM_ON = HIGH --> switch on + Serial Line enable

  // Init sequence, see "M95_HardwareDesign_V1.2.pdf", page 30ff.
  // in any case: force a reset!
  digitalWrite(PWRKEY, LOW);                        // PWRKEY = HIGH
  digitalWrite(EMERG, HIGH);                        // EMERG_OFF = LOW
  delay(50);                                                                                          // wait for 50ms
  
  digitalWrite(PWRKEY, LOW);                        // PWRKEY = HIGH
  digitalWrite(EMERG, LOW);                        // EMERG_OFF = HIGH
  delay(2100);                                                                                          // wait for 2100ms
  
  digitalWrite(PWRKEY, HIGH);                        // PWRKEY = LOW
  delay(1100);                                                                                          // wait for 1100ms
  digitalWrite(PWRKEY, LOW);                        // PWRKEY = HIGH
  
  // Start and Autobauding sequence ("M95_AT_Commands_V1.0.pdf", page 35)
  delay(3000);                                                                                          // wait for 3000ms 



ovo sve valjda teba da bude u SETUP delu a ne u LOOP-u ne zelis da inicijalizujes modul u krug vec samo jednom

Citat:
bule0017:
Code:

  //---------------------------------------------------------------------------------------------------------------
  // let's register in the GSM network with the correct SIM pin!
  // ATTENTION: you MUST set your own SIM pin!
  
  GSM_string += "Send the first AT:\r\n";
  Serial.print("AT\r");                                                 // send the first "AT" for fixing autobauding 
  WaitAndRead(1000);                                                    // wait for 10 seconds

  GSM_string += "Set Manufacturers defaults:\r\n";
  Serial.print("AT&F0\r");                                              // Manufacturers defaults
  WaitAndRead(100);                                                     // wait for 1 second
  
  //---------------------------------------------------------------------------------------------------------------
  // let's register in the GSM network with the correct SIM pin!
  // ATTENTION: you MUST set your own SIM pin! "1357" is an example only!

  GSM_string += "Query SIM status:\r\n";
  Serial.print("AT+CPIN?\r");                                           // query SIM status     
  WaitAndRead(100);                                                     // wait for 1 second
 
  GSM_string += "Enter SIM pin:\r\n";
  Serial.print("AT+CPIN=1357\r");                                       // enter pin (SIM)     
  WaitAndRead(100);                                                     // wait for 1 second
  
  delay(20000);                                                         // wait 20s. of registration in the GSM network




ovo je isto realno sve za SETUP a ne za loop


i realno taj setup ti je vise nego dovoljan da sve proveris dal radi, u loop onda stavis samo ping (0x55 o kom si pricao)

probas tako, namestis logic da ti snifa, upalis arduino i pustis ga da snifne 40 sekundi traffic-a i onda ga zaustavis i pogledas sta si dobio

Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: Arduino and GSM2 Click by Mikroelektronika 24.10.2013. u 00:52 · pre 158 meseci #16
Znas sta mi jos nije jasno...
Kako to kad spojim na arduino rx na rx i tx na tx, a arduino bacim u loop (reset i gnd) normalno mi gsm odgovara na komande. Zar ne bi trebalo da ukrstim rx i tx?
Re: Arduino and GSM2 Click by Mikroelektronika 14.02.2014. u 13:04 · pre 154 meseca #18
Evo ljudi opet ja ali sa malo drugacijim problemom.
Svo ovo sam resio i sprogramirao kako treba ali sad mi treba pomoc.
Naime imam kuci razvojni sistem Mikroelektonike EasyAVR6. E sad ocu da spojim gsm sa serijskim na ploci ali mi nikako ne uspeva.
Postavio sam pitanje na forumu mikroelektronike ali nikako da mi pomognu.
Ukratko: spojio sam RX na PD0, TX na PD1, Vcc na Vcc, Gnd na Gnd. Na GSM 2 Click je dzamper na 5V.
Probao sam gsm na drugom serial to ttl i sve radi.
Re: Arduino and GSM2 Click by Mikroelektronika 14.02.2014. u 14:02 · pre 154 meseca #19
Te klikove je pravio neko ko bas i nije mario da im sve plocice budu kompatibilne + su uveli onaj idiotski microbus samo njima znan.
Elem, ja sam imao slican problem sa RFid click plocicom, sa jednim tipom usb2serial nije htela da radi, proradila je samo sa usb2serial plocicom iz generacije ove klik plocice.
Bez obzira sto sam ispostovao sve seme i povezivanja - nisam uspeo da je nateram da prica sa mnom osim sa tom "posebnom" usb2serial.
Podrska im je 0, moram samo da pohvalim jednog decka (zaboravio sam mu ime, napisacu ako ga iskopam u mailovima) koji se iscimao i povezao sve onako kako sam mu rekao da sam ja uradio, probao i skontao da ne radi, onda je uzeo tu "noviju" usb2serial i sve je proradilo. Nije znao da mi objasni zasto im ne radi sa ovom "matorijom" usb2serial, iako je sema i kontroler isti (FT232), razlika je sto ova "nova" ima LEDare koje signaliziraju power, Rx i Tx...
Dakle, nemoj nista da te cudi, sa mikroE je sve moguce.
Potpis
There are only 10 types of people in the world:
those who understand binary, and those who don't.
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme