Cuprins:

Configurați de la Scratch un Raspberry Pi pentru a înregistra date de la Arduino: 5 pași
Configurați de la Scratch un Raspberry Pi pentru a înregistra date de la Arduino: 5 pași

Video: Configurați de la Scratch un Raspberry Pi pentru a înregistra date de la Arduino: 5 pași

Video: Configurați de la Scratch un Raspberry Pi pentru a înregistra date de la Arduino: 5 pași
Video: High Density 2022 2024, Noiembrie
Anonim
Configurați de la zero un Raspberry Pi pentru a înregistra date de la Arduino
Configurați de la zero un Raspberry Pi pentru a înregistra date de la Arduino

Acest tutorial este pentru cei care nu au experiență în instalarea unui nou hardware sau software, darămite Python sau Linux.

Să presupunem că ați comandat Raspberry Pi (RPi) cu card SD (cel puțin 8 GB, am folosit 16 GB, tip I) și sursă de alimentare (5 V, cel puțin 2,5 A). Astăzi decideți să o configurați și să înregistrați date de la Arduinos. Deci, să începem!

Tutorialul include configurarea Raspberry Pi de la început, inclusiv Desktop Remote, pregătirea unui Arduino cu senzori de temperatură 18B20 și executarea unui script Python în Raspberry Pi pentru a colecta și salva datele. Am actualizat postarea adăugând partajare samba pentru a transfera fișierul între computerul gazdă (computerul dvs.) și Raspberry Pi

Pasul 1: Pregătiți Raspberry Pi

Pregătiți Raspberry Pi
Pregătiți Raspberry Pi
Pregătiți Raspberry Pi
Pregătiți Raspberry Pi
Pregătiți Raspberry Pi
Pregătiți Raspberry Pi
Pregătiți Raspberry Pi
Pregătiți Raspberry Pi
  1. Descărcați sistemul de operare pentru RPi. Vă recomand o versiune completă a Raspbian, ca aceasta aici.
  2. Să presupunem că aveți un computer funcțional care rulează pe Windows, descărcați software-ul Rufus pentru a scrie imaginea pe cardul SD. Derulați în jos și obțineți rufus 3.0 (iunie 2018)
  3. Dezarhivați fișierul Raspbian (4,6 GB) și selectați cu atenție cardul SD țintă. Durează aproximativ 3 minute pentru a finaliza scrierea imaginii pe card.
  4. Introduceți cardul SD în slot, conectați cablul de alimentare la portul micro USB, un afișaj cu cablu HDMI, o tastatură, un mouse este opțional.
  5. Așteptați până la pornirea RPi și afișați desktopul, apăsați tasta Window, accesați Accesorii / Terminal și Enter.
  6. Configurați RPi după tip:

sudo raspi-config

7. Schimbați câteva lucruri în configurația RPi:

  • În 1. Schimbați parola
  • În 2. Opțiune de rețea: Schimbați numele gazdei (ceva unic, al meu este rpi1001) și SSID și parolă wifi.
  • În 4. Opțiuni de localizare: Schimbați fusul orar, tastatura, localizarea
  • În 5. Opțiuni de interfațare: activați SSH (pentru a vă conecta prin linia de comandă), activați VNC (pentru desktop la distanță)
  • În 7: Opțiune avansată: Extindeți sistemele de fișiere:
  • Reporniți
  • După pornire: notați adresa IP rulând

sudo ifconfig

Dacă Ethernet folosește, IP-ul ar trebui să fie primul bloc, dacă este utilizat Wifi, IP-ul este pe al treilea bloc, ceva de genul 192.168.1.40, rulați această comandă pentru a actualiza distro-ul Linux:

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

Ultimul va opri RPi după ce ați terminat cu actualizările

8. Dacă ați uitat nota IP-ului RPi sau este modificată recent, utilizați PowerShell (tastați PowerShell pentru a căuta caseta în Windows)

În PowerShell pentru a face ping Rpi: p ing rpi1001.local –4 obține ceva de genul 192.168.1.40. rpi1001 este numele meu de gazdă pentru Rpi.

9. Instalați VNCViewer, acest software funcționează ca TeamViewer sau Desktop Remote pe Windows (doar Win 10 Pro are funcția Desktop Remote).

Instalați pe computerul dvs. Windows, în caseta de căutare din partea de sus a VNCViewer, tastați IP-ul RPi (192.168.1.40) sau numele gazdei RPi (al meu este rpi1001.local) și Enter. Introduceți numele parolei RPi, selectați „Rețineți parola”, dacă doriți. Dacă totul a mers bine, ar trebui să vedeți desktopul pop-up Rpi.

10. Pentru a transfera fișierul de la sau către TeamView, cel mai simplu mod de a utiliza transferul de fișiere încorporat de către VNCView:

Și asta, puteți utiliza un Raspberry pentru a colecta date pentru dvs. și vă puteți conecta pentru a obține date atunci când este necesar.

Pasul 2: Pregătiți un exemplu simplu pentru a colecta date de la Arduino

Pregătiți un exemplu simplu pentru a colecta date de la Arduino
Pregătiți un exemplu simplu pentru a colecta date de la Arduino
Pregătiți un exemplu simplu pentru a colecta date de la Arduino
Pregătiți un exemplu simplu pentru a colecta date de la Arduino

Să presupunem că doriți să colectați temperatura de la 4 senzori. În acest exemplu, am folosit 18B20, un senzor de temperatură popular. Alte opțiuni sunt familia TMP35, 36 sau un termistor.

Cablajul este inclus mai sus. 18B20s împărtășesc firul (sau autobuzul) și iată codul Arduino de pe Github. Atașamentul din fișierul de mai jos conține codurile și harta de cablare.

De asemenea, instalați driverul USB pentru Arduino în Windows. Cele mai multe „clone” Arduino folosesc driverul USB CH341. Șoferul este aici.

Instalați driverul, atunci când conectați Arduino la USB-ul Windows-ului dvs., acesta ar trebui să recunoască driverul și să atribuie un port COM (al meu este COM4)

Monitorul serial ar trebui să iasă la fel ca fotografia de mai sus.

Pasul 3: Porniți RPi prin deconectare și conectați alimentarea la RPi. Porniți VNCViewer, conectați-vă RPi

Porniți RPi prin deconectare și conectați alimentarea la RPi. Porniți VNCViewer, conectați-vă RPi
Porniți RPi prin deconectare și conectați alimentarea la RPi. Porniți VNCViewer, conectați-vă RPi
Porniți RPi prin deconectare și conectați alimentarea la RPi. Porniți VNCViewer, conectați-vă RPi
Porniți RPi prin deconectare și conectați alimentarea la RPi. Porniți VNCViewer, conectați-vă RPi
Porniți RPi prin deconectare și conectați alimentarea la RPi. Porniți VNCViewer, conectați-vă RPi
Porniți RPi prin deconectare și conectați alimentarea la RPi. Porniți VNCViewer, conectați-vă RPi
Porniți RPi prin deconectare și conectați alimentarea la RPi. Porniți VNCViewer, conectați-vă RPi
Porniți RPi prin deconectare și conectați alimentarea la RPi. Porniți VNCViewer, conectați-vă RPi

Transferați scriptul Python, utilizând instrumentul VNCViewer. Există un banner în partea de sus a VNCViewer, căutați două butoane săgeți. Pentru a transfera date de la RPi la Windows, utilizați simbolul Transfer fișiere în VNC din partea dreaptă sus (lângă simbolul Wifi) de pe desktopul RPi.

Raspberry rulează pe Linux, iar Python 2 și 3 sunt instalate în mod implicit. Trebuie doar să instalați o bibliotecă Python numită pyserial pentru a colecta date tipărite de pe linia de serie.

pentru a instala Python Serial, tastați această linie la terminalul Linux

sudo apt-get install python3-serial

  • în Windows: tastați acest PowellShell:
  • pip.exe instalează pyserlal

Apoi descărcați scriptul și salvați-l pe desktopul RPi

Pentru a rula scriptul, faceți-l mai întâi executabil prin:

sudo chown u + x recordSerial.py

Încărcați codul Arduino pe placa Arduino, apoi conectați cablul USB cu USB la, verificați portul prin:

  • Pe Linux, tastați acest lucru la terminal: ls / dev / ttyUSB *
  • Pe Windows: accesați Device Manager, verificați COM #

Dacă scriptul este modificat pe Windows, poate fi necesar să rulați scriptul Python în dos2unix pentru a elimina caracterul ciudat de finalizare a liniei de Windows. Instalați-l de

sudo apt-get install dos2unix

și convertiți scriptul executând acest lucru în terminal

dos2unix recordSerial.py

Am modificat portul real din script printr-un editor de text:

sudo nano recordSerial.py

apoi rulați./recordSerial.py yourfilename.txt

Scriptul Python va salva datele de pe RAM pe disc pentru fiecare 10 linii, care pot fi ajustate.

Pentru a opri înregistrarea, apăsați Ctrl + C, Scriptul poate fi rulat pe Windows (dublu clic), numele datelor din jurnal este implicit, care include un timestamp

Dacă utilizați PowerShell, puteți introduce numele fișierului personalizat, python.exe recordSerial.py awesome.txt

Nu toți cei 18B20 sunt la fel. Vezi citirea!

Am împins codul și pe GitHub.

Sper că acest tutorial vă va fi de ajutor!

Pasul 4: Instalați Samba pentru a partaja dosarul

Instalați Samba to Share Folder
Instalați Samba to Share Folder
Instalați Samba to Share Folder
Instalați Samba to Share Folder
Instalați Samba to Share Folder
Instalați Samba to Share Folder

Acest pas vă va ghida prin unele setări de bază pentru a avea un folder partajat găzduit pe Raspberry Pi, care poate fi accesat de pe alte computere.

Mai întâi, instalați samba, un program pentru partajarea și gestionarea folderului de partajare în rețea:

sudo apt-get install samba

creați un folder partajat

mkdir ~ / Desktop / sambaShare

modificați fișierul de configurare pentru samba prin:

sudo samba /etc/samba/smb.conf

adăugați următoarele rânduri la sfârșitul fișierului:

[sambaShare] comentariu = partajare folder pe căi RPI de cercetare = / home / pi / Desktop / sambaShare navigabil = da numai citire = nu scriere = da public = da crea mască = 0777 mască rectorală = 0777 invitat ok = da

Dacă aveți problema cu scrierea pe Windows, forțați-o adăugând această linie la sfârșitul fișierului: forțați utilizatorul = pi

Pe Linux, poate fi necesar să utilizați utilizatorul root (voi posta problema odată ce am aflat)

Apoi, adăugați un utilizator la samba și creați și o parolă:

sudo smbpasswd -a pi

apoi introduceți o parolă pentru samba (poate fi aceeași sau diferită de parola pentru utilizatorul pi din sistem)

testați dacă fișierul de configurare este în regulă

testparm

apăsați Ctrl + X pentru a salva, apoi reporniți serviciul samba prin:

sudo systemctl reporniți smbd

Pe computerul gazdă, să spunem Linux:

dacă nu da, instalați samba plus sambaclient și cifs pentru a susține unitatea de partajare, vă rugăm să faceți acest lucru executând:

sudo apt-get instalează samba smbclient cifs-utils

Verificați dacă folderul partajat de pe RPI este gata de:

sudo smbclient -L yourRPI_IP

dacă vedeți unitatea de partajare, creați un punct de montare pe Linux:

sudo mkdir / mnt / researchRPi

sudo chown user: usergroup -R / mnt / researchRPI

user, usergroup este numele dvs. de utilizator și grup Linux

apoi montați partajarea prin:

sudo mount -f cifs -o nume de utilizator = pi // your_rpi_IP / sambaShare / mnt / researchRPi

introduceți parolele și creați o legătură ușoară către desktop:

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

dacă aveți probleme cu permisiunea de citire-scriere în dosarul de partajare, experimentați cu o permisiune slabă:

pe PI:

sudo chmod -R 776 ~ / Desktop / sambaShare

Pe Windows, este și mai ușor, Mergeți la Computerul meu și mapați un folder, apoi introduceți IP-ul RPI, ar trebui să apară folderul partajat. Cred că există ceva pe Mac pe care îl puteți naviga în folderul partajat din rețea.

Pasul 5: Referințe utile

Mai jos sunt câteva referințe utile:

  1. Există o altă abordare aici folosind biblioteci pyserial și numpy
  2. O privire cuprinzătoare asupra comunicațiilor electronice începe de la instalarea Arduino IDE. O referință bună dacă doriți o scufundare mai profundă.
  3. O scriere scurtă, dar concretă. O opțiune scurtă și suficientă pentru alternative pentru înregistrarea datelor

Recomandat: