RPi3 WS

Unutrašnja jedinica je uradjena sa Raspberry Pi 3 plocom. Ona prikuplja podatke od spoljne jedinice, obradjuje ih, vrši akviziciju podataka na FLASH disk u wYYYYmmdd.csv formatu, tako da se podaci mogu otvarati u MS Excel za dalju obradu ili crtanje grafika. Pomocu Apachi servera i PHP skripta prikazuje na WEB stranicu, ako imate statičku internet adresu, podaci su dostupni širom sveta WWW. U aplikacijama koje nemaju internet može se dodati dodatni modul sata realnog vremena i DCF77 prijemnik realnog vremena za sinhronizaciju.

// HEX Data on RS232:
// 0000000000111111111122222222223333333333444444444455555555556666
// 0123456789012345678901234567890123456789012345678901234567890123
// 0011222233334444445555556666777788889999AAAABBBBCCCCDDDDEEEE  DA
// m s  RH  T    P    T2   RH2  S0  S1 Suv R1h  R   W   WX  WY   nr


LINUX – najcešce komande

$ sudo ime_kom		substitute user do (omogucuje izvršavanje komandi kao drugi korisnik)
$ pwd			prikaži ime radnog direktorijuma
$ cd ime_dir		promeni direktorijum
$ ls			lista fajlova u direktorijumu
$ ls -altr		lista fajlova u direktorijumu, poredjaj po vremenu formiranja fajla
$ mkdir ime_dir	kreiraj novi direktorijum
$ rmdir ime_dir	izbriši direktorijum
$ rm ime		izbriši fajl
$ rm *.txt		izbriši fajlove sa ekstenzijom txt
$ touch ime		kreiraj tekst fajl u tekucem direktorijumu
$ mv ime1 ime2		promeni ime  fajla
$ cp ime /ime_dir	kopiraj fajl u direktorijum
$ less ime		aplikacija za pregledanja fajlova (prekid pritiskom na Q)
$ nano ime		tekst editor
$ ./ime_prg		izvrši program
$ exit			izlazak iz shell-a ako smo logovani kao root ili neki drugi korisnik
$ man ime_kom		upustvo za komande i ostalo
$ df 			prikaži prostor na disku
$ free 			prikaži prostor RAM memorije
$ ps aux		lista svih procesa
$ top			zauzece procesora
$ tar cvf ime.tar /ime_dir	pakovanje fajlova bez kompresije sa imenom direktorija
$ tar xvf ime.tar	raspakivanje fajlova	
$ tar cvf ime.tgz /ime_dir	kompresija fajlova sa imenom direktorija
$ tar xvf ime.tgz	dekompresija fajlova	
$ zip ime.zip *.*	kompresija svih fajlova u direktorijumu	
$ unzip –La ime.zip 	dekompresija fajlova
$ chown ime		promena vlasništva fajla ili direktorijuma
$ chmod	ime		promena dozvola na fajlu ili folderu, prvi broj predstavlja kreatora, drugi grupu i tereci bilo koga. 
			(read = 4, write = 2, exec = 1)
$ chmod 000 		nije dozvoljeno ništa
$ chmod 644 		najcešce dozvole
$ chmod 754		korisnik – može sve, grupa – da cita i izvršava, i bilo ko – može samo da čita
$ chmod 755		korisnik – može sve, grupa – da cita i izvršava, i bilo ko – da čita i izvršava
$ id			identifikacija korisnika
$ date			prikaži sistemsko vreme

$ sudo shutdown –h now iskljuci racunar (RPi)

nano - tekst editor komande:

Ctrl+G = HELP
Ctrl+K = CAT LINE
Alt+6 = COPY LINE
Ctrl+U = PASTE LINE

Ctrl+O = SAVE FILE
Ctrl+X = QUIT
Ctrl+C = Cursor position
Ctrl+W = Search text
Alt+W = Replace
Alt+R = Search and replace

Instalacija operativnog sistema

Skinuti YYYY-mm-dd-raspbian-stretch-lite, raspakovati sa 7-Zip, snimiti iso file na micro SD karticu od 4GB pomocu Win32 Disk Imager
User: pi
Password: raspberry
$ df –h 		prikaži prostor na disku 
$ free -h 		prikaži prostor RAM memorije
$ hostname -I 		prikaži net adresu RPi-ja

Promenite password
$ passwd

Instalacija RS232
$sudo nano /boot/config.txt
Dodati liniju: enable_uart=1
$sudo nano /boot/cmdline.txt
Izbrisati console=serial0,115200
$sudo reboot

Instalacija Minicom
$ sudo apt-get install minicom
$ minicom –b 9600 –o –D /dev/serial0
Exit with: Ctrl-A Q

Testing serial comunication ower Minicom.

Instalacija SSH telnet
$ sudo systemctl enable ssh
$ sudo systemctl start ssh

Instalacija Apache servera i PHP:
$ sudo apt-get install apache2 -y
$ sudo apt-get install php libapache2-mod-php -y

Instalacija FTP servera:
$ sudo apt-get install pure-ftpd
$ sudo groupadd ftpgroup
$ sudo useradd ftpuser -g ftpgroup -s /sbin/nologin –d /dev/null
$ sudo mkdir /home/pi/FTP
$ sudo chown –R ftpuser:ftpgroup /home/pi/FTP
$ sudo pure-pw useradd upload –u ftpuser –g ftpgroup –d /home/pi/FTP –m
$ sudo pure-pw mkdb
$ sudo ln –s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/60puredb
$ sudo service pure-ftpd restart

Configuracija SPI, I2C, 1-Wire
$ sudo raspi-config

Enable P4 SPI, P5 I2C, P7 1-Wire
$ sudo apt-get install i2c-tools
$ sudo apt-get install python-smbus

Testirajte
$ sudo i2cdetect -y 1


Instalacija WiringPi:
$ sudo apt-get install git-core
$ cd
$ git clone git://git.drogon.net/wiringPi
$ cd ~/wiringPi
$ git pull origin
$ ./build

$ gpio -v

U FILE:
$ sudo nano /boot/config.txt
Dodati liniju: dtoverlay=w1-gpio
$ sudo reboot

Formiranje RAM DISK

$ sudo mkdir /var/tmp1
u File /etc/fstab dodati:
$ sudo nano /etc/fstab
.
.
.
tmpfs /var/tmp1 tmpfs nodev,nosuid,size=1M 0 0
$ sudo mount -a
$ df

CPU monitoring

$ vcgencmd measure_temp
temp=39.5'C
$ vcgencmd measure_volts
volt=1.2000V
$ vcgencmd measure_clock arm
frequency(45)=600064000
$ vcgencmd get_config int
...

Više na: https://elinux.org/RPI_vcgencmd_usage

Instalacija software RPi3 WS - Raspberry Pi 3 Weather Station

Kompajlirajte softver pomoću gcc:
$ gcc ws3.c -o ws3 -lm
Testirajte softver pomoću:
$ ./ws3

U fajlu /etc/rc.local:
$ sudo nano /etc/rc.local
Dodati liniju:
sudo /home/pi/ws3

Napravimo direktorijum : /var/www/data/
$ cd /var/www
$ sudo mkdir data
$ sudo chmod 777 data
Raspakujte fajlove rpi3_ws.tar u directorijum /var/www/html
$ tar xvf rpi3_ws.tar

$ ls /var/www/html
index.php	styles.css	ws_back1.jpg		ws_back2.jpg	yt2fsg.ico
Razmena podataka izmedju /var/www/html/index.php i programa /home/rpi/ws3 je pomoću fajla:
Temperatura vazduha (°C), atmosverski pritisak (mbar), vlažnost vazduha (%), jačina sunčeve svetlosti (lux) i (W/m2), UV index,
padaviname u poslednjem satu (mm/h) i tekućem satu (mm), brzina vetra (m/s) srednja vrednost u 1 minuti, pravac vetra (°)
nalaze se na RAM-DISK-u (ws3 upisuje svake sekunde, PHP cita):
File: /var/tmp1/wdata.txt
25.6  1002 30.9    49  0.4  0     0     0 0.0 237

Akvizicija podataka za svaki dan nalaze se na FLASH-DISK-u (ws3 upisuje svaki minut, može da se čita pomocu MS-Excel-a):
File: /var/www/data/wYYYYmmdd.csv
12:37:00; 25.6;  1002; 30.9;    49;  0.4;  0;     0;     0; 0.0; 237
12:38:00; 25.5;  1002; 31.1;    45;  0.4;  0;     0;     0; 0.0; 237
12:39:00; 25.5;  1002; 30.8;    50;  0.4;  0;     0;     0; 0.0; 237
12:40:00; 25.6;  1002; 30.8;   132;  1.0;  0;     0;     0; 0.0; 237
12:41:00; 25.8;  1002; 34.2;   646;  5.1;  1;     0;     0; 0.0; 202
12:42:00; 29.5;  1002; 26.4;  1526; 12.1;  4;     0;     0; 0.0; 306
12:43:00; 31.7;  1002; 24.1;  1137;  9.0;  3;     0;     0; 0.0; 295
12:44:00; 33.8;  1002; 21.8;   835;  6.6;  2;     0;     0; 0.0; 291
12:45:00; 31.4;  1002; 24.6;   228;  1.8;  0;     0;     0; 0.0; 321
12:46:00; 29.8;  1002; 25.8;   246;  1.9;  0;     0;     0; 0.0; 321
12:47:00; 28.9;  1002; 27.0;   236;  1.9;  0;     0;     0; 0.0; 319
12:48:00; 28.3;  1002; 27.5;   237;  1.9;  0;     0;     0; 0.0; 320
12:49:00; 27.8;  1002; 28.0;   225;  1.8;  0;     0;     0; 0.0; 319
12:50:00; 27.4;  1002; 28.8;   217;  1.7;  0;     0;     0; 0.0; 320
12:51:00; 27.2;  1002; 29.0;   220;  1.7;  0;     0;     0; 0.0; 320
12:52:00; 27.1;  1002; 29.4;   139;  1.1;  0;     0;     0; 0.0; 320


Download File:
  • ws3.c - Software za RPi3, C izvorni kod
  • rpi3_ws.tar - Software za RPi3, PHP izvorni kod
  • Šema RPi3 WS