Io utilizzo un MacBookPro del 2010 con sistema operativo macOS High Sierra versione 10.13.6. Se utilizzate Windows trovate informazioni aggiuntive sul web. Se utilizzate Linux sapete già tutto. Se siete a conoscenza dei comandi Linux principali partite avantaggiati, in ogni caso non fatevi problemi, potete sempre ripartire da capo riscrivendo la SD. Come editor di testo Linux utilizzo nano, semplice ed efficace. Ho utilizzato un Raspberry Pi 3 Model B che avevo a disposizione. Scaricate Raspberry Pi OS dal sito web: https://www.raspberrypi.com/software/operating-systems/ Personalmente preferisco la versione Lite (Raspberry Pi OS Lite), senza interfaccia grafica e interagisco con il Raspberry via rete tramite Terminale sul Mac. Se usate Windows probabilmente dovrete utilizzare un programma che emuli il Terminale ad esempio Putty. In alternativa potete utilizzare tastiera e monitor connessi al Raspberry. Se preferite installate la versione con interfaccia grafica. Dopo aver scaricato il file del sistema operativo potete controllare l’integrità con: shasum -a 256 /percorso/verso/il/file. Per evitare problemi consiglio di utilizzare una “SanDisk Ultra micro-SDHC UHS-I" da 8 GB o superiore, classe 10”. Per lo stesso motivo consiglio di utilizzare una scheda audio "Logilink UA0053". Formattate la card SD con: SD Card Formatter o programma analogo. Scrivete l'immagine disco del sistema operativo con: balenaEtcher o programma analogo. Il nuovo Raspberry Pi OS non ha più l'utente pi di default per cui non è più sufficiente creare un file vuoto nella partizione boot nominandolo ssh per potersi collegare da remoto. Occorre creare un file vuoto nominato ssh e un file di testo nominato userconf.txt con la stringa nome_utente:password_criptata e copiarli nella partizione boot. Per creare la password criptata lanciate il Terminale sul computer e digitate: echo test | openssl passwd -stdin (al posto di test scrivete la password desiderata) ad esempio password: raspberry echo raspberry | openssl passwd -stdin questo un risultato possibile: 0R9fcaXpeyK7I Ogni volta che si esegue questo comando il risultato sarà diverso ma corretto, quindi per utente: pi e password: raspberry il file userconf.txt avrà come possibile testo: pi:0R9fcaXpeyK7I Potete utilizzare questo testo e cambiare la password in un secondo momento. (In alternativa potete connettere tastiera e monitor e all'avvio il Raspberry dovrebbe chiedere di attivare un account). Inserite la SD nel Raspberry, connettetelo al Router tramite cavo ethernet e alimentate. Collegatevi al router per vedere l'indirizzo ip assegnato al Raspberry. Nel mio caso: 192.168.1.101 Collegatevi al Raspberry con: ssh pi@192.168.1.101 o con l'indirizzo assegnato al vostro Raspberry. Se si presenta questo errore: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! Eseguite questi passaggi sul computer: cd /Users/nomeutente/.ssh Verificate con ls la presenza di known_hosts Rimuovetelo con rm known_hosts Collegatevi al Raspberry con: ssh pi@192.168.1.101 yes Digitate la password (raspberry) Con sudo raspi-config -> System Options Configure system settings -> Password Change password for the 'pi' user cambiate la password dell'utente pi con una password scelta da voi. Eseguite poi i passaggi seguenti: sudo apt-get update sudo apt-get upgrade Aspettate la conclusione delle operazioni e riavviate il Raspberry con: sudo reboot Inserite una nuova password per l'utente root sudo passwd root poi sudo nano /etc/ssh/sshd_config Nella sezione # Authentication inserite: PermitRootLogin yes Per salvare e uscire: Control o RETURN Control x Occorre riavviare SSH server con: service sshd restart Oppure riavviare il Raspberry con: sudo reboot Per cambiare il numero della porta: sudo nano /etc/ssh/sshd_config La porta 22 è di default, si può cambiare. Per assegnare un indirizzo ip statico, ad esempio 192.168.1.50: sudo nano /etc/dhcpcd.conf Aggiungete in testa: interface eth0 static ip_address=192.168.1.50/24 static routers=192.168.1.1 static domain_name_servers=8.8.8.8 Per salvare e uscire: Control o RETURN Control x Riavviate il Raspberry per rendere attive le nuove configurazioni con: sudo reboot Altri settaggi: sudo raspi-config (Localization Option) (Change Locale) (disabilitate en_GB.UTF-8 UTF-8) (abilitate it_IT.UTF-8 UTF-8) OK (Localization Option) (Change Timezone) ROME sudo raspi-config (con tastiera locale) (Generic 105-key (intl) PC) (Italian) OK OK OK (Utilizzate la barra spaziatrice per disabilitare e abilitare poi RETURN, le "frecce" per spostarsi). Due semplici script Python che possono tornare utili: blinkPi2.py fa lampeggiare il led inserito tra GPIO13 e massa (con resistenza da 4700ohm in serie) ogni 2 secondi per segnalare il funzionamento regolare e come uscita watch dog. pulsante_04.py permette di spegnere (pressione del pulsante minore di 3 secondi) o riavviare il Raspberry (pressione del pulsante maggiore di 3 secondi). Il pulsante è collegato tra GPIO21 e massa. Ho utilizzato due pulsanti in serie tra di loro per evitare di avviare la procedura inavvertitamente. Lo stesso led sul GPIO13 segnala lo spegnimento con 3 lampeggi o il riavvio con 10 lampeggi consecutivi. Copiate blinkPi2.py e pulsante_04.py in /home/pi utilizzando Cyberduck o programma analogo (configurandolo con l'indirizzo del Raspberry, porta 22 o con quella che eventualmente avete impostato e la password di root). Rendeteli eseguibili con: sudo chmod +x /home/pi/blinkPi2.py sudo chmod +x /home/pi/pulsante_04.py Per provare blinkPi2.py: sudo python /home/pi/blinkPi2.py Per terminare: Control C Per eseguire blinkPi2.py all'avvio: sudo nano /etc/rc.local (inserite prima di exit 0): if [ -f /home/pi/blinkPi2.py ]; then python /home/pi/blinkPi2.py & fi Per salvare e uscire: Control o RETURN Control x Riavviate il Raspberry con: sudo reboot Per provare pulsante_04.py: sudo python /home/pi/pulsante_04.py Per terminare: Control C Per eseguire pulsante_04.py all'avvio: sudo nano /etc/rc.local (inserite prima di exit 0): if [ -f /home/pi/pulsante_04.py ]; then python /home/pi/pulsante_04.py & fi Per salvare e uscire: Control o RETURN Control x Riavviate il Raspberry con: sudo reboot Il file vuoto ssh, il file userconf.txt, i codici Python per il Raspberry il codice per Arduino sono scaricabili dal Canale Telegram: I1SKV_Radiokit Questo il link di invito: https://t.me/+dproltvLf8BkMzNk Se non volete utilizzare il link di invito potete inquadrare il codice QR. Spero di non aver commesso errori, nel caso mi fate cosa gradita se me li segnalate. Sono a disposizione per eventuali chiarimenti e altre informazioni. italia1skv@gmail.com