Se afișează postările cu eticheta Neoway. Afișați toate postările
Se afișează postările cu eticheta Neoway. Afișați toate postările

miercuri, 19 august 2015

Modul GPRS cu M590 (3)

   In articolele anterioare, am facut facut teste de trimitere si receptie sms-uri cu modulul GPRS cu M590 de la Neoway.
   In timpul testelor, am incercat controlul acestui modul cu Arduino Uno, prin folosirea librariei SoftwareSerial, cum era prezentat si in articolul Tutorial: Control AC outlets via SMS, dar nu am reusit sa trimit sau sa receptionez comenzi, eventual niste semne ciudate, asa ca am folosit un Arduino Mega si am conectat comunicatia la Rx2 si Tx2 prin intermediul convertorului de nivel logic de 5V la 3,3V.
   Repetand experimentele, am constatat desi schema de conectare cu Uno e corecta, in ecranul de monitorizare seriala apar caractere ciudate si, am banuit, ca-s problenme cu viteza de transfer de 115200bps, desi in documentatia de pe site-ul Arduino zice ca functioneaza si la aceasta (vedeti articolul SoftwareSerial: begin(speed), dar intr-un material de la https://github.com/arduino/Arduino/issues/2019 apare ca-s probleme la viteza asta..
   De data asta, "am venit cu lectia invatata" si am refacut schema de conectare cu Arduino Mega si schimbat viteza de transfer (baud rate) cu comanda AT+IPR=9600...folosindu-ma de sketch-ul M590_mega_serialtest2.ino
si am schimbat si in sketch la 9600 in loc de 115200 si am dat comenzile AT:
si e in regula, doar ca trebuie date comenzi mai rar...
   Am realizat schema de conectare la Arduino Uno (un VISduino Uno, in cazul de fata) si am dat comenzi AT de verificare, dupa ce am incarcat sketch-ul M590_softwareserial.ino:
   Am completat schema cu cele 4 leduri inseriate cu rezistente si, dupa ce am incarcat un sketch modificat, in sensul de a introduce niste intarzieri intre comenzi de 2,5 secunde, am facut teste:
- am dat comand apentru aprinderea celor 4 leduri:
- am dat comanda sa fie aprinse cele 2 leduri din mijloc 
- am dat comanda sa fie aprinse cele 2 leduri din exterior:
   Pentru a fi mai convingator, am facut 2 filmulete:
SMS control 4 leds using M590 GPRS module and Arduino (2)
20.08.2015
   Am deconectat placa Arduino de la calculator si am alimentat-o din sursa externa de 4,2V in conectorul unde este inscriptionat 5V si am reluat testele... functioneaza fara probleme, in plus, este ca un modul independent, in locul led-urilor se pot pune relee, care comanda becuri, motoare, ventilatoare, camere, etc sau prin optocuploare (pentru a proteja montajele si utilizatorii) se pot comanda triace/tiristoare, care la randul lor aprind becuri, alimenteaza motoare de la retea...
   Am facut inca 2 filmulete, pentru a fi mai clar:
   In locul convertorului de nivel logic, de-l folosesc eu, se poate folosi schema din manualul tehnic de utilizare:
in care VCCI) (pinul 6 al lui M590) este o tensiunea de referinta de 2,85V pentru comenzile logice. RXD_GPRS este pinul 7 de la M590, iar TXD_GPRS este pinul 8 de la M590.
   MCU_TXD si MCU_RXD sunt pinii de receptie, respectiv transmisie date ale microcontorlerului sau placii de dezvoltare Arduino, in cazul nostru.

Atentie: Tensiunea sursei externe de alimentare este de +4,6V nu de +4,2V deoarece modulul chinezesc arata cu 0,3-0,4V mai putin decat tensiunea reala !!!

luni, 17 august 2015

Modulul GPRS cu M590 (2)

   In primul articol, am prezentat pe scurt, foarte pe scurt, modulul GPRS cu M590 produs de Neoway, care a fost cumparat de pe aliexpress (vezi link).
   Am dat comenzi AT pentru aflare informatii despre modul, cartela, semnal, retea, etc, pentru primire si receptie mesaje tip SMS.

   Am trimis mesaje catre un alt telefon prin apasarea unui buton:
   Utile sunt si comenzi date de pe telefon catre Arduino, pentru a aprinde un bec sau a controla un ventilator, o pompa, o camera, etc, asa ca am inceput sa ma documentez si am ajuns destul de repede la unul din site-urile preferate (tronixstuff.com), care are articolul Arduino and SIM900 GSM Modules.
   Dupa cate se observa, modulul M590 este similat lui SIM900, care are destula decumentatie pe internet, doar ca M590 nu are partea de voce.
   In articolul mentionat mai sus, sunt prezentate mai multe experimente, printre care si cel in care se comanda 4 led-uri printr-un sms de genul #a1b0c1d0 (care aprinde ledurile 1 si 3, iar 2 si 4 sunt stinse).
   Pentru inceput, am folosit sketch-ul in care pot monitoriza si comenzile si ce trimite modulul GPRS cu M590. Am trimis un mesaj catre modul pentru a fi sigur ca informatia se trimite corect:
   Am facut si eu conexiunile pentru a putea controla 4 leduri, fiecare este inseriat cu cate o rezistenta de 680 ohmi:
 si am dat comenzi, adica sms-uri:
   Am trimis mesaj cu comanda #a1b0c1d0:
si s-au aprins ledurile 1 si 3:
 
apoi am trimis un mesaj #a0b1c0d1:
si s-au aprins ledurile 2 si 4, iar 1 si 3 s-au stins:
 am dat comanda sa fie aprinse toate 4 ledurile
 iar pe ecranul d emonitorizare seriala apare
 si s-au aprins toate 4 ledurile:
   Am facut filmuletul numit control Arduino cu un SMS prin intermediul unui modul GPRS M590 in care se vede mai usor modul de functionare:
    Sketch-ul folosit este M590_tronixstuff_sms_control_Arduino_v1m0 si se gaseste pe canalul https://github.com/tehniq3/ !!!

Atentie: Tensiunea sursei externe de alimentare este de +4,6V nu de +4,2V deoarece modulul chinezesc arata cu 0,3-0,4V mai putin decat tensiunea reala !!!

vineri, 14 august 2015

Modul GPRS cu M590

english version


   Am cumparat un kit GPRS cu cipset-ul M590 produs de Neoway si, din lipsa de timp, l-am neglijat, pana mi l-a asambat un coleg.
   Kit-ul se compune dintr-un cablaj pentru modulul GPRS si componentele aferente:
care asamblat arata asa:
   In plus, se mai livreaza o interfata USB-FTDI care poate "lucra" si cu nivel logic 3,3V:
   Pana sa-l testez am citit documentatia tehnica "Neo_M590: Hardware Design Manual, version 1.1" si comenzile AT de baza "M590 - AT Command Sets_V3.0", realizand, totodata, si un releveu:
   Prima data am conectat modulul GPRS la o placa Arduino Mega, iar interconectarea am facut-o cu o interfata de nivel logic 5V/3,3V si un alimentator extern cu reglaj (deoarece consumul modulului e mare si asa am avut o tensiune de alimentare redusa, nu la 5V):


   Am folosit o placa Arduino Mega deoarece pot avea acces direct la ecranul de monitorizare seriala si pentru modulul GPRS folosesc alt serial (in cazul meu, TX2-RX2) si am inceput sa dau comenzi AT, inclusiv sa citesc SMS-uri primite, folosind sketch-ul M590_Mega_serialmonitor:


   Dupa ce nu am reusit sa trimit SMS prin comanda din ecranul de monitorizare seriala de la Arduino, am conectat interfata USB-FTDI la modulul GPRS si am folosit programul PuTTy.
   Pentru a configura programul, am verificat pe ce COM se "pune" interfata:
apoi intrat la configurari:
punad si viteza de transfer sa fie 115200, apoi am tastat comenzi AT:
pana mi-am dat seama ce problema era... si era, in sensul ca trebuia sa trec modulul GPRS in modul SMS de tip text, prin comanda AT+CMGF=1, apoi trebuie trecut setul de caractere GSM (in mod normal e UCS2) prin comanda AT+CSCS="GSM", apoi se da comanda pentru a seta numarul destinatiorului AT+CMGS="07....5" si apoi se introduce textul urmat de CTRL si Z (0x1A).
   Am refacut montajul cu Arduino Mega si am putut trimite mesaje SMS, la fiecare pornire, folosind sketch-ul M590_Mega_sms_sender_v1m0:

   Am facut si 2 filmulete cu un montaj in care am pus un buton pentru trimitere mesaj; dupa apasare buton se aprinde LED-ul de pe placa (cel conectat la D13) si se trimite un sms, dupa cum e facut sketch-ul M590_Mega_sms_sender_1button_ver1m0, iar schema de conectare este
,
   Cele 2 filmulete:

  Am facut o captura de ecran cu comenzi AT si raspunsul modulului GPRS cu M590:
Atentie: Tensiunea sursei externe de alimentare este de +4,6V nu de +4,2V deoarece modulul chinezesc arata cu 0,3-0,4V mai putin decat tensiunea reala !!!