Innholdsfortegnelse:

Sett opp fra scratch en Raspberry Pi for å logge data fra Arduino: 5 trinn
Sett opp fra scratch en Raspberry Pi for å logge data fra Arduino: 5 trinn

Video: Sett opp fra scratch en Raspberry Pi for å logge data fra Arduino: 5 trinn

Video: Sett opp fra scratch en Raspberry Pi for å logge data fra Arduino: 5 trinn
Video: My job is to observe the forest and something strange is happening here. 2024, Desember
Anonim
Sett opp fra scratch en Raspberry Pi for å logge data fra Arduino
Sett opp fra scratch en Raspberry Pi for å logge data fra Arduino

Denne opplæringen er for de som ikke har erfaring med å installere ny maskinvare eller programvare, enn si Python eller Linux.

La oss si at du har bestilt Raspberry Pi (RPi) med SD -kort (minst 8 GB, jeg brukte 16 GB, type I) og strømforsyning (5V, minst 2,5A). I dag bestemmer du deg for å sette det opp og registrere data fra Arduinos. Så la oss begynne!

Opplæringen inkluderer å sette opp Raspberry Pi fra begynnelsen, inkludert Desktop Remote, forberede en Arduino med 18B20 temperatursensorer og utføre et Python -script i Raspberry Pi for å samle og lagre dataene. Jeg oppdaterte innlegget med å legge til samba -share for å overføre filen mellom vertsmaskinen (din PC) og Raspberry Pi

Trinn 1: Forbered Raspberry Pi

Forbered Raspberry Pi
Forbered Raspberry Pi
Forbered Raspberry Pi
Forbered Raspberry Pi
Forbered Raspberry Pi
Forbered Raspberry Pi
Forbered Raspberry Pi
Forbered Raspberry Pi
  1. Last ned operativsystemet for RPi. Jeg anbefaler en fullversjon av Raspbian, som dette her.
  2. Anta at du har en fungerende datamaskin som kjører på Windows, last ned Rufus -programvare for å skrive bildet til SD -kortet. Rull ned og få rufus 3.0 (juni 2018)
  3. Pakk ut Raspbian -filen (4,6 GB), og velg SD -kortet ditt. Det tar omtrent 3 minutter å skrive bildet ferdig til kortet.
  4. Sett inn SD -kortet i sporet, sett i strømkabelen til mikro -USB -porten, en skjerm med HDMI -kabel, et tastatur, en mus er valgfri.
  5. Vent til RPi starter opp og vis skrivebordet, trykk på Window -tasten, gå til Tilbehør/Terminal og Enter.
  6. Konfigurer RPi etter type:

sudo raspi-config

7. Endre noen ting i RPi -konfigurasjon:

  • I 1. Endre passord
  • I 2. Nettverksalternativ: Endre vertsnavn (noe unikt, mitt er rpi1001), og wifi SSID og passord.
  • I 4. Lokaliseringsalternativer: Endre tidssone, tastatur, språk
  • I 5. Grensesnittalternativer: Aktiver SSH (for å logge på via kommandolinje), Aktiver VNC (for stasjonær fjernkontroll)
  • I 7: Advance Option: Utvid filsystemer:
  • Start på nytt
  • Etter oppstart: merk IP -adressen ved å kjøre

sudo ifconfig

Hvis Ethernet bruker, bør IP -en være den første blokken, hvis Wifi brukes, er IP -en på den tredje blokken, noe som 192.168.1.40, kjør denne kommandoen for å oppdatere Linux -distroen:

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

Den siste vil slå av RPi etter at du er ferdig med oppdateringene

8. Hvis du har glemt notatet IP -en til RPi, eller den er endret nylig, bruker du PowerShell (skriv PowerShell for å søke i Windows)

I PowerShell for å pinge Rpi: p ing rpi1001.local –4 får noe slikt 192.168.1.40. rpi1001 er vertsnavnet mitt for Rpi.

9. Installer VNCViewer, denne programvaren fungerer som TeamViewer eller Desktop Remote på Windows (bare Win 10 Pro har funksjonen Desktop Remote).

Installer på Windows -maskinen din, i søkeboksen øverst i VNCViewer, skriv inn RPis IP (192.168.1.40) eller RPis vertsnavn (mitt er rpi1001.local) og Enter. Skriv inn navnet ditt RPis passord, velg "Husk passord" hvis du ønsker det. Hvis alt gikk bra, bør du se popup-vinduet Rpi-skrivebordet.

10. For å overføre filer fra eller til TeamView, den enkleste måten å bruke innebygd filoverføring av VNCView:

Og at det, du kan bruke en bringebær til å samle inn data for deg, og logge inn for å få data når det trengs.

Trinn 2: Forbered enkelt eksempel for å samle inn data fra Arduino

Forbered enkelt eksempel for å samle inn data fra Arduino
Forbered enkelt eksempel for å samle inn data fra Arduino
Forbered enkelt eksempel for å samle inn data fra Arduino
Forbered enkelt eksempel for å samle inn data fra Arduino

La oss si at du vil samle temperaturen fra 4 sensorer. I dette eksemplet brukte jeg 18B20, en populær temperatursensor. Andre alternativer er TMP35, 36 -familien eller en termistor.

Ledningene er inkludert ovenfor. 18B20 -årene deler ledningen (eller bussen), og her er Arduino -koden på Github. Vedlegget i filen nedenfor inneholder også kodene og ledningskartet.

Installer også USB -driveren for Arduino i Windows. De fleste 'klone' Arduino bruker CH341 USB -driver. Sjåføren er her.

Installer driveren, når du kobler Arduino til Windows 'USB, bør den gjenkjenne driveren og tildele en COM -port (min er COM4)

Serial Monitor bør vises som bildet ovenfor.

Trinn 3: Start opp RPi ved å koble fra og koble strøm til RPi. Start VNCViewer, logg inn din RPi

Start RPi ved å koble fra og koble strøm til RPi. Start VNCViewer, logg inn din RPi
Start RPi ved å koble fra og koble strøm til RPi. Start VNCViewer, logg inn din RPi
Start opp RPi ved å koble fra og koble strøm til RPi. Start VNCViewer, logg inn din RPi
Start opp RPi ved å koble fra og koble strøm til RPi. Start VNCViewer, logg inn din RPi
Start opp RPi ved å koble fra og koble strøm til RPi. Start VNCViewer, logg inn din RPi
Start opp RPi ved å koble fra og koble strøm til RPi. Start VNCViewer, logg inn din RPi
Start opp RPi ved å koble fra og koble strøm til RPi. Start VNCViewer, logg inn din RPi
Start opp RPi ved å koble fra og koble strøm til RPi. Start VNCViewer, logg inn din RPi

Overfør Python -skriptet ved hjelp av VNCViewer -verktøyet. Det er et banner øverst på VNCViewer, se etter to piler. For å overføre data fra RPi til Windows, bruk filoverføringen i VNC-symbolet øverst til høyre (nær Wifi-symbolet) på RPi-skrivebordet.

Bringebær kjører på Linux, og Python 2 og 3 er installert som standard. Du trenger bare å installere et Python -bibliotek som heter pyserial for å samle inn data som skrives ut fra den serielle linjen.

For å installere python Serial, skriv denne linjen til Linux -terminalen

sudo apt-get install python3-serial

  • i Windows: skriv inn denne PowellShell:
  • pip.exe installer pyserlal

Last deretter ned skriptet og lagre det på RPi -skrivebordet

For å kjøre skriptet må du først gjøre det kjørbart ved å:

sudo chown u+x recordSerial.py

Last opp Arduino -koden til Arduino -kortet, og koble deretter USB -kabelen med USB til, sjekk porten ved å:

  • På Linux skriver du dette til terminalen: ls /dev /ttyUSB*
  • På Wndows: gå til Enhetsbehandling, sjekk COM #

Hvis skriptet er endret på Windows, må du kanskje kjøre Python -skriptet til dos2unix for å fjerne merkelig linjeavslutningstegn av Windows. Installer den ved

sudo apt-get install dos2unix

og konverter skriptet ved å kjøre dette i terminalen

dos2unix recordSerial.py

Endret den faktiske porten i skriptet av et tekstredigeringsprogram:

sudo nano recordSerial.py

kjør deretter./recordSerial.py ditt filnavn.txt

Python -skriptet lagrer dataene fra RAM -en til disken for hver 10. linje, som kan justeres.

For å stoppe opptaket, trykk Ctrl + C, Skriptet kan kjøres på Windows (dobbeltklikk), navnet på loggdata er standard som inkluderer et tidsstempel

Hvis du PowerShell, kan du skrive inn det tilpassede filnavnet ditt, python.exe recordSerial.py awesome.txt

Ikke alle 18B20 -er er like. Se avlesningen!

Jeg presset koden til GitHub også.

Håper denne opplæringen er nyttig!

Trinn 4: Installer Samba for å dele mappe

Installer Samba for å dele mappe
Installer Samba for å dele mappe
Installer Samba for å dele mappe
Installer Samba for å dele mappe
Installer Samba for å dele mappe
Installer Samba for å dele mappe

Dette trinnet vil lede deg gjennom noen grunnleggende oppsett for å ha en delt mappe på Raspberry Pi som du kan få tilgang til fra andre datamaskiner.

Installer først samba, et program for å dele og administrere delingsmappe på tvers av nettverket:

sudo apt-get install samba

lag en delt mappe

mkdir ~/Desktop/sambaShare

endre konfigurasjonsfilen for samba ved å:

sudo samba /etc/samba/smb.conf

legg til følgende linjer i slutten av filen:

[sambaShare] comment = share Folder on Research RPI path =/home/pi/Desktop/sambaShare browseable = ja skrivebeskyttet = nei skrivbar = ja offentlig = ja opprett maske = 0777 prestegårdsmaske = 0777 gjest ok = ja

Hvis du har problemet med å skrive på Windows, tvinger du det ved å legge denne linjen til slutten av filen: force user = pi

På Linux må du kanskje bruke rotbrukeren (jeg legger ut problemet når jeg fant det ut)

Deretter legger du til en bruker i samba og oppretter et passord også:

sudo smbpasswd -a pi

skriv deretter inn et passord for samba (kan være det samme eller annerledes enn passordet for pi -bruker på systemet)

test om konfigurasjonsfilen er ok

testparm

trykk Ctrl+X for å lagre, og start deretter samba -tjenesten på nytt ved å:

sudo systemctl start smbd på nytt

La oss si på vertsmaskinen:

hvis ikke ja installer samba pluss sambaclient og cifs for å støtte delingsstasjonen, vennligst gjør det ved å kjøre:

sudo apt-get installs samba smbclient cifs-utils

Sjekk om den delte mappen på RPI er klar ved å:

sudo smbclient -L yourRPI_IP

hvis du ser delingsstasjonen, må du opprette et monteringspunkt på Linux:

sudo mkdir /mnt /researchRPi

sudo chown -bruker: brukergruppe -R /mnt /researchRPI

bruker, brukergruppe er din Linux -bruker og gruppenavn

monter deretter andelen ved å:

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

skriv inn passordene dine, og lag en myk lenke til skrivebordet ditt:

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

Hvis du har problemer med lese-skrive-tillatelse i delingsmappen, kan du eksperimentere med en svak tillatelse:

på PI:

sudo chmod -R 776 ~/Desktop/sambaShare

På Windows er det enda enklere, Gå til Min datamaskin, og kartlegg en mappe, skriv deretter inn IP -adressen til RPI, den delte mappen skal vises. Jeg tror det er noe på Mac du kan bla gjennom den delte mappen på nettverket.

Trinn 5: Nyttige referanser

Nedenfor er noen nyttige referanser:

  1. Det er en annen tilnærming her ved bruk av pyserial- og numpy -biblioteker
  2. Et omfattende blikk på den elektroniske kommunikasjonen starter ved å installere Arduino IDE. En god referanse hvis du vil ha et dypere dykk.
  3. En kort, men konkret skrift. Et kort og tilstrekkelig alternativ for alternativer for å logge dataene

Anbefalt: