Universitatea Tehnica Iasi - Fac. Automatica si Calculatoare
Sisteme Incorporate

Lucrarea de laborator nr. 5

  • E5.1 Denumire:


  • Linux Machine - modul RTC+DS1820 +CRON


  • E5.2 Prezentare generala, scop.


  • Experimentul de laborator prezinta o extensie RTC + DS pentru sisteme Linux bazate pe utilizarea circuitului DS1307 cu protocol I2C. Sunt detaliate operatiile de configurare Kernel Linux pentru RTC precum si modurile de realizare a aplicatiilor ce pot fi lansate cu UNIX Cron.

  • E5.3 Resurse:


  • Platforma Raspberry Pi 3, extensie RTC_DS, analizor semnale logice.




    Documentatie:

    1. Fundamente UNIX


  • E5.4 Surse programe exemplu:

  • Program test DS1820_LED

    Program activ pentru crontab




  • E5.5 Mod de desfasurare/urmarire experiment:

    • Analizati schema de realizare a interfetei RTC-DS reprezentata in figura de mai jos:


      Utilizand raspi-config se activeaza protocolul I2C si 1 wire;


      Se analizeaza semnalele protocolului I2C :


      Utilizand comanda i2cdetect -y 1 se identifica prezenta modulului RTC astfel: ;


    • In fiserul /boot/config.txt se adauga parametrii pentru RTC astfel: ;
      dtoverlay=i2c-rtc,ds1307 Se desactiveaza fake-hwclock astfel:
      >sudo apt-get -y remove fake-hwclock
      >sudo update-rc.d -f fake-hwclock remove
      >sudo systemctl disable fake-hwclock
      In fisierul /lib/udev/hwclock-set se elimina urmatoarele comenzi:
      #if [ -e /run/systemd/system ] ; then
      # exit 0
      #fi
    • Operatia de lectura RTC:
      > hwclock -D -r
      returneaza:


      Setarea informatiilor initiale pentru RTC se realizeaza astfel:
      > date -s "19 APR 2018 16:24:12"
      Transferul catre DS1307 se realizeaza astfel:
      > sudo hwclock -w Pentru activare modul kernel la secventa de boot, se insereaza in fisierul /etc/modules linia:
      rtc-ds1307
      Vizualizare modul: > lsmod | grep care returneaza



      Comanda
      > ls /sys/bus/i2c/devices Se executa crontab -e cu urmatoarele optiuni:

      si se analizeaza executia programelor la timpii specificati
    • Rezolvati problemele propuse;


  • E5.6 Probleme propuse:


  • 1. Realizati o actiune ce va fi lansata la fara 10 si la fix (sonerie ora).
    2. Dezvoltati o solutie care va emite mail la fiecare ora cu temperatura curenta.
    3. Realizati un program in Python ce va permite generarea unor sunete ore prestabilite;
    4. Dezvoltati o solutie care va activa o priza de 220V la care este conectat un calorifer daca temperatura este mai mica de 18 grade
    5. Dezvoltati o solutie care va activa LED pe durata pauzei.


  • E5.7 Experimentul poate fi extins pentru:

  • - Realizarea distribuitoarelor de procese multiple;
    - Realizarea serverelor NTP;
    - Realizarea sistemelor active in secvente de timp programabile;
    - Realizarea sisteme publice de iluminat activate la ore precise;



  • E5.8 Referinte documentare:



  • © 2018 Fl. Pantilimonescu - Fac. Automatica si Calculatoare Iasi