- apt-get update = scarica la lista aggiornata dei pacchetti e delle nuove versioni disponibili. - apt-get upgrade = installa le versioni più recenti dei pacchetti che hai. - apt-get dist-upgrade = aggiorna la versione di Ubuntu. - apt-get install <nome-pacchetto> = installa il pacchetto <nome-pacchetto> da internet risolvendo le necessarie dipendenze. - apt-get remove <nome-pacchetto> = rimuove il pacchetto <nome-pacchetto> dal sistema. - apt-get remove --purge <nome-pacchetto> = rimuove il pacchetto <nome-pacchetto> dal sistema e i relativi file di configurazione configurazione.
- ls = è usato per elencare file o cartelle in Linux o in altri sistemi operativi basati su Unix. - pwd = serve a visualizzare il percorso della directory corrente. - cd = comando per cambiare directory es:(cd /etc). - cd .. = comando per spostarsi nella directory precedente.
- touch (nome_file) = comando per creare un file. - mkdir (nome) = comando per creare una cartella. - nano (nome_file) = comando per modificare file, se non esiste lo crea. - cp (nome_file_da_copiare)= comando per copiare file, mi posiziono nella directory desiderata e con cp do la directory del file da copiare. - cp -i = evita di sovrascrivere un file che si sta copiando. - mv (nome_file) (nuovo_nome) = comando per rinominare un file, si può usare anche per spostare file in un altra directory. - rm (nome_file) = comando per cancellare file. - rmdir (nome_cartella) = comando per eliminare cartella se è vuota.
- sudo = comando per utilizzare super user (da scrivere prima di altri comandi). - ifconfig = visualizzo stato interfacce di rete (vedo ip). - reboot = riavvia sistema - shutdown = arresta sistema - clear = pulisce il terminale - raspi-config
sudo service dhcpcd status
sudo service dhcpcd start sudo systemctl enable dhcpcd
cd /etc
sudo nano dhcpcd.conf
#interface eth0 #static ip_address=Ip visto da ifconfig/16 #static routers=10.0.0.1 (gateway) #static domain_name_servers=172.16.0.21 172.16.0.11
PS: non è necessario spostarsi nella directory per modificare i file basta specificarla quando si usa il comando es:nano /etc/dhcpcd.confRicordarsi di usare sudo ove necessario
sudo apt-get install php
sudo nano /var/www/html/index.php
<?php echo (phpinfo()) ?>
- Creiamo un file con l'apposito comando. (ricordo che si può utilizzare direttamente nano perché oltre a crearlo puoi subito modificarlo)nano prova.py
#!/usr/bin/python commento directory python print ("ciao a tutti")
python prova.py oppure: python3 prova.py
pinout
import time #import serve per importare una libreria, in questo caso importo la libreria per il tempo import RPi.GPIO as GPIO #importo la libreria per gestire GPIO GPIO.setwarnings(False) #comando per togliere eventuali warnings quando si esegue il programma GPIO.setmode(GPIO.BCM) #chiamo la funzione setmode della libreria, e dico che utilizzo il metodo BCM GPIO.setup (4, GPIO.OUT) #dichiaro che il GPIO 4 è un output while True: GPIO.output(4, True) #do i 3,3V in output time.sleep(2) #delay di 2 secondi GPIO.output(4, False) #do i 0V in output time.sleep(2) #delay di 2 secondi
php -v
<html> <head> <link rel="styesheet" type="text/css" href="bott.css"> //collegamento a css <form action = "index.php" method="post"> <input type = "submit" name="acceso" value="accendi led" class="ban-css"> //tasto submit </form> </head> <?php if ($_POST['acceso']){ //se premuto il submit allora eseguo il programma python $commandToExec= "sudo python /home/lab15/Desktop/ledd.py"; //do la directory di dove è il file python $output = shell_exec($commandToExec); echo $output; } ?> </html>
Controllare che siano abilitati i permessi root all'utente www-data. Per fare ciò dobbiamo spostarsi nella directory /etc e lanciare il comando sudo visudo. Dopo aver lanciato il comando si aprirà un documento dove dobbiamo inserire la seguente stringa o togliere il commento.
www-data ALL=NOPASSWD: ALL
pi ALL=(ALL)NOPASSWD:ALL
apache ALL=(ALL)NOPASSWD:ALL
potrebbe essere scritta anche così:
www-data ALL=PYTHON, NOPASSWD: ALL
sudo apt-get update (aggiorno lista) sudo apt-get upgrade (aggiorno i pacchetti)
sudo apt-get install apache2
cd /var/www/html
rm index.html nano index.html
PS: non è necessario spostarsi nella directory per modificare i file basta specificarla quando si usa il comando es:
nano /var/www/html/index.html
Ricordarsi di usare sudo ove necessario
sudo apt install code
wget -O - https://raw.githubusercontent.com/audstanley/NodeJs-Raspberry-Pi/master/Install-Node.sh | sudo bash; node -v;
node -v
Se provando a collegarsi a Raspberry in HTTP da il seguente errore: Forbidden You don't have permission to access / on this server. Allora dobbiamo seguire questi step per modificare i permessi
<Directory /> Options FollowSymLinks AllowOverride none Require all denied </Directory>
<Directory /> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory>
Approfondimento a questo link