Sommario:

Configura da zero un Raspberry Pi per registrare i dati da Arduino: 5 passaggi
Configura da zero un Raspberry Pi per registrare i dati da Arduino: 5 passaggi

Video: Configura da zero un Raspberry Pi per registrare i dati da Arduino: 5 passaggi

Video: Configura da zero un Raspberry Pi per registrare i dati da Arduino: 5 passaggi
Video: Raspberry Pi: installare il sistema operativo e configurare la scheda 2024, Novembre
Anonim
Configura da zero un Raspberry Pi per registrare i dati da Arduino
Configura da zero un Raspberry Pi per registrare i dati da Arduino

Questo tutorial è per coloro che non hanno esperienza con l'installazione di un nuovo hardware o software, per non parlare di Python o Linux.

Diciamo che hai ordinato a Raspberry Pi (RPi) con scheda SD (almeno 8 GB, ho usato 16 GB, tipo I) e alimentazione (5 V, almeno 2,5 A). Oggi decidi di configurarlo e registrare i dati da Arduinos. Quindi cominciamo!

Il tutorial include la configurazione di Raspberry Pi dall'inizio, incluso Desktop Remote, la preparazione di un Arduino con sensori di temperatura 18B20 e l'esecuzione di uno script Python in Raspberry Pi per raccogliere e salvare i dati. Ho aggiornato il post con l'aggiunta della condivisione samba per trasferire il file tra il computer host (il tuo PC) e il Raspberry Pi

Passaggio 1: preparare Raspberry Pi

Preparare il Raspberry Pi
Preparare il Raspberry Pi
Preparare il Raspberry Pi
Preparare il Raspberry Pi
Preparare il Raspberry Pi
Preparare il Raspberry Pi
Preparare il Raspberry Pi
Preparare il Raspberry Pi
  1. Scarica il sistema operativo per RPi. Raccomando una versione completa di Raspbian, come questa qui.
  2. Supponiamo di avere un computer funzionante con Windows, scarica il software Rufus per scrivere l'immagine sulla scheda SD. Scorri verso il basso e ottieni rufus 3.0 (giugno 2018)
  3. Decomprimi il file Raspbian (4,6 GB) e seleziona attentamente la tua scheda SD di destinazione. Sono necessari circa 3 minuti per completare la scrittura dell'immagine sulla scheda.
  4. Inserisci la scheda SD nello slot, collega il cavo di alimentazione alla porta micro USB, un display con cavo HDMI, una tastiera, un mouse è opzionale.
  5. Attendi fino a quando RPi si avvia e mostra il desktop, premi il tasto Finestra, vai su Accessori/Terminale e Invio.
  6. Configura RPi per tipo:

sudo raspi-config

7. Cambia un paio di cose nella configurazione di RPi:

  • In 1. Cambia password
  • In 2. Opzione di rete: cambia nome host (qualcosa di unico, il mio è rpi1001) e SSID e password wifi.
  • In 4. Opzioni di localizzazione: cambia fuso orario, tastiera, impostazioni internazionali
  • In 5. Opzioni di interfaccia: Abilita SSH (per accedere tramite riga di comando), Abilita VNC (per desktop remoto)
  • In 7: Opzione avanzata: Espandi filesystem:
  • Riavviare
  • Dopo l'avvio: annotare l'indirizzo IP eseguendo

sudo ifconfig

Se si utilizza Ethernet, l'IP dovrebbe essere il primo blocco, se si utilizza il Wifi, l'IP è nel terzo blocco, qualcosa come 192.168.1.40, eseguire questo comando per aggiornare la distribuzione Linux:

sudo apt-get update && sudo apt-get upgrade –y && sudo poweroff

L'ultimo spegnerà l'RPi dopo aver completato gli aggiornamenti

8. Se hai dimenticato la nota l'IP di RPi, o è cambiato di recente, usa PowerShell (digita PowerShell per cercare la casella in Windows)

In PowerShell per eseguire il ping di Rpi: ping rpi1001.local -4 ottieni qualcosa di simile a questo 192.168.1.40. rpi1001 è il mio nome host per il mio Rpi.

9. Installa VNCViewer, questo software funziona come TeamViewer o Desktop Remote su Windows (solo Win 10 Pro ha la funzione Desktop Remote).

Installa sul tuo computer Windows, nella casella di ricerca nella parte superiore di VNCViewer, digita l'IP di RPi (192.168.1.40) o il nome host di RPi (il mio è rpi1001.local) e Invio. Inserisci il tuo nome e la password di RPi, seleziona "Ricorda password" se lo desideri. Se tutto è andato bene, dovresti vedere il desktop Rpi pop-up.

10. Per trasferire file da o verso TeamView, il modo più semplice per utilizzare il trasferimento file integrato di VNCView:

E che puoi usare un Raspberry per raccogliere dati per te e accedere per ottenere dati quando necessario.

Passaggio 2: preparare un semplice esempio per raccogliere dati da Arduino

Prepara un semplice esempio per raccogliere dati da Arduino
Prepara un semplice esempio per raccogliere dati da Arduino
Prepara un semplice esempio per raccogliere dati da Arduino
Prepara un semplice esempio per raccogliere dati da Arduino

Diciamo che vuoi raccogliere la temperatura da 4 sensori. In questo esempio, ho usato 18B20, un popolare sensore di temperatura. Altre opzioni sono la famiglia TMP35, 36 o un termistore.

Il cablaggio è incluso sopra. I 18B20 condividono il filo (o bus), ed ecco il codice Arduino su Github. L'allegato nel file sottostante contiene anche i codici e la mappa del cablaggio.

Inoltre, installa il driver USB per Arduino in Windows. La maggior parte di Arduino "clona" utilizza il driver USB CH341. L'autista è qui.

Installa il driver, quando colleghi Arduino all'USB di Windows, dovrebbe riconoscere il driver e assegnare una porta COM (la mia è COM4)

Il monitor seriale dovrebbe produrre come la foto sopra.

Passaggio 3: avvia RPi scollegando e collegando l'alimentazione a RPi. Avvia VNCViewer, accedi al tuo RPi

Avvia RPi scollegando e collegando l'alimentazione a RPi. Avvia VNCViewer, accedi al tuo RPi
Avvia RPi scollegando e collegando l'alimentazione a RPi. Avvia VNCViewer, accedi al tuo RPi
Avvia RPi scollegando e collegando l'alimentazione a RPi. Avvia VNCViewer, accedi al tuo RPi
Avvia RPi scollegando e collegando l'alimentazione a RPi. Avvia VNCViewer, accedi al tuo RPi
Avvia RPi scollegando e collegando l'alimentazione a RPi. Avvia VNCViewer, accedi al tuo RPi
Avvia RPi scollegando e collegando l'alimentazione a RPi. Avvia VNCViewer, accedi al tuo RPi
Avvia RPi scollegando e collegando l'alimentazione a RPi. Avvia VNCViewer, accedi al tuo RPi
Avvia RPi scollegando e collegando l'alimentazione a RPi. Avvia VNCViewer, accedi al tuo RPi

Trasferisci lo script Python, utilizzando lo strumento VNCViewer. C'è un banner nella parte superiore del VNCViewer, cerca il pulsante con due frecce. Per trasferire dati da RPi a Windows, usa il simbolo Trasferimento file in VNC in alto a destra (vicino al simbolo Wifi) sul desktop di RPi.

Raspberry funziona su Linux e Python 2 e 3 sono installati per impostazione predefinita. Hai solo bisogno di installare una libreria Python chiamata pyserial per raccogliere i dati stampati dalla linea seriale.

per installare Python Serial, digita questa riga sul terminale Linux

sudo apt-get install python3-serial

  • in Windows: digita questo PowellShell:
  • pip.exe installa pyserlal

Quindi scarica lo script e salvalo sul desktop di RPi

Per eseguire lo script, prima rendilo eseguibile con:

sudo chown u+x recordSerial.py

Carica il codice Arduino sulla scheda Arduino, quindi collega il cavo USB con USB, controlla la porta:

  • Su Linux, digita questo nel terminale: ls /dev/ttyUSB*
  • Su Windows: vai in Gestione dispositivi, controlla COM #

Se lo script viene modificato su Windows, potrebbe essere necessario eseguire lo script Python su dos2unix per rimuovere il carattere strano di fine riga da Windows. Installalo da

sudo apt-get install dos2unix

e converti lo script eseguendolo nel terminale

dos2unix recordSerial.py

Modificata la porta effettiva nello script da un editor di testo:

sudo nano recordSerial.py

quindi esegui./recordSerial.py nomefile.txt

Lo script Python salverà i dati dalla RAM al disco ogni 10 righe, che possono essere regolate.

Per interrompere la registrazione, premi Ctrl + C, Lo script può essere eseguito su Windows (doppio clic), il nome dei dati di registro è l'impostazione predefinita che include un timestamp

Se usi PowerShell, puoi inserire il tuo nome file personalizzato, python.exe recordSerial.py impressionante.txt

Non tutti i 18B20 sono uguali. Guarda la lettura!

Ho anche inviato il codice a GitHub.

Spero che questo tutorial sia utile!

Passaggio 4: installa Samba per condividere la cartella

Installa Samba per condividere la cartella
Installa Samba per condividere la cartella
Installa Samba per condividere la cartella
Installa Samba per condividere la cartella
Installa Samba per condividere la cartella
Installa Samba per condividere la cartella

Questo passaggio ti guiderà attraverso alcune impostazioni di base per avere una cartella condivisa ospitata su Raspberry Pi a cui è possibile accedere da altri computer.

Innanzitutto, installa samba, un programma per condividere e gestire la cartella di condivisione in rete:

sudo apt-get install samba

creare una cartella condivisa

mkdir ~/Desktop/sambaShare

modificare il file di configurazione per samba con:

sudo samba /etc/samba/smb.conf

aggiungi le seguenti righe alla fine del file:

[sambaShare] comment = condividi cartella su ricerca RPI percorso = /home/pi/Desktop/sambaShare sfogliabile = si sola lettura = no scrivibile = si public = si crea maschera = 0777 canonica mask = 0777 ospite ok = si

Se hai il problema con la scrittura su Windows, forzalo aggiungendo questa riga alla fine del file: force user = pi

Su Linux, potrebbe essere necessario utilizzare l'utente root (pubblicherò il problema una volta scoperto)

Quindi, aggiungi un utente a samba e crea anche una password:

sudo smbpasswd -a pi

quindi inserisci una password per samba (può essere uguale o diversa dalla password per l'utente pi sul sistema)

prova se il file di configurazione va bene

testparm

premi Ctrl+X per salvare, quindi riavvia il servizio samba con:

sudo systemctl riavvia smbd

Sul computer host, diciamo Linux:

in caso contrario, installa samba plus sambaclient e cifs per supportare l'unità di condivisione, esegui l'operazione:

sudo apt-get installa samba smbclient cifs-utils

Controlla se la cartella condivisa su RPI è pronta:

sudo smbclient -L yourRPI_IP

se vedi l'unità di condivisione, crea un punto di montaggio su Linux:

sudo mkdir /mnt/researchRPi

sudo chown user:usergroup -R /mnt/researchRPI

user, usergroup è il tuo utente Linux e il nome del gruppo

quindi monta la condivisione di:

sudo mount -f cifs -o username=pi //your_rpi_IP/sambaShare /mnt/researchRPi

inserisci le tue password e crea un collegamento software al tuo desktop:

sudo ln -s /mnt/researchRPi ~/Desktop/researchRPi

se hai problemi con l'autorizzazione di lettura-scrittura sulla cartella condivisa, prova con un'autorizzazione debole:

su PI:

sudo chmod -R 776 ~/Desktop/sambaShare

Su Windows è ancora più semplice, Vai su Risorse del computer e mappa una cartella, quindi inserisci l'IP di RPI, dovrebbe apparire la cartella condivisa. Credo che ci sia qualcosa su Mac che puoi sfogliare nella cartella condivisa in rete.

Passaggio 5: riferimenti utili

Di seguito alcuni riferimenti utili:

  1. C'è un altro approccio qui usando le librerie pyserial e numpy
  2. Uno sguardo completo alla comunicazione elettronica inizia dall'installazione di Arduino IDE. Un buon riferimento se vuoi un'immersione più profonda.
  3. Uno scritto breve ma concreto. Opzioni brevi e sufficienti per le alternative per registrare i dati

Consigliato: