Taula de continguts:

Unitat de control remot GSM / SMS basada en Arduino: 16 passos (amb imatges)
Unitat de control remot GSM / SMS basada en Arduino: 16 passos (amb imatges)

Vídeo: Unitat de control remot GSM / SMS basada en Arduino: 16 passos (amb imatges)

Vídeo: Unitat de control remot GSM / SMS basada en Arduino: 16 passos (amb imatges)
Vídeo: Vacanta Mare - Caruta cu prosti (Spectacol 1997) 2024, Desembre
Anonim
Unitat de control remot GSM / SMS basada en Arduino
Unitat de control remot GSM / SMS basada en Arduino

! ! ! N O T I C E!

A causa de la millora de la torre de mòbils local a la meva zona, ja no puc utilitzar aquest mòdul GSM. La torre més recent ja no admet dispositius 2G. Per tant, ja no puc donar suport a aquest projecte.

Amb una àmplia gamma de mòduls GSM disponibles per a l’aficionat, la majoria de nosaltres vam acabar comprant-ne un. Vaig comprar un mòdul SIM800L localment i vaig acabar jugant amb les diferents ordres del mòdul.

Fent servir l’Arduino Uno i l’Arduino IDE, vaig poder convertir les meves idees en realitat. Això no va resultar fàcil, ja que el SINGLE BIGGEST Issue és la limitació de només 2 KB SRAM. Després de moltes investigacions a Internet i diferents fòrums, vaig poder superar aquesta limitació.

Diferents tècniques de programació, una millor comprensió del compilador Arduino i l'ús de la targeta SIM i l'EEPROM per a memòria addicional, van desar aquest projecte. Després d'alguns canvis al codi, es va construir i provar un prototip estable durant un període d'una setmana.

Un inconvenient de la SRAM limitada era que la unitat no podia equipar-se amb una pantalla i tecles d'usuari. Això va resultar en una reescriptura completa del codi. Sense interfície d'usuari, l'única opció que quedava per continuar amb el projecte era fer ús de missatges SMS per configurar la unitat, així com els usuaris.

Aquest va resultar ser un projecte apassionant i es van afegir més futurs a mesura que el desenvolupament continuava.

El meu objectiu principal era mantenir-me amb l’Arduino Uno o, en aquest cas, amb l’ATMEGA328p, i no utilitzar cap component de muntatge superficial. Això farà que sigui més fàcil per al públic en general copiar i construir la unitat.

Especificació de la unitat:

  • Es poden programar un màxim de 250 usuaris a la unitat
  • Quatre sortides digitals
  • Quatre entrades digitals
  • Cada sortida es pot configurar com una sortida PULSE o ON / OFF
  • La durada del pols de sortida es pot establir entre 0,5 i 10 segons
  • Cada entrada es pot configurar per activar els canvis desactivats a activats.
  • Es pot configurar cada entrada per activar els canvis d’ACTIVAT a DESACTIVAT
  • Cada temps de retard d'entrada es pot establir entre 0 segons i 1 hora
  • Els missatges SMS per als canvis a les entrades es poden enviar a 5 usuaris diferents
  • L'usuari pot definir els noms i el text d'estat de cada entrada
  • L'usuari pot definir els noms i el text d'estat de cada sortida
  • La unitat es pot configurar per rebre missatges de saldo de la targeta SIM mitjançant missatgeria USSD.
  • Tots els usuaris poden sol·licitar actualitzacions d'estat d'E / S de la unitat
  • Tots els usuaris poden controlar les sortides individuals mitjançant missatges SMS
  • Tots els usuaris poden controlar les sortides individuals trucant a la unitat

Funcions de seguretat

  • La configuració inicial de la unitat només es pot fer a la unitat.
  • La configuració inicial només la pot realitzar l’USUARI MÀSTER
  • Les ordres de configuració inicial es desactiven automàticament al cap de deu minuts.
  • Només les trucades i els SMS enviats per usuaris coneguts poden controlar la unitat
  • Els usuaris només poden operar les sortides que els assigni l’USUARI MÀSTER

Altres característiques

  • Les trucades a aquesta unitat són gratuïtes, ja que la trucada mai no es respon.
  • Quan es truca a la unitat, la trucada només caurà al cap de 2 segons. Aquesta és una confirmació per a la persona que truca que la unitat ha respost a la trucada.
  • Si el proveïdor de serveis de la targeta SIM admet missatges USSD, l’usuari principal pot fer consultes sobre el saldo. El missatge USSD que conté el saldo es reenviarà a l'USUARI MÀSTER.

Pas 1: font d'alimentació

Font d'alimentació
Font d'alimentació

Per garantir que la unitat es pugui connectar a sistemes de seguretat estàndard (sistemes d’alarma, portes de garatge elèctriques, motors de portes elèctriques), la unitat s’alimentarà a partir de 12 V CC, que normalment està disponible en aquests sistemes.

L'alimentació s'aplica als terminals de 12V IN i 0V i està protegida per un fusible d'1A. Hi ha disponibles terminals OUT 12V addicionals i també estan protegits pel fusible.

El díode D1 protegeix la unitat contra les connexions de polaritat inversa de les línies de 12 V.

Els condensadors C1 i C2 filtren qualsevol soroll present a les línies de subministrament de 12V. L’alimentació de 12V s’utilitza per alimentar els relés de la unitat.

El subministrament de 5 V consisteix en un regulador de tensió LM7805L i produeix un +5 V estable necessari per al mòdul SIM800L GSM, així com el microprocessador. Els condensadors C3 i C4 filtren qualsevol soroll que podria haver-hi a la línia de subministrament de + 5V. Es van utilitzar condensadors electrolítics de grans dimensions, ja que el mòdul SIM800L GSM utilitza força energia en transmetre.

No es requereix dissipador de calor al regulador de tensió.

Pas 2: entrades digitals

Entrades digitals
Entrades digitals
Entrades digitals
Entrades digitals

Els senyals d’entrada digital són de 12V i s’han d’interfacer amb el microcontrolador de 5V. Per a això, s’utilitzen acobladors opto per aïllar els senyals de 12V del sistema de 5V.

La resistència d'entrada 1K limita el corrent d'entrada a l'acoblador opto a uns 10 mA.

A causa de les limitacions d’espai, no hi havia espai disponible a la placa PC per a resistències de tracció de 5V. El microcontrolador està configurat per permetre que els pins d'entrada siguin febles.

Sense cap senyal present a l’entrada (BAIX) de l’acoblador opto, no correrà cap corrent a través del LED d’acoblament opto. Així, el transistor d’acoblament opto està apagat. El dèbil estirament del microcontrolador farà pujar el col·lector fins a gairebé 5 V i serà vist com una lògica ALTA pel microcontrolador.

Amb 12V aplicats (ALT) a l’entrada de l’acoblador opto, uns 10 mA fluiran a través del LED d’acoblament opto. Així, el transistor d’acoblament opto s’encendrà. Això farà baixar el col·lector fins a gairebé 0V i el microcontrolador el veurà com una lògica BAIXA.

Tingueu en compte que l’entrada que veu el microcontrolador s’inverteix en comparació amb l’entrada de 12V.

El codi normal per llegir el pin d'entrada és el següent:

entrada booleana = digitalRead (pin d'entrada);

Per corregir el senyal invertit, utilitzeu el codi següent:

entrada booleana =! digitalRead (pin d'entrada); // NOTA el! davant de la lectura

Ara, l’entrada que veu el microcontrolador es correspondrà amb l’entrada de l’entrada de 12V.

El circuit d’entrada final consta de 4 entrades digitals. Cada entrada està connectada a terminals de la placa PC.

Pas 3: Sortides digitals

Sortides digitals
Sortides digitals
Sortides digitals
Sortides digitals
Sortides digitals
Sortides digitals

Normalment, amb un circuit que condueix només un nombre mínim de relés, la millor manera és utilitzar un circuit de control de transistors com es mostra. És senzill, de baix cost i eficaç.

Les resistències ofereixen un desplaçament cap a terra i una limitació de corrent de la base del transistor. El transistor s’utilitza per augmentar el corrent disponible per accionar un relé. Amb només 1 mA extret del pin del microcontrolador, el transistor pot canviar una càrrega de 100 mA. Més que suficient per a la majoria de tipus de relés. El díode és un díode de retrocés, que protegeix el circuit contra pics d’alta tensió durant la commutació de relés. L’avantatge afegit d’utilitzar aquest circuit és que la tensió de funcionament del relé pot ser diferent de la tensió del microcontrolador. Així, en lloc d’utilitzar un relé de 5V, es pot utilitzar qualsevol voltatge continu de fins a 48V.

Presentació de l'ULN2803

Com més relleus requereixi un projecte, més gran serà el recompte de components. Això farà que el disseny de PCB sigui més difícil i que pugui fer servir un valuós espai de PCB. Però l’ús d’una matriu de transistors, com l’ULN2803, ajudarà definitivament a mantenir la mida de la PCB petita. L’ULN2803 és ideal per a entrades de 3,3V i 5V des d’un microcontrolador i pot accionar relés de fins a 48V CC. Aquest ULN2803 té 8 circuits de transistors individuals, cadascun amb tots els components necessaris per canviar un relé.

El circuit de sortida final consisteix en un ULN3803, que condueix 4 relés de sortida de 12 V CC. Cada contacte del relé està disponible a les terminals de la placa PC.

Pas 4: oscil·lador del micro controlador

Oscil·lador de micro controladors
Oscil·lador de micro controladors
Oscil·lador de micro controladors
Oscil·lador de micro controladors
Oscil·lador de micro controladors
Oscil·lador de micro controladors

Circuit d’oscil·ladors

El microcontrolador necessita un oscil·lador per funcionar correctament. Per mantenir el disseny d’Arduino Uno, el circuit farà ús de l’oscil·lador estàndard de 16 MHz. Hi ha dues opcions disponibles:

Cristall

Aquest mètode utilitza un cristall connectat a dos condensadors de càrrega. Aquesta és l’opció més habitual.

Ressonador

Un ressonador és bàsicament un cristall i dos condensadors de càrrega en un sol paquet de 3 pins. Això redueix la quantitat de components i augmenta l'espai disponible a la placa PC.

Per mantenir el recompte de components el més baix possible, vaig optar per utilitzar un ressonador de 16 MHz.

Pas 5: LED d'indicació

Indicadors LED
Indicadors LED
Indicadors LED
Indicadors LED

Què serà de qualsevol circuit sense alguns LED? Es va preveure a la placa del PC LEDs de 3 mm.

Les resistències de 1 K s’utilitzen per limitar el corrent a través del LED a menys de 5 mA. Quan s’utilitzen LED de 3 mm d’alta intensitat, la brillantor és excel·lent.

Per facilitar la interpretació dels LED d'estat, s'utilitzen dos colors. Combinant els dos LED amb indicacions intermitents, només es pot obtenir molta informació a partir de dos LED.

LED vermell

El LED vermell s’utilitza per indicar les condicions d’error, els retards llargs i qualsevol ordre incorrecta.

LED verd

El LED verd s’utilitza per indicar entrades i ordres saludables i / o correctes.

Pas 6: Circuit de reinici del microprocessador

Circuit de restabliment del microprocessador
Circuit de restabliment del microprocessador

Per motius de seguretat, algunes de les funcions de la unitat només estan disponibles durant els primers 10 minuts després d’engegar-la.

Amb un botó de restabliment, no cal desconnectar l’alimentació de la unitat per restablir-la.

Com funciona

La resistència de 10K mantindrà la línia RESET prop de 5V. Quan es prem el botó, la línia RESET es posarà a 0V, mantenint així el microcontrolador restablert. Quan es deixa anar el botó, la línia RESET torna a% v, restablint el microcontrolador.

Pas 7: mòdul SIM800L

Mòdul SIM800L
Mòdul SIM800L
Mòdul SIM800L
Mòdul SIM800L
Mòdul SIM800L
Mòdul SIM800L

El nucli de la unitat és el mòdul SIM800L GSM. Aquest mòdul només utilitza 3 pins d'E / S al microcontrolador.

El mòdul es connecta al microcontrolador mitjançant un port sèrie estàndard.

  • Totes les ordres a la unitat s’envien a través del port sèrie mitjançant ordres AT estàndard.
  • Amb una trucada entrant o quan es rep un SMS, la informació s’envia al microcontrolador a través del port sèrie mitjançant text ASCII.

Per estalviar espai, el mòdul GSM està connectat a la placa PC mitjançant una capçalera de 7 pins. Això facilita l’eliminació del mòdul GSM. Això també permet a l'usuari inserir / treure fàcilment la targeta SIM a la part inferior del mòdul.

Cal una targeta SIM activa i la targeta SIM ha de poder enviar i rebre missatges SMS.

Configuració del mòdul SIM800L GSM

En engegar la unitat, el pin de restabliment del mòdul GSM es posa baix durant un segon. Això garanteix que el mòdul GSM només s’engegui després que s’hagi estabilitzat la font d’alimentació. El mòdul GSM triga un parell de segons a reiniciar-se, així que espereu 5 segons abans d’enviar cap ordre AT al mòdul.

Per assegurar-vos que el mòdul GSM està configurat per comunicar-se correctament amb el microcontrolador, s’utilitzen les següents ordres AT durant l’inici:

AT

s’utilitza per determinar si hi ha disponible un mòdul GSM

A + CREG?

Interrogant aquesta ordre fins que el mòdul GSM estigui registrat a la xarxa de telèfons mòbils

AT + CMGF = 1

Estableix el mode de missatge SMS a ASCII

AT + CNMI = 1, 2, 0, 0, 0

Si hi ha SMS disponibles, envieu els detalls del SMS al port sèrie del mòdul GSM

AT + CMGD = 1, 4

Suprimiu els missatges SMS emmagatzemats a la targeta SIM

AT + CPBS = / "SM

Configureu la guia telefònica del mòdul GSM a la targeta SIM

AT + COPS = 2, després AT + CLTS = 1, després AT + COPS = 0

Estableix l'hora del mòdul GSM a l'hora de la xarxa del mòbil

Espereu 5 segons per definir el temps

AT + CUSD = 1

Activeu la funció de missatgeria USSD

Pas 8: el micro controlador

El micro controlador
El micro controlador
El micro controlador
El micro controlador
El micro controlador
El micro controlador

El micro controlador és un AtMega328p estàndard, el mateix que s’utilitza a l’Arduino Uno. Per tant, el codi és comparable amb tots dos. Per permetre una fàcil programació a bord, hi ha disponible una capçalera de programació de 6 pins a la placa PC.

Les diferents seccions de la unitat estan connectades al microprocessador i inclouen el següent:

  • Quatre entrades digitals
  • Quatre sortides digitals
  • L’oscil·lador
  • Dos indicadors LED
  • Restableix el circuit
  • Mòdul GSM SIM800L

Totes les comunicacions cap i des del mòdul GSM es fan mitjançant la funció SoftwareSerial (). Aquest mètode es va utilitzar per alliberar el port sèrie principal de l'IDE Arduino durant la fase de desenvolupament.

Amb només 2 KB de SRAM i 1 KB d'EEPROM, no hi ha prou memòria per emmagatzemar més d'un parell d'usuaris que es poden enllaçar a la unitat. Per alliberar l’SRAM, tota la informació de l’usuari s’emmagatzema a la targeta SIM del mòdul GSM. Amb aquesta disposició, la unitat pot atendre fins a 250 usuaris diferents.

Les dades de configuració de la unitat s’emmagatzemen a EEPROM, separant així les dades dels usuaris i les dades del sistema.

Encara hi ha diversos pins d'E / S de recanvi disponibles, no obstant això, l'opció d'afegir una pantalla LCD i / o un teclat no va ser possible a causa de la gran quantitat de SRAM que utilitzen els búfers de recepció i transmissió de SoftWareSerial (), A causa de la manca de qualsevol tipus d'interfície d'usuari a la unitat, tots els paràmetres i usuaris es programen mitjançant missatges SMS.

Pas 9: Optimització de la memòria SRAM

Optimització de la memòria SRAM
Optimització de la memòria SRAM

Bastant aviat en l'etapa de desenvolupament, l'Arduino IDE va informar de poca memòria SRAM en compilar el codi. Es van utilitzar diversos mètodes per superar-ho.

Limiteu les dades rebudes al port sèrie

El mòdul GSM informarà de tots els missatges al microcontrolador al port sèrie. En rebre alguns missatges SMS, la longitud total del missatge rebut pot superar els 200 caràcters. Això pot consumir ràpidament tots els SRAM disponibles al xip AtMega i causarà problemes d’estabilitat.

per evitar-ho, només s'utilitzaran els primers 200 caràcters de QUALSEVOL missatge rebut del mòdul GSM. L'exemple següent mostra com es fa comptant els caràcters rebuts al comptador variable.

// buscar dades del port sèrie del programari

// ----------------------------------------------- RxString = ""; Comptador = 0; while (SSerial.available ()) {delay (1); // breu retard per donar temps a la col·locació de noves dades al buffer // obtenir un nou caràcter RxChar = char (SSerial.read ()); // afegiu els primers 200 caràcters a la cadena if (Counter <200) {RxString.concat (RxChar); Comptador = Comptador + 1; }}

Reducció del codi Serial.print ()

Tot i que és útil durant el desenvolupament, l'Arduino Serial Monitor pot consumir una gran quantitat de SRAM. El codi es va desenvolupar utilitzant el mínim de codi Serial.print () possible. Una de les seccions de codi s'ha provat perquè funcioni, tot el codi Serial.print () s'ha eliminat d'aquesta part del codi.

Utilitzant el codi Serial.print (F ((""))

Hi ha molta informació que normalment es mostra a l’Arduino Serial Monitor amb més sentit quan s’afegeixen descripcions. Preneu l'exemple següent:

Serial.println ("Esperant accions específiques");

La cadena "Esperant accions específiques" està corregida i no es pot canviar.

Durant la compilació del codi, el compilador inclourà la cadena "Esperant accions específiques" a la memòria FLASH.

A més, el compilador veu que la cadena és una constant, utilitzada per la instrucció "Serial.print" o "Serial.println". Durant l'arrencada del micro, aquesta constant també es col·loca a la memòria SRAM.

En utilitzar el prefix "F" a les funcions Serial.print (), indica al compilador que aquesta cadena només està disponible a la memòria FLASH. Per a aquest exemple, la cadena conté 28 caràcters. Es tracta de 28 bytes que es poden alliberar a SRAM.

Serial.println (F ("Esperant accions específiques"));

Aquest mètode també s'aplica a les ordres SoftwareSerial.print (). Com que el mòdul GSM funciona amb ordres AT, el codi conté nombroses ordres SoftwareSerial.print ("xxxx"). L'ús del prefix "F" allibera gairebé 300 bytes de SRAM.

No utilitzeu el port sèrie de maquinari

Després de la depuració de codi, el port sèrie del maquinari es va desactivar eliminant TOTES les ordres Serial.print (). Això va alliberar alguns bytes addicionals de SRAM.

Sense cap ordre Serial.print () deixada al codi, es van fer disponibles 128 bytes addicionals de SRAM. Això es va fer traient el port sèrie del maquinari del codi. Això augmenta els buffers de transmissió de 64 bytes i recepció de 64 bytes.

// Serial.begin (9600); // port sèrie de maquinari desactivat

Utilitzant EEPROM per a les cadenes

Per a cada entrada i sortida, calia desar tres cadenes. Són el nom del canal, la cadena quan el canal està activat i la cadena quan el canal està desactivat.

Amb un total de 8 canals d'E / S, seran

  • 8 cadenes que contenen els noms dels canals de 10 caràcters cadascun
  • 8 cadenes que contenen el canal A la descripció, cadascuna de 10 caràcters
  • 8 cadenes que contenen la descripció del canal Off, cadascuna de 10 caràcters

S'anuncien fins a 240 bytes de SRAM. En lloc d’emmagatzemar aquestes cadenes a SRAM, s’emmagatzemen a EEPROM. Això va alliberar 240 bytes addicionals de SRAM.

Declaració de corda amb les longituds correctes

Les variables es declaren normalment al principi del codi. Un error comú en declarar una variable de cadena és que no declarem la cadena amb el nombre correcte de caràcters.

String GSM_Nr = "";

String GSM_Name = ""; Cadena GSM_Msg = "";

Durant l’inici, el microcontrolador no assignarà memòria a SRAM per a aquestes variables. Això pot causar posteriorment inestabilitat quan s’utilitzen aquestes cadenes.

Per evitar-ho, declareu les cadenes amb el nombre correcte de caràcters que utilitzarà la cadena al programari.

String GSM_Nr = "1000000000";

String GSM_Name = "2000000000"; String GSM_Msg = "3000000000";

Fixeu-vos en com no he declarat les cadenes amb els mateixos caràcters. Si declareu totes aquestes cadenes amb "1234567890", el compilador veurà la mateixa cadena a les tres variables i només assignarà prou memòria a la SRAM per a una de les cadenes.

Pas 10: mida del buffer sèrie del programari

Programari Mida de memòria intermèdia en sèrie
Programari Mida de memòria intermèdia en sèrie

Al codi següent, notareu que es poden llegir fins a 200 caràcters des del port sèrie del programari.

// buscar dades del port sèrie del programari

// ----------------------------------------------- RxString = ""; Comptador = 0; while (SSerial.available ()) {delay (1); // breu retard per donar temps a la col·locació de noves dades al buffer // obtenir un nou caràcter RxChar = char (SSerial.read ()); // afegiu els primers 200 caràcters a la cadena if (Counter <200) {RxString.concat (RxChar); Comptador = Comptador + 1; }}

Això requereix un buffer d'almenys 200 bytes per al port sèrie del programari. per defecte, la memòria intermèdia del port sèrie del programari només té 64 bytes. Per augmentar aquest buffer, cerqueu el fitxer següent:

SoftwareSerial.h

Obriu el fitxer amb un editor de text i canvieu la mida del buffer a 200.

/******************************************************************************

* Definicions ************************************************* ****************************** / #ifndef _SS_MAX_RX_BUFF #define _SS_MAX_RX_BUFF 200 // Mida del buffer RX #endif

Pas 11: fabricació de la placa PC

Creació de la placa PC
Creació de la placa PC

El PC Board es va dissenyar amb la versió freeware de Cadsoft Eagle (crec que el nom ha canviat).

  • PC Board és un disseny d’una sola cara.
  • No s’utilitzen components de muntatge superficial.
  • Tots els components estan muntats a la placa del PC, inclòs el mòdul SIM800L.
  • No es requereixen components externs ni connexions
  • Els ponts de cable estan amagats sota els components per obtenir un aspecte més net.

Utilitzo el següent mètode per fabricar PC Board:

  • La imatge de la placa PC s’imprimeix a Press-n-Peel mitjançant una impressora làser.
  • A continuació, el Press-n-Peel es col·loca damunt d’un tros net de la placa de PC i es fixa amb una mica de cinta.
  • A continuació, es transfereix la imatge del tauler de PC des del Press-n-Peel al tauler de PC en blanc passant el tauler a través d’un laminador. Per a mi, 10 passades funcionen millor.
  • Després que la placa PC es refredi a temperatura ambient, el Press-n-Peel s’eleva lentament del tauler.
  • A continuació, la placa PC es grava amb cristalls de persulfat d'amoni dissolt en aigua calenta.
  • Després del gravat, s’elimina el tòner negre Press-n-Peel i el negre netejant la placa del PC gravada amb una mica d’acetona.
  • A continuació, es talla el tauler amb un Dremel
  • Els forats per a tots els components del forat passant es perforen mitjançant una broca d’1 mm.
  • Els connectors de cargol del terminal es perforen mitjançant una broca de 1,2 mm.

Pas 12: Muntatge de la junta del PC

Assemblea de la Junta de PC
Assemblea de la Junta de PC
Assemblea de la Junta de PC
Assemblea de la Junta de PC
Assemblea de la Junta de PC
Assemblea de la Junta de PC
Assemblea de la Junta de PC
Assemblea de la Junta de PC

El muntatge es fa afegint els components més petits primer i treballant fins als components més grans.

Tots els components que s’utilitzen en aquest manual d’instruccions, excepte el mòdul SIM800, s’han procurat del meu proveïdor local. Els sembla que sempre tenen estoc. Feu una ullada al seu lloc web sud-africà:

www.shop.rabtron.co.za/catalog/index.php

NOTA! Primer soldant els dos ponts situats sota l'IC ATMEGA328p

L'ordre és el següent:

  • Resistències i díodes
  • Botó de reset
  • Preses IC
  • Regulador de voltatge
  • Pins de capçalera
  • Condensadors petits
  • LEDs
  • Portafusibles
  • Blocs de terminals
  • Relleus
  • Condensadors electrolítics

Abans d’inserir els circuits integrats, connecteu la unitat a 12V i proveu que totes les tensions siguin correctes.

Finalment, amb una vernís transparent, cobreix el costat de coure de la placa PC per protegir-lo dels elements.

Quan la laca s'ha assecat, introduïu els circuits integrats, però deixeu el mòdul GSM fins que no s'hagi programat l'AtMega.

Pas 13: programació de l'AtMega328p

Programació de l'AtMega328p
Programació de l'AtMega328p
Programació de l'AtMega328p
Programació de l'AtMega328p
Programació de l'AtMega328p
Programació de l'AtMega328p

# # Actualització del microprogramari a la versió 3.02 # #

Els SMS habilitats s’enviaran a MASTER USER quan es restableixi l’alimentació al dispositiu

Estic fent servir un Arduino Uno amb un escut de programació per programar la unitat. Per obtenir més informació sobre com utilitzar un Arduino Uno com a programador, consulteu aquest manual:

Arduino UNO com a programador AtMega328P

Cal treure el mòdul GSM de la placa PC per accedir a la capçalera de programació. Aneu amb compte de no danyar el cable de l’antena quan traieu el mòdul GSM.

Connecteu el cable de programació entre el programador i la unitat mitjançant la capçalera de programació de la placa PC. I pengeu l’esbós a la unitat.

No es necessita la font d'alimentació externa de 12 V per programar la unitat. La placa PC s’alimentarà des de l’Arduino mitjançant el cable de programació.

Obriu el fitxer adjunt a l'IDE d'Arduino i programeu-lo a la unitat.

Després de programar, traieu el cable de programació i introduïu el mòdul GSM.

La unitat ja està llesta per al seu ús.

Pas 14: Connexió de la unitat

Connexió de la unitat
Connexió de la unitat
Connexió de la unitat
Connexió de la unitat
Connexió de la unitat
Connexió de la unitat

Totes les connexions a la unitat es realitzen mitjançant els terminals de cargol.

Alimentació de la unitat

Assegureu-vos que heu inserit una targeta SIM registrada al mòdul GSM i que la targeta SIM pot enviar i rebre missatges SMS.

Connecteu una font d’alimentació de 12V CC a la 12V IN i a qualsevol dels terminals de 0V. Un cop engegat, s’encendrà el LED vermell de la placa PC. En aproximadament un minut, el mòdul GSM hauria d'haver-se connectat a la xarxa de telèfons mòbils. El LED vermell s’apagarà i el LED vermell del mòdul GSM parpellejarà ràpidament.

Un cop assolida aquesta etapa, la unitat ja es pot configurar.

Connexions d'entrada

Les entrades digitals funcionen a 12V. Per activar una entrada, cal aplicar-hi 12V. Si traieu el 12V, l’entrada s’apagarà.

Connexions de sortida

Cada sortida consisteix en un contacte de canvi. Connecteu cada contacte segons sigui necessari.

Pas 15: Configuració inicial

Configuració inicial
Configuració inicial

La configuració inicial de la unitat s'ha de dur a terme per garantir que tots els paràmetres estiguin configurats per defecte i que la targeta SIM estigui configurada per acceptar la informació de l'usuari en el format correcte.

Com que totes les ordres es basen en SMS, necessitareu un altre telèfon per realitzar la configuració.

Per a la configuració inicial, heu d’estar a la unitat.

Establiu el número de telèfon MASTER USER

Com que només l’USUARI MÀSTER pot configurar la unitat, aquest pas s’ha de dur a terme primer.

  • La unitat ha d’estar alimentada.
  • Premeu i deixeu anar el botó Restableix i espereu que el LED vermell de la placa PC s’apagui.
  • El LED NET del mòdul GSM parpellejarà ràpidament.
  • La unitat ja està preparada per acceptar les ordres inicials de configuració. Cal dur-ho a terme en un termini de 10 minuts.
  • Envieu un missatge SMS amb MASTER, descripció al número de telèfon de la unitat.
  • Si es rep, el LED verd de la placa PC parpellejarà dues vegades.
  • Ara s’ha programat l’USUARI MÀSTER.

Restaureu la unitat als valors predeterminats de fàbrica

Després de programar l'USUARI MÀSTER, els paràmetres de la unitat s'han de configurar per defecte.

  • Envieu un missatge SMS amb només CLEARALL al número de telèfon de la unitat.
  • Si es rep, el LED verd i vermell de la placa PC parpellejarà alternativament un cop per segon. La unitat s'ha restaurat amb els paràmetres predeterminats de fàbrica.
  • Tots els paràmetres s'han restablert als valors predeterminats de fàbrica.
  • Premeu i deixeu anar el botó Restableix per reiniciar la unitat.

Format de la targeta SIM

L'últim pas és esborrar tota la informació emmagatzemada a la targeta SIM i configurar-la per utilitzar-la en aquesta unitat.

  • Premeu i deixeu anar el botó Restableix i espereu que el LED vermell de la placa PC s’apagui.
  • El LED NET del mòdul GSM parpellejarà ràpidament.
  • La unitat ja està preparada per acceptar les ordres inicials de configuració. Cal dur-ho a terme en un termini de 10 minuts.
  • Envieu un missatge SMS només amb ERASESIM al número de telèfon de la unitat.
  • Si es rep, el LED verd de la placa PC parpellejarà els temps de l'arbre.

La unitat ja està configurada i està llesta per al seu ús.

Pas 16: ordres SMS

Ordres SMS
Ordres SMS

Hi ha tres tipus diferents d’ordres que utilitza la unitat. Totes les ordres s'envien per SMS i tenen el format següent:

COMANDAMENT,,,,,

  • Totes les ordres, excepte les ordres NORMAL USER, distingeixen entre majúscules i minúscules.
  • Els paràmetres no distingeixen entre majúscules i minúscules.

Ordres inicials de configuració

MASTER, nom

El número de telèfon del remitent de l'SMS s'utilitza com a número de telèfon MASTER USER. aquí es pot afegir una descripció de la unitat.

CLEARALL

Restableix la unitat als valors predeterminats de fàbrica

CLEARSIM

Esborreu totes les dades de la targeta SIM

RESTABLEIX

Reinicieu la unitat

MASTER USER Ordres per configurar la unitat

FORMA DE MODE, c, m, t NOTA! ! ! ENCARA NO IMPLANTAT

Estableix canals específics perquè tinguin sortides PULSED, TIMED o LATCHING. t és la durada del temps en minuts per a les sortides TIMED

PULS, cccc

Estableix canals específics a les sortides PULSADES. Si no s’estableix, els canals s’establiran com a sortides LATCHING.

PULSETIME, t Estableix la durada de la sortida pulsada en segons (0.. 10 s)

INPUTON, cccc

Definiu els canals que han d’activar-se i envieu un missatge SMS quan l’estat canviï de DESACTIVAT a ACTIVAT

INPUTOFF, cccc

Definiu els canals que han d’activar-se i envieu un missatge SMS quan l’estat canviï d’ACTIVAT a DESACTIVAT

INTIME, c, t

Estableix el temps de retard d'entrada per detectar canvis d'estat en segons

INTEXT, ch, nom, activat, desactivat

Definiu el nom de cada canal d’entrada, en text i fora de text

OUTTEXT, ch, nom, activat, desactivat

Estableix el nom de cada canal de sortida, en text i fora de text

Afegir, ubicació, número, trucades, entrades SMS

Afegiu l'usuari a la targeta SIM a la "ubicació" de la memòria, amb els canals de sortida i entrada assignats a l'usuari

Del, ubicació

Suprimir l'usuari de la "ubicació" de la memòria de la targeta SIM

Nom del canal

Sortirà per impuls amb el nom ChannelName

ChannelName, onText o ChannelName, offText

Activarà / Desactivarà la sortida amb el nom de ChannelName i onText / offText

Ordres d'usuari normals per controlar la unitat

???? Sol·liciteu l'actualització de l'estat d'E / S. Els SMS d’estat s’enviaran a l’origen.

Nom del canal

Sortirà per impuls amb el nom ChannelName

ChannelName, onText

Activarà la sortida amb el nom de ChannelName i el text d'estat a Text

ChannelName, offText Desactivarà la sortida amb el nom de ChannelName i el text d'estat offText

Per obtenir una descripció més detallada de les ordres, consulteu el document PDF adjunt.

Recomanat: