Całość kodów można pobrać stąd.
Połączenie z cu
Całość uruchamiana jest przy pomocy magicznego zaklęcia zapisanego w pliku run_cu.shcu -l /dev/ttyS0 -s 57600 \Znaczenie poszczególnych linii jest następujące:
| awk -f add_system_time.awk \
| bash -s \
| tee -a all_data.txt \
| awk -f one_line_to_rrdtool.awk \
| tee last_rrdtool_update.txt \
| bash -s
- czytanie z portu com (rs232) i wypisywanie na standardowe wyjście
- wypisanie każdej linii z dodaniem komendy `date ...` której zadaniem jest dopisanie aktualnego czasu
- wykonanie komendy `date ...`
- skopiowanie linii do pliku, który może się przydać w przypadku odtwarzania bazy lub zmiany jej funkcjonalności
- przerobienie linii na komendę aktualizującą bazę
- zapisanie do pliku (tak dla celów testowych)
- wykonanie aktualizacji bazy
Automatyzacja
Automatyzację postanowiłem zrobić przy pomocy crona. Okazało się jednak, że cu nie bardzo chce uruchamiać się bez konsoli. I dobrze bo dzięki temu napisałem sobie prosty program w pythonie, który robi to samo :)#/usr/bin/pythonpowyższy program uruchamiany jest przez crona w momencie @reboot, a skrypty do generowania obrazków są co 5 minut uruchamiane. Wpisy w crontab są następujące:
import serial
import sys
ser = serial.Serial("/dev/ttyS0", 57600)
while True:
sys.stdout.write (ser.readline())
sys.stdout.flush ()
@reboot /home/.../run_python.sh
*/5 * * * * /home/.../create_graphs.bat.sh
Wystawienie na serwerze
Całość jest na razie wystawiona na moim lokalnym serwerze www do którego mam dostęp przy pomocy VPN'a. W internecie raczej nie zamierzam publikować wykresów temperatury z mojego mieszkania, pomyślę nad wystawieniem logów z temperatury zewnętrznej.Wykonanie planu
uruchomić całość na Linuksiewymienić CoolTerm.exe na coś innegouruchomienie cu w celu odczytu danychporadzić sobie z problemem ekstra danych wypisywanych przez cuzacząć odczytywać czas z zegara serwerazrobić stronę www i wystawić na zewnątrzuruchomienie rrdtoolprzeniesienie, modyfikacja skryptówsprawdzenie czemu na wykresach brakuje danychpołączenie z cuautomatyzacjawystawienie na serwerze- zmontować układ, a aby to zrobić to trzeba:
wybrać docelowy mikro-kontroler - i zakupić godowiedzieć się jak się go programuje i zmontować programator - i zakupić co potrzebazaprogramować kontroler- dowiedzieć się jak najlepiej zmontować docelowy układ (skąd płytkę itp) i zmontować - a wcześniej zakupić co potrzeba
dowiedzieć się czy i jakie peryferia są potrzebne (kwarc, zasilanie, komunikacja z komputerem po rs232) - zakupić potrzebnezakup części do podłączenia RS232zmontować wszystko co potrzebne do połączenia RS232zasilanie- jakąś obudowę do tego dobrać - i znaleźć lub zakupić
Legenda
wykonane- do zrobienia
- nowe zadanie lub podzadanie
- aktualnie robione
Brak komentarzy:
Prześlij komentarz