1-wire temp - master script
  1. #!/bin/bash
  2. #seriova cisla senzoru 1-Wire
  3. #0 28F83D49080000F3 ložnice
  4. #2 289EBB480800005A venek
  5. #4 28270D4908000097 kuchyn?
  6. #1 28467E4708000055 obyvak
  7. #3 2807A74808000020 pracovna
  8.  
  9. #nastaveni prav na portu
  10. sudo chmod a+rw /dev/ttyS0
  11.  
  12. #nacteni vsech teplot
  13. MERENI(){
  14. VENKU=$(digitemp -q -c /etc/digitemp.conf -t 2 |awk '{print $3}')
  15. KUCHYNE=$(digitemp -q -c /etc/digitemp.conf -t 4 |awk '{print $3}')
  16. LOZNICE=$(digitemp -q -c /etc/digitemp.conf -t 0 |awk '{print $3}')
  17. OBYVAK=$(digitemp -q -c /etc/digitemp.conf -t 1 |awk '{print $3}')
  18. PRACOVNA=$(digitemp -q -c /etc/digitemp.conf -t 3 |awk '{print $3}')
  19. TOPENI=$(/bin/lpt-teplomer)
  20.  
  21. #pokud je LPT odpojen vypsat "N/A"
  22. if [ "$TOPENI" == "144.7" ]
  23. then
  24. TOPENI="N/A"
  25. fi
  26. }
  27.  
  28.  
  29. #ridici script
  30. if [ "$1" == "-last" ] || [ -z $1 ]
  31. then
  32. #zobrazeni poslednich namerenych hodnot
  33. echo "Posledni namerene hodnoty:"
  34. cat /foo/bar/teploty/teploty.txt
  35.  
  36.  
  37. elif [ "$1" == "-plasma" ]
  38. then
  39. MERENI
  40. #vypis pro stdout plasmoid                                                                                                                                                                                                                  
  41. echo -e "venku: $VENKU°C | kuchyne: $KUCHYNE°C | loznice: $LOZNICE°C  nobyvak: $OBYVAK°C | pracovna: $PRACOVNA°C | topeni: $TOPENI°C  "                                                                                                    
  42.                                                                                                                                                                                                                                              
  43. #vytvoreni log souboru pro cgi script                                                                                                                                                                                                        
  44. DATUM=$(date '+%d.%m.%Y %H:%M:%S')                                                                                                                                                                                                          
  45. CGILOG="/foo/bar/teploty/teploty.txt"                                                                                                                                                                              
  46. echo "venku: $VENKU°C" > $CGILOG                                                                                                                                                                                                            
  47. echo "kuchyne: $KUCHYNE°C" >> $CGILOG                                                                                                                                                                                                        
  48. echo "loznice: $LOZNICE°C" >> $CGILOG                                                                                                                                                                                                        
  49. echo "obyvak: $OBYVAK°C" >> $CGILOG                                                                                                                                                                                                          
  50. echo "pracovna: $PRACOVNA°C" >> $CGILOG                                                                                                                                                                                                      
  51. echo "topeni: $TOPENI°C" >> $CGILOG                                                                                                                                                                                                          
  52. echo "cas: $DATUM" >> $CGILOG                                                                                                                                                                                                                
  53.                                                                                                                                                                                                                                              
  54. #vytvoreni php souboru pro nacteni teploty na freezy.cz                                                                                                                                                                                      
  55. echo "<strong>$VENKU°C</strong> | <strong>$DATUM</strong>" > /foo/bar/teploty/web-teplota.txt                                                                                                                      
  56.                                                                                                                                                                                                                                              
  57.                                                                                                                                                                                                                                              
  58. #pro povoleni logovani teplot nastavit obsah souboru ~/.logovani-teploty na 1, pro vypnuti logovani na 0                                                                                                                                    
  59. if [ -f ~/.logovani-teploty ] && [ "$(cat ~/.logovani-teploty)" == "1" ]                                                                                                                                              
  60. then                                                                                                                                                                                                                                        
  61. #zapsat teploty do souboru teploty.log                                                                                                                                                                                                      
  62. USRLOG="~/teploty.log"                                                                                                                                                                                                            
  63. echo "" >> $USRLOG                                                                                                                                                                                                                          
  64. echo "********************************" >> $USRLOG                                                                                                                                                                                          
  65. echo "venku: $VENKU°C" >> $USRLOG                                                                                                                                                                                                            
  66. echo "kuchyne: $KUCHYNE°C" >> $USRLOG
  67. echo "loznice: $LOZNICE°C" >> $USRLOG
  68. echo "obyvak: $OBYVAK°C" >> $USRLOG
  69. echo "pracovna: $PRACOVNA°C" >> $USRLOG
  70. echo "topeni: $TOPENI°C" >> $USRLOG
  71. echo "cas: $DATUM" >> $USRLOG
  72. fi
  73.  
  74.  
  75. elif [ "$1" == "-raw" ]
  76. then
  77. MERENI
  78. #surovy vypis
  79. echo -e "venku: $VENKU°Cnkuchyne: $KUCHYNE°Cnloznice: $LOZNICE°Cnobyvak: $OBYVAK°Cnpracovna: $PRACOVNA°Cntopeni: $TOPENI°C"
  80.  
  81.  
  82. else
  83. echo "Usage $0 -last nebo bez argumentu pro zobrazeni poslednich namerenych hodnot | $0 -raw pro nacteni teplot | $0 -plasma pro zobrazeni ve stdout plasmoidu a vytvoreni souboru pro cgi script a web (pripadne pro uzivatelske logovani teplot do souboru teploty.log, je-li povoleno)"
  84. fi
Parsed in 0.056 seconds