Temposerver
Introducere
Prezentarea pe scurt a proiectului:
proiectul de fata reprezinta un termometru accesibil prin HTTP
poate fi utilizat pentru a monitoriza facil temperatura dintr-o camera tehnica
am ales sa lucreaz la acest proiect intrucat eu am nevoie de un astfel de dispozitiv pe care sa il pot integra cu un script de python.
utilitatea proiectului consta in faptul ca permite o monitorizare facila utilizand un dispozitiv mai ieftin decat senzorii disponibili pe piata.
Descriere generală
Componentele hardware sunt impartite in 3 module:
placa de baza (realizata in prima etapa)
modulul senzorul de temperatura
modulul de interfata cu reteaua
Componentele software:
stiva tcp/ip implementata in laboratorul “Webserver”
Functii de initializare pentru ADC, Timer si chipset enc28j60
modulele necesare pentru asigurarea comunicarii intre MCU si enc28j60
Schema bloc a proiectului:
Hardware Design
Placa de baza - implementarea standard pentru anul 2011
Modulul senzor de termperatura - senzor LM 35, atasat pe canalul 0 ADC (PA0)
Modulul de interfata cu reteaua:
Integrarea modulelor
Microchip enc28j60
Software Design
Descrierea codului aplicaţiei (firmware):
Mediu de dezvoltare: gedit
Compilator: avr-gcc, varianta Linux, instalata din pachetele din repository
Stiva de tcp-ip a fost extrasa din laboratorul 5 (Webserver) si a fost completata pentru a realiza functionalitatea dorita.
Rezultate Obţinute
Concluzii
Cablurile RS232 variaza de la dispozitiv la dispozitiv
Facilitatea de logging pe interfata seriala este cu adevarat utila
Senzorul de temperatura LM35 este cu adevarat simplu de interfatat cu Atmega16
Atmega16 si enc28j60 sunt chip-uri fiabile, facand fata greselilor pe care le-am facut pe parcursul dezvoltarii proectului
Driver-ul pe windows aproape ca nu merge deloc pe Windows7 x64 ⇒ mai bine nu incercati sa lucrati pe Windows (Ubuntu 10.04 Lucid Lynx cu pachetele necesare este tot ca va trebuie)
Download
Ultima versiune a software-ului pentru ATMEGA 16 este disponibila in arhiva de mai jos:
temposerver.zip
Pentru a programa un uC sunt necesari urmatorii pasi:
Dezarhivati arhiva intr-un folder
cd in folder-ul lab6/default
rulati: make
conectati placuta prin USB
rulati: sudo ./avrusbboot lab6.hex
uC este programat!
Jurnal
11 Mai - am achizitionat toate piesele necesare
12 Mai - Am realizat lipiturile componentelor pe placute
13 Mai - primul test: big fail
14 Mai - zi de dat cu capul - interfata ethernet arata ca realizeaza link si primeste pachete, insa nu raspunde la acestea. Planific sa folosesc interfata seriala pentru logging.
15 Mai - dupa ce refac un cablu, reusesc sa folosesc interfata RS232 pentru logging si debugging. Reusesc sa pun la punct codul si lucrurile incep sa mearga.
15 Mai, 18:00 - proiectul functioneaza asa cum trebuie!
Bibliografie/Resurse