Fråga:
Hur kommunicerar jag Arduino-kortet med SIM900?
Avelino
2015-03-21 07:54:15 UTC
view on stackexchange narkive permalink

Jag har problem. Jag köpte ett SIM900-kort, men jag kan inte ansluta det till Arduino. För att skicka AT-kommandon på serien svarar inte SIM900, men lysdioden indikerar att nätverket är på. Jag har försökt ändra överföringshastigheten 9600 till 19200 i Arduinos firmware, men det misslyckas fortfarande. Jag tror att jag har problem med anslutningarna till SIM900, eftersom det här kortet ser ut som oklart (kunde inte hitta schemat på Internet)

Brädet jag har är identiskt med detta: enter image description here

Jag är 90% säker på att jag ansluter till fel stift. Men jag försökte vända byglarna och till och med några lödstift på UART.

Intressant ... Jag har tittat mycket på de olika tillgängliga GPRS / GSM / GPS-korten nyligen med SIM 900 eller 908. Jag såg ditt kort på eBay och var ganska intresserad, men till slut bestämde jag mig för att vänta som Jag kunde inte hitta några bibliotek för just det kortet. Tyvärr, det är inte mycket hjälp för dig. Jag ska söka igen och se vad jag kan komma på. :-)
Om du är intresserad av ett GPRS-kort rekommenderar jag att du köper [EFCOM] (http://www.elecfreaks.com/wiki/index.php?title=EFCom_GPRS/GSM_Shield). Jag arbetade med henne och hade aldrig problem. Men jag måste studera på universitetet, och det tar lång tid att komma till Brasilien, för att inte tala om priset, dollarn kostar R $ 3,22 :( ($ 1 Dollar = R $ 3,22 Real) [länk ebay] (http: //www.ebay.com/itm/GSM-GPRS-Shield-Wireless-Extension-Board-Module-w-Antenna-Adapter-for-Arduino-/261730751475?pt=LH_DefaultDomain_0&hash=item3cf05e53f3). Det sägs för detta. här i Brasilien: "Det billiga är dyrt"
Jag lyckades lösa problemet. Jag kopplade marken på SIM900, Arduino-marken. Det fungerade för mig :)
Utmärkta nyheter! Du bör svara på din fråga genom att lägga upp lösningen, med kanske ett foto eller diagram över brädestiften som behövde anslutas, och sedan markera frågan som besvarad ... Det kommer förmodligen att hjälpa någon annan. :-)
Ett svar:
Avelino
2015-03-24 00:52:41 UTC
view on stackexchange narkive permalink

Jag berättar vad som fungerade för mig, för jag hittade inte schemat för denna tavla. Men kortet kan fungera annorlunda, så det är alltid bra att kontrollera databladet och schemat (om du har en).

Power

Var säker att använda en extern 5V-källa som kan leverera upp till 2A utan att doppa markant.

Kod>

  #include <SoftwareSerial.h>SoftwareSerial GPRS (7, 8); // 7 = TX, 8 = RXunsignad char buffert [64]; portintantal = 0; int i = 1; // om i = 0, skicka SMS.void setup () {// delay (10000); GPRS. Började (19200); // GPRS-överföringshastigheten Serial.begin (19200); // Serial port of Arduino baud rate. Serial.print ("Jag är redo"); Serial.print ("Hej?"); } void loop () {if (GPRS.available ()) {// if date is coming from softwareserial port == > data kommer från gprs-sköld medan (GPRS.available ()) {// läser data i char array buffert [count ++] = GPRS.read (); // skriva data i array om (count == 64) bryts; } Serial.write (buffert, antal); // om ingen dataöverföring slutar, skriv buffert till maskinvarans seriella port clearBufferArray (); // ring clearBufferArray-funktionen för att rensa lagrad data från arrayantalet = 0; // ställa räknaren för medan loop till noll} om (Serial.available ()) // om data finns tillgängliga på hårdvaruport == > data kommer från PC eller notebook GPRS.write (Serial.read ()); // skriv det till GPRS-skölden om (i == 0) {GPRS.print ("AT + CMGF = 1 \ r"); // skicka SMS i textläge Serial.println ("AT + CMGF = 1 \ r"); fördröjning (1000); GPRS.print ("AT + CMGS = \" + 554988063979 \ "\ r"); // telefonnummer Serial.println ("AT + CMGS = \" + 554988063979 \ "\ r"); fördröjning (1000); GPRS.print ("Test \ r"); // meddelande Serial.println ("Test \ r"); fördröjning (1000); GPRS.write (0x1A); // skicka en Ctrl + Z (meddelandets slut)
fördröjning (1000); Serial.println ("SMS skickades framgångsrikt"); i ++; }} ogiltig clearBufferArray () {// funktion för att rensa buffertmatris för (int i = 0; i<count; i ++) {buffert [i] = NULL; // rensa alla index i arrayen med kommandot NULL}}  

Connection

enter image description here

Testning ...

Öppna den seriella bildskärmen Arduino, ställ in överföringshastigheten 19200 i "Båda NL & CR". Om det inte fungerar, ställ in på "Vagnretur". Skriv "AT" och vänta på en OK.

enter image description here

Hjälp

Om du behöver hjälp var dessa länkar användbart för mig:

  1. http://www.seeedstudio.com/wiki/GPRS_Shield_V1.0
  2. http: // www.seeedstudio.com/wiki/GPRS_Shield_V2.0
  3. http://www.elecfreaks.com/wiki/index.php?title=EFCom_GPRS/GSM_Shield
En extern extern strömförsörjning på 1A är utan tvekan otillräcklig, såvida det inte finns mycket kapacitans på själva modulen för att hantera GSM-pulsbelastningar.
Räcker USB-anslutningen från den bärbara datorn?


Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 3.0-licensen som det distribueras under.
Loading...