Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2025:apredescu:anca.radu2411 [2025/05/24 15:28]
anca.radu2411 [Jurnal]
pm:prj2025:apredescu:anca.radu2411 [2025/05/28 12:38] (current)
anca.radu2411 [Descriere generală]
Line 1: Line 1:
-====== ​Sistem de monitorizare a nivelului de zgomot dintr-o cameră ​de hotel ======+====== ​Monitor ambiental pentru camere ​de hotel ======
 ===== Introducere ===== ===== Introducere =====
  
-📌 **Ce face proiectul:**+📌 **Ce face proiectul**:
  
- Dispozitivul monitorizează ​nivelul de zgomot ​dintr-o cameră de hotel și aprinde un LED atunci când se depășește un prag sonor prestabilit. În plusînregistrează periodic valorile ​surate pe un card SD pentru a permite personalului hotelului să consulte ulterior istoricul zgomotului.+Dispozitivul monitorizează ​condițiile ambientale ​dintr-o cameră de hotel, măsurând:
  
-🎯 **Scopul ​și ideea de la care am pornit:**+  ​nivelul de zgomot 
 +  ​temperatura ​și umiditatea aerului
  
- Mi-am propus să ajut hotelurile să îmbunătățească confortul clienților,​ oferindu-le o soluție simplă de monitorizare ​și înregistrare a zgomotului, pe care personalul să o poată verifica ușor.+Atunci când sunetul depășește un prag prestabilit:​
  
-🤝 **De ce cred că este util:** +  * se aprinde un LED de avertizare 
-  * Pentru hoteluri, ajută la gestionarea ​reclamațiilor legate de zgomot ​și îmbunătățirea serviciilor+  * se salvează datele (zgomot + climă) pe un card SD 
-  * Pentru ​personalul hotelului, oferă ​o modalitate simplă de verificare a problemelor.+  * dacă se detectează 3 astfel de evenimente în mai puțin de 1 minut, se consideră o plângere și se: 
 +    * salvează într-o bază de date separată 
 +    * trimite automat un email către recepție (sau administrator) 
 + 
 +Toate măsurătorile sunt transmise periodic prin **Bluetooth**,​ pentru a putea fi salvate într-o bază de date și analizate. 
 + 
 +🎯 Scopul și ideea de la care am pornit: 
 + 
 +Mi-am propus să ajut hotelurile să îmbunătățească confortul clienților și monitorizarea automată a comportamentului din camere, printr-un sistem accesibil care: 
 + 
 +  * avertizează discret asupra depășirilor de zgomot 
 +  * colectează date climatice 
 +  * automatizează notificarea personalului 
 + 
 +🤝 **De ce cred că este util**
 + 
 +  * Pentru hoteluri, ajută la gestionarea ​plângerilor,​ păstrarea liniștii ​și prevenirea abuzurilor
 +  * Pentru ​personal, oferă ​acces la date și alerte în timp real fără intervenție manuală. 
 +  * Pentru clienți, contribuie la un mediu mai liniștit și mai controlat.
  
  
Line 19: Line 38:
 **Diagrama Bloc** **Diagrama Bloc**
  
-Dispozitivul ​are următoarele ​module+Dispozitivul ​este format din următoarele ​componente: 
-  * Senzor de zgomot (microfon analogic ​+ comparator) – detectează ​sunetul și generează un semnal analogic proporțional. + 
-  * Microcontroller ATmega328P ​– citește semnalul analogic prin ADC, îl compară cu un prag și comandă LED-ul ​și logarea pe card SD. +  * 🎙️ Modul microfon ​(analogic ​LM393) – detectează ​nivelul de sunet ambiental 
-  * LED de semnalizare ​– indică ​dacă pragul de zgomot a fost depășit. +  * 🌡️ Senzor DHT22 – măsoară temperatura ​și umiditatea 
-  * Modul SD Card (SPI) – salvează ​măsurătorile ​pentru ​a păstra un istoric. +  * 💡 LED – se aprinde ​dacă zgomotul ​depășește pragul 
-  * Alimentare 5V – sursă de tensiune ​pentru toate modulele.+  * 💾 Modul microSD ​(SPI) – salvează ​datele local pentru ​verificare ulterioară 
 +  * 📶 Modul Bluetooth HC-05 – transmite datele către ​un laptop 
 +  * 🧠 ATmega328P – citește toți senzorii, decide acțiunile și comunică cu cardul SD și Bluetooth 
 +  * 🔋 Alimentare 5V (USB sau power bank) – pentru toate modulel
  
-{{:​pm:​prj2025:​apredescu:​diagarama_ancaradu_new.png?200|}}+{{:​pm:​prj2025:​apredescu:​diagrama_finala_ancaradu.png?300|}}
  
 **Interacțiuni între module** **Interacțiuni între module**
  
-  ​* Microfonul trimite ​semnalul la ADC-ul ​microcontrollerului. +**Microfonul** (LM393) ​trimite ​un semnal analogic către pinul A0 al microcontrollerului. Acesta este citit prin ADC pentru a detecta dacă sunetul depășește un prag. 
-  * Microcontrollerul decide dacă aprinde LED-ul. + 
-  * Microcontrollerul ​trimite datele ​către cardul SD prin SPI. +**ATmega328P**:​ 
-  * Toate modulele sunt alimentate din aceeași sursă.+ 
 +  * compară valoarea semnalului de la microfon cu un prag prestabilit. 
 +  * aprinde LED-ul ​dacă pragul este depășit. 
 +  * citește temperatura și umiditatea prin protocol digital de la DHT22 (pe pinul D4)
 +  * trimite ​periodic toate datele ​(zgomot, temperatură, umiditate) prin Bluetooth (HC-05). 
 +  * salvează aceleași date pe cardul SD prin interfața ​SPI (pinii D10–D13). 
 + 
 +**DHT22**:​ 
 + 
 +  * măsoară temperatura și umiditatea aerului. 
 +  * trimite datele către ATmega328P o dată la câteva secunde, în format digital. 
 + 
 +**LED-ul**:​ 
 + 
 +  * este aprins de către microcontroller atunci când sunetul este considerat excesiv. 
 + 
 +**Modulul microSD:​** 
 + 
 +  * primește comenzi prin SPI și salvează loguri locale cu valorile măsurate. 
 + 
 +**Modulul Bluetooth HC-05**: 
 + 
 +  * primește date de la microcontroller prin SoftwareSerial (pinii D2 și D3). 
 +  * le transmite în timp real către un laptop, pentru afișare și salvare. 
 + 
 +**Laptopul**:​ 
 + 
 +  * rulează un script Python care citește datele prin Bluetooth (COM4). 
 +  * salvează periodic datele într-o bază de date masuratori.db. 
 +  * dacă detectează 3 depășiri de zgomot într-un minut, salvează în complaints.db și trimite automat un email de alertă. 
 + 
 +**Alimentarea** de 5V (de la power bank) este comună tuturor modulelor ​și oferă energie pentru întreg sistemul.
  
 ===== Hardware Design ===== ===== Hardware Design =====
Line 39: Line 92:
 **Bill of Materials** (Lista Pieselor) **Bill of Materials** (Lista Pieselor)
  
-^ Nr. ^ Componentă ​         ^ Descriere ​                         ^ Link / Datasheet ​                                                  ​+^Nr.^ Componentă ​                       ^ Descriere ​                         ^ Link / Datasheet ​     
-|1 | Microcontroler ATmega328P ​         | Microcontroller 8-bit AVR          | [[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Datasheet]] | +|1 | Microcontroler ATmega328P ​         | Microcontroller 8-bit AVR          | [[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Datasheet]] [[https://​sigmanortec.ro/​Placa-dezvoltare-UNO-R3-Arduino-Compatibil-ATmega328p-CH340G-cu-bara-pini-p170362384|ATmega328P]]| 
-|2 | Modul microfon LM393 | Senzor zgomot cu comparator LM393  | [[https://ardushop.ro/ro/​module/​601-modul-microfon-senzor-sunet-6427854007254.html?​gad_source=1&​gad_campaignid=22058879462&​gbraid=0AAAAADlKU-41-2czyYDWcrCVAuZSa0kRI&​gclid=CjwKCAjw24vBBhABEiwANFG7yxt9lwCaDfzYca1itTxYtCpWX8uSSc2Qk_KkCVpIG13xgoibbPAg3xoCfnkQAvD_BwE|Link modul]] | +|2 | Modul microfon LM393 | Senzor zgomot cu comparator LM393  | [[https://sigmanortec.ro/​modul-microfon-senzor-sunet-5v|Link modul]] | 
-|3 | Modul microSD SPI   | Stocare loguri ​                     | [[https://www.optimusdigital.ro/ro/​memorii/​1516-modul-slot-card-microsd.html|Link modul]] |+|3 | Modul microSD SPI   | Stocare loguri ​                     | [[https://sigmanortec.ro/Modul-MicroSD-p126079625|Link modul]] |
 |4 | Card microSD ​       | Stocare date                        | [[https://​www.emag.ro/​card-de-memorie-microsdhd-kingston-4gb-clasa-4-kng4/​pd/​D0RDW8BBM|Link card]] | |4 | Card microSD ​       | Stocare date                        | [[https://​www.emag.ro/​card-de-memorie-microsdhd-kingston-4gb-clasa-4-kng4/​pd/​D0RDW8BBM|Link card]] |
-|5 | LED Roșu            | Indicator vizual ​                       | -                                                                 | +|5 | Modul DHT22 |Senzor de temperatură și umiditate ​  ​|[[https://​www.optimusdigital.ro/​ro/​senzori-senzori-de-temperatura/​1449-modul-senzor-de-temperatura-i-umiditate-dht22.html?​srsltid=AfmBOorscPInU12C0PSdPw5Bj1q8e705ViOvT9nI2UooQvHv5QegZAJA|Link modul]]| 
-|| Breadboard 400 puncte | Placă de prototipare ​                   | -                                                                 | +|6 | Modul HC-05 Bluetooth|Comunicare wireless cu laptopul|[[https://​www.optimusdigital.ro/​ro/​wireless-bluetooth/​153-modul-bluetooth-master-slave-hc-05-cu-adaptor.html?​srsltid=AfmBOopRGBmQNcCXy9I1-GSPXg-1FPDEyjMe3J3_cIaZu7tilHNvDF8o|Link modul]]| 
-|| Cabluri tată-tată ​  | Conectare componente ​                   | -                                                                 | +|7 | LED Roșu            | Indicator vizual ​                       | -                                                                 | 
-|| Rezistor 220Ω ​      ​| Protejare LED                           | -                                                             |+|| Breadboard 400 puncte | Placă de prototipare ​                   | -                                                                 | 
 +|| Cabluri tată-tată ​  | Conectare componente ​                   | -                                                                 | 
 +|10 | Rezistor 220Ω ​     | Protejare LED                           | -                                                             
 +|11 | Baterie externă 5V | Alimentare portabilă  ​                  | - |
  
 ** Schema Electrică ** ** Schema Electrică **
Line 56: Line 112:
 ** Tabel Legături Componente ** ** Tabel Legături Componente **
  
-^ Componentă ​            ​^ Pin Modul   ​^ Pin ATmega164A ​   ​^ Funcție ​                               + 
-| Modul Microfon LM393  | OUT                       ​PA0 (ADC0) ​       ​| Citire semnal analogic ​                ​+^ Componentă ​                ​^ Pin Modul                ^ Pin ATmega328P ​           ​^ Funcție ​              ​
-                      ​| VCC                        | +5V               ​| Alimentare ​                           +**Modul Microfon LM393**   | OUT                      A0                         | Citire semnal analogic ​(sunet) ​               ​
-                      ​| GND                        | GND               ​| Masă                                  +                           | VCC                      | +5V                        | Alimentare ​                                   
-| LED                   ​| Anod (+)                   ​| D8                | Control LED                           ​+                           | GND                      | GND                        | Masă                                          
-                      ​| Catod (-) prin R 220 Ohm   | GND               ​| Masă prin rezistor ​                   +**LED**                    ​| Anod (+)                 ​| D8                         ​| Control LED zgomot ​                           ​
-| Modul MicroSD ​SPI     ​| CS                         ​D13               Select ​Chip                           ​+                           | Catod (-) prin R 220Ω    ​| GND                        | Masă (cu rezistor ​de protecție) ​              
-                      ​| MOSI                       ​| D11               ​| Date de la ATmega ​către SD            +**Modul microSD (SPI)**    ​| CS                       ​D10                        ​| Chip Select SPI                               
-                      ​| MISO                       ​| D12               ​| Date de la SD către ​ATmega ​           ​+                           | MOSI                     ​| D11                        | Date de la microcontroller ​către SD           ​
-                      ​| SCK                        ​| D10               | Ceas SPI                              +                           | MISO                     ​| D12                        | Date de la SD către ​microcontroller ​          
-                      ​| VCC                        | +5V               ​| Alimentare ​                           +                           | SCK                      | D13                        | Ceas SPI                                      
-                      ​| GND                        | GND               ​| Masă                                  +                           | VCC                      | +5V                        | Alimentare ​                                   
-Alimentare ​           | VCC                        | +5V               | Alimentare pentru toate componentele  ​+                           | GND                      | GND                        | Masă                                          
-                      ​| GND                        | GND               ​| Masă comună ​                          ​|+**Modul DHT22** ​           | DATA                     | D4                         | Citire temperatură și umiditate ​              | 
 +|                            ​| VCC                      | +5V                        | Alimentare ​                                   | 
 +|                            | GND                      | GND                        | Masă                                          | 
 +| **Modul Bluetooth HC-05** ​ | TXD                      | D3 (RX SoftwareSerial) ​    | Date de la modul către microcontroller ​       | 
 +|                            | RXD                      | D2 (TX SoftwareSerial) ​    | Date de la microcontroller către modul        | 
 +|                            | VCC                      ​| +5V                        | Alimentare ​                                   | 
 +|                            | GND                      | GND                        | Masă                                          | 
 +|                            | STATE / EN               | –                          | (neutilizat în proiectul actual) ​             | 
 +| **Alimentare ​5V**          | VCC                      | +5V                        | Alimentare comună ​pentru toate modulele ​      
 +                           | GND                      | GND                        | Masă comună ​                                  ​| 
  
 ** Componentele Hardware conectate ** ** Componentele Hardware conectate **
  
-{{:​pm:​prj2025:​apredescu:​poza_componente_anca.radu2411.jpg?300|}}+{{:​pm:​prj2025:​apredescu:​hardware_ancaradu.jpg?​200|}} 
 +{{:​pm:​prj2025:​apredescu:​design_ancaradu.jpg?300|}}
  
  
 ===== Software Design ===== ===== Software Design =====
  
 +**Mediul de dezvoltare**
  
-**Mediu de dezvoltare**+  ​* **Arduino IDE** – pentru programarea microcontrollerului ATmega328P. 
 +  * **Python 3** – pentru prelucrarea datelor primite prin Bluetooth și gestionarea bazelor de date + trimitere email.
  
-''​Arduino IDE''​+---- 
 + 
 +**Librării și surse 3rd-party** 
 + 
 +➤ Pe partea de Arduino: 
 + 
 +      * SPI.h – pentru comunicarea SPI cu modulul SD card 
 +      * SD.h – pentru logare fișiere text pe card microSD 
 +      * DHT.h – pentru citirea temperaturii și umidității de la senzorul DHT22 
 +      * SoftwareSerial.h – pentru comunicarea cu modulul Bluetooth HC-05 pe pini digitali 
 + 
 +      Toate aceste librării sunt standard sau pot fi adăugate ușor prin Library Manager în Arduino IDE.
  
--> Platformă ​de dezvoltare compatibilă cu Arduino UNO (ATmega328P)+➤ Pe partea ​de Python:
  
 +      * serial (pyserial) – pentru citirea datelor prin Bluetooth
 +      * sqlite3 – pentru salvarea datelor în fișiere .db locale
 +      * smtplib și email.message – pentru trimiterea automată a emailurilor când se detectează zgomot excesiv
  
 ---- ----
  
 +**Algoritmi și structuri implementate**
  
-**Librării și surse 3rd-party**+➤ În microcontroller (Arduino):
  
-''​SPI.h''​ — pentru comunicare SPI cu modulul SD+Se citesc:
  
-''​SD.h''​ — pentru lucrul cu fișiere pe cardul microSD+      * valoarea analogică a zgomotului (analogRead(A0)) 
 +      * temperatura ​și umiditatea prin DHT22
  
--> Ambele librării sunt standard în Arduino IDE și nu necesită instalare externă.+Dacă sunetul depășește un prag (> 100):
  
-----+      * se aprinde LED-ul 
 +      *se salvează valorile într-un fișier log.txt pe cardul SD
  
-**Algoritmi și structuri implementate**+    La interval de 5 secunde, se trimit prin Bluetooth valorile actuale
  
-  * Se citește valoarea analogică de la microfon (prin ''​analogRead(A0)''​). +➤ În scriptul Python (PC/​laptop):​ 
-  Valoarea este comparată cu un prag stabilit ​pentru ​a decide dacă este considerat zgomot relevant+ 
-  ​* ​Dacă valoarea depășește pragul și nu a mai fost deja înregistrat un eveniment+Se deschid două baze de date SQLite: 
-  * Se aprinde LED-ul (conectat la pinul D8) + 
-  Se salvează un mesaj în fișierul ''​log.txt''​ de pe cardul SD (conținând valoarea și momentul detectării). +      masuratori.db – pentru ​salvarea temperaturii și umidității 
-  Este utilizat ​un flag logic (''​evenimentInregistra''​t) pentru a preveni logări multiple cât timp semnalul rămâne peste prag.+      * complaints.db – pentru evenimentele de tip „noise complaint” 
 + 
 +Se analizează fluxul de date din Bluetooth 
 +Dacă în decurs de 60 secunde se primesc 3 mesaje cu zgomot > prag
 + 
 +      se loghează evenimentul într-o bază separată 
 +      *se trimite automat ​un email de avertizare
  
 ---- ----
  
 **Surse și funcții implementate** **Surse și funcții implementate**
 +
 +➤ Arduino:
  
 ''​setup()'':​ ''​setup()'':​
  
-  * inițializează pinul LED +  * configurează pini I/O 
-  * începe comunicația serială +  * inițializează ​senzorii, Bluetooth-ul și cardul SD
-  * inițializează cardul SD și verifică funcționalitatea+
  
 ''​loop()'':​ ''​loop()'':​
  
-  * monitorizează ​continuu ​semnalul audio +  * citește ​continuu ​datele și trimite periodic valorile prin Bluetooth 
-  * controlează LED-ul și decide când să logheze evenimente+  * detectează evenimente de zgomot și le salvează pe SD 
 + 
 +''​logPeCard()'':​ 
 + 
 +  * creează/​loghează într-un fișier text cu sunet, temperatură ​și umiditate 
 + 
 +➤ Python: 
 +  
 +''​trimite_email()'':​ 
 + 
 +  * trimite notificare pe mail folosind contul Gmail configurat 
 + 
 +''​while True'':​ 
 + 
 +  * citește datele primite 
 +  * salvează în baza masuratori.db 
 +  * dacă se depășește pragul sonor de 3 ori în 60 secunde, salvează în complaints.db și trimite email 
  
-''​logSunet(int valoare)'':​ 
-  * deschide fișierul log.txt pe cardul SD 
-  * scrie un mesaj de forma: ''​Sunet detectat: 248 la 15204''​ 
-  * mesajul include valoarea analogică a sunetului și timpul în milisecunde 
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +În urma implementării și testării proiectului, a fost realizat un sistem complet funcțional de monitorizare ambientală,​ capabil să:
-Care au fost rezultatele obţinute în urma realizării proiectului ​vostru. +
-</​note>​+
  
-===== Concluzii =====+  * **Detecteze și semnalizeze zgomotul**:
  
-===== Download =====+Modulul de microfon analogic detectează nivelul de sunet din încăpere.
  
-<note warning>​ +Când se depășește ​un prag predefinit, un LED de alertă se aprinde șevenimentul este salvat ​pe cardul microSD, împreună cu temperatura și umiditatea curente.
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului:​ surse, scheme, etc. Un fişier README, ​un ChangeLog, un script ​de compilare şcopiere automată ​pe uC crează întotdeauna o impresie bună ;-).+
  
-Fişierele se încarcă pe wiki folosind facilitatea ​**Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:​prj20??:​c?​** sau **:​pm:​prj20??:​c?:​nume_student** (dacă este cazul). **Exemplu:​** Dumitru Alin, 331CC -> **:​pm:​prj2009:​cc:​dumitru_alin**. +  ​* **Salveze date local pe card microSD**:
-</​note>​+
  
 +Sistemul înregistrează valorile măsurate în fișierul ''​log.txt''​.
  
-===== Bibliografie/​Resurse =====+Informațiile salvate includ: valoarea semnalului sonor, temperatura,​ umiditatea și momentul detectării (în milisecunde de la pornire).
  
-<​note>​ +  * **Transmită datele în timp real prin Bluetooth**:​ 
-Listă cu documentedatasheet-uri, resurse Internet folositeeventual grupate pe **Resurse Software** şi **Resurse Hardware**. + 
-</​note>​+La fiecare 5 secundedispozitivul trimite date către un laptop sau alt dispozitiv conectat prin Bluetooth (HC-05). 
 + 
 +Datele includ nivelul sunetuluitemperatura și umiditatea. 
 + 
 +  ​* **Proceseze șanalizeze datele în Python**
 +Pe laptop, un script Python preia datele prin Bluetooth și le salvează într-o bază de date locală (masuratori.db). 
 + 
 +La detectarea a 3 niveluri ridicate de zgomot într-un interval de 60 de secunde, sistemul: 
 + 
 +  ​salvează evenimentul într-o bază separată (complaints.db);​ 
 +  ​trimite automat un email de alertă către recepție (exancutza@gmail.com,​ crinutza@gmail.com),​ notificând depășirile. 
 + 
 +---- 
 + 
 +==== Validare ==== 
 + 
 +Sistemul a fost testat cu succes în condiții reale. 
 + 
 +LED-ul se aprinde corect în funcție de zgomot, datele sunt salvate corect pe cardul SD, valorile sunt transmise prin Bluetooth, iar emailurile de alertă se trimit automat conform regulii definite. 
 + 
 +===== Download =====
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
 +===== Bibliografie/​Resurse =====
 +
 +**Resurse Hardware**
 +
 +  * [[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|ATmega328P Datasheet]]
 + 
 +  * [[https://​sigmanortec.ro/​Placa-dezvoltare-UNO-R3-Arduino-Compatibil-ATmega328p-CH340G-cu-bara-pini-p170362384|Placă de dezvoltare Arduino UNO]]
 +
 +  * [[https://​sigmanortec.ro/​modul-microfon-senzor-sunet-5v|Modul microfon]]
 +
 +  * [[https://​sigmanortec.ro/​Modul-MicroSD-p126079625|Modul microSD]]
 +
 +  * [[https://​www.emag.ro/​card-de-memorie-microsdhd-kingston-4gb-clasa-4-kng4/​pd/​D0RDW8BBM|Card microSD]]
 +
 +----
 +
 +**Resurse Software**
 +
 +  * [[https://​www.arduino.cc/​en/​software|Arduino IDE]]
 +
 +  * [[https://​www.arduino.cc/​en/​Reference/​SD|Librărie SD.h – Documentație oficială]]
 +
 +  * [[https://​www.arduino.cc/​en/​Reference/​SPI|Librărie SPI.h – Documentație oficială]]
 +
 +  * [[https://​lastminuteengineers.com/​sound-sensor-arduino-tutorial/​|Documentație generală Arduino UNO + senzori audio]]
 +
 +----
 +
  
pm/prj2025/apredescu/anca.radu2411.1748089681.txt.gz · Last modified: 2025/05/24 15:28 by anca.radu2411
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