Introducere

Proiectul consta in realizarea unei alarme de incendiu ce se leaga la internet prin intermediul unei interfete ethernet si trimite un email proprietarului in cazul in care detecteaza fum. Nu este o alarma multi-zone, ci doar cu senzor de fum.

Descriere generala

Schema bloc de interactiune a modulelor hardware:

Sistemul este bazat pe protocolul TCP, functionand ca un client. Se construiesc pachete TCP care vor contine mesajul de alarma, precum si ora exacta la care s-a declansat alarma (aceasta valoare este returnata de catre timekeeper). Ele sunt trimise cu ajutorul modulului Ethernet catre un computer cu adresa IP destinatie configurata initial.

Hardware Design

Lista de piese

1. Placa de extensie Ethernet:

2. Senzor de fum:

3. Placa de baza:

  • Microcontroller: ATmega16
  • Timekeeper: DS1302
  • Oscilator pentru timekeeper 32.768kHz
  • 2 x Condensator 22pF
  • Oscilator 7.3728MHz

Schema electrica:

Nota: nu am gasit in Eagle schemele pentru ENC28J60 si RE46C190S16F asa ca am folosit schema unui alt senzor si in loc de ENC28J60 am folosit WIZ810MJ

Software Design

Limbaj de programare: C Mediu de dezvoltare si compilare: CodeVisionAVR

Structura pachetelor TCP:

Pe sistemul remote, utilizatorul poate vizualiza si trimite pachete TCP sistemului prin intermediul unui soft de monitorizare trafic in retea: Wireshark. In limita timpului disponibil, vom realiza un soft care in momentul primirii unei anumit pachet TCP pe sistemul remote, va trimite un email de avertizare utilizatorului.

Se vor implementa functii pentru:

  • comunicarea TCP
  • formare pachete TCP cu mesaje predefinite folosite in comandarea sistemului de la distanta si trimiterea mesajelor de alarma
  • lucrul cu interfata SPI
  • void initialize() : se seteaza parametrii de comunicatie: 8 Data, 1 Stop, No parity ; Pinii I/0
  • void setGAR (unsigned char * addr): setare default gateway placuta
  • void setSUBR(unsigned char * addr): setarea masca de retea
  • void setSHAR(unsigned char * addr): setarea adresa MAC
  • void setSIPR(unsigned char * addr): setare IP placuta
  • void wiz_wr(unsigned int address, unsigned int targetValue): scrie in registrii modulului Wiznet folosind functia spi_tranfer
  • unsigned char wiz_rd(unsigned int address): citeste din reg Wiznet folosind spi_transfer
  • unsigned char spi_transfer(volatile unsigned char data) : incepe o transmisie SPI, asteapta terminarea ei si returneaza datele citite
  • functii de comunicatie TCP: open_socket(), listen_tcp, connect_tcp, transmit(), disconnect, receive() etc
  • void main(): este implementata diagrama de functionare descrisa mai sus, facandu-se trecerea prin starile mentionate

Rezultate obtinute

Concluzii

pm/prj2011/pgp/falarm.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0