Cuprins:
- Pasul 1: Pregătiți Raspberry Pi
- Pasul 2: Pregătiți un exemplu simplu pentru a colecta date de la Arduino
- Pasul 3: Porniți RPi prin deconectare și conectați alimentarea la RPi. Porniți VNCViewer, conectați-vă RPi
- Pasul 4: Instalați Samba pentru a partaja dosarul
- Pasul 5: Referințe utile
Video: Configurați de la Scratch un Raspberry Pi pentru a înregistra date de la Arduino: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
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
- Descărcați sistemul de operare pentru RPi. Vă recomand o versiune completă a Raspbian, ca aceasta aici.
- 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)
- 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.
- 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.
- Așteptați până la pornirea RPi și afișați desktopul, apăsați tasta Window, accesați Accesorii / Terminal și Enter.
- 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
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
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
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:
- Există o altă abordare aici folosind biblioteci pyserial și numpy
- O privire cuprinzătoare asupra comunicațiilor electronice începe de la instalarea Arduino IDE. O referință bună dacă doriți o scufundare mai profundă.
- O scriere scurtă, dar concretă. O opțiune scurtă și suficientă pentru alternative pentru înregistrarea datelor
Recomandat:
Realizarea unei date de imprimantă 3D pentru carcasă pentru modul electronic de la Blender .: 6 pași
Realizarea unei date de imprimantă 3D pentru carcasă pentru modul electronic de la Blender: aveți nevoie de ele (Exemplul I folosit). Imprimantă 3D (TEVO Tarantula) Scanner 2D (CanoScan LiDE 200) Editor de date 3D (Blender) Editor de date 2D (Paint Shop Pro) https://neo-sahara.com/wp/case_make_blender
Cum să preluați date dintr-o bază de date Firebase pe NodeMCU: 7 pași
Cum să preluăm date dintr-o bază de date Firebase pe NodeMCU: Pentru acest lucru instructiv, vom prelua date dintr-o bază de date în Google Firebase și le vom prelua folosind un NodeMCU pentru analiză ulterioară. CERINȚE DE PROIECT: 1) NodeMCU sau controler ESP8266 cont pentru crearea unei baze de date Firebase. 3) Descărcați
Cum să configurați Arduino IDE pentru a lucra cu plăcile Tinusaur .: 3 pași
Cum să configurați Arduino IDE pentru a lucra cu plăcile Tinusaur. Acesta este un scurt ghid despre cum să configurați Arduino IDE pentru a funcționa cu plăcile Tinusaur. . Singura diferență este că va apărea pe lista de tablouri ca Tinusau
Cum să programați Audacity pentru a înregistra la un anumit moment: 8 pași
Cum să programați Audacity pentru a înregistra la un anumit moment: este un truc rapid, folosiți-l pentru a spiona, pentru a înregistra un apel telefonic sau pur și simplu pentru a înregistra discursul de istorie în timp ce sunteți afară Folosind aplicația populară Open-source
Cum să: configurați un firewall IPCop pentru mașini virtuale pentru a vă proteja gazda Windows (gratuit!): 5 pași
Cum să: configurați un firewall IPCop pentru mașină virtuală pentru a vă proteja gazda Windows (gratuit!): Rezumat: Obiectivul acestui proiect este de a utiliza IpCop (distribuție gratuită Linux) într-o mașină virtuală pentru a proteja un sistem gazdă Windows în orice rețea. IpCop este un firewall foarte puternic bazat pe Linux, cu funcții avansate precum: VPN, NAT, Intrusion Det