Cristofor ROTSCHING (25162) - Wireless Sensors Monitoring

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

  • Monitorizarea parametrilor ambientali folosind noduri senzoriale
  • Agregarea datelor pe cloud, de unde vor putea fi procesate

Software Design

Fiecare nod foloseste un protocol de trimitere a unor pachete de forma:

ID zona
ID nod
Nivel Lumina
Nivel IR (lux)
Nivel Radiatii UV (UV Index Scale)
Nivel Umiditate (% Umiditate Relativa)
Temperatura (C);

1 transmitter 1 receiver

Nodul Transmitter trimite informatii odata la 1 secunda, pachete de tipul celor descrise mai sus, iar Nodul Receiver primeste la 0.5 secunde. Fiecare nod foloseste un microcontroller Atmel 128RFA1 ce contine un Transciever Radio in banda de frecventa 2.4GHz, transmitand datele pe canalul 11.

Nodul Receiver implementeaza CRC folosind paritatatea bitilor din bufferul de primire. Implementarea se afla in biblioteca sparrowradio.zip. De aceea in codul receiver-ului trebuie verificat intotdeauna daca operatia de receive s-a executat cu succes. (return code == SUCCESS)

Partea dificila a reprezentat-o implementarea modului de SLEEP pentru microcontrollere pentru a reduce consumul. Am reusit sa reduc consumul de la 22mA la 19mA, insa am intampinat probleme atunci cand doream trimiterea transcieverului radio in sleep. Folosind registrul PRR0, cand trezeam Trascieverul din Sleep acesta efectua un Reset la Microcontroller.

Sleep Transciever:

  • Folosind registru Power Reduction Register (PRR0)
  • Setarea Bitul SLPTR din Registrul TRXPR care schimba starea Transcieverului in SLEEP din starea TRX_OFF.

Agregarea datelor in Cloud, prin trimiterea seriala de catre un Nod Gateway catre Raspberry Pi, care foloseste un API DeviceHub pentru trimiterea datelor.

Descrierea tuturor sleep-mode-urilor se afla in Datasheet. Eu am implementat folosind Power Save Mode, pentru a putea trezi microcontroller-ul folosing Ceasul asincron de 8 biti 32kHz

ATENTIE !

Am intampinat o problema in momentul in care configuram registrele OCR2A si TCR2A deoarece in modul asincron schimbarile nu se reflecta imediat. Aceste registre au niste registre temporare din care sunt transferati octetii la urmatorul front crescator al ceasului asincron. Schimbarile se pot valida facand polling pe registrul ASSR (Asynchronous Status Register)

Implementation

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

pm/prj2016/ddragomir/cristofor_rotsching.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