Innehållsförteckning:

Konfigurera från scratch en Raspberry Pi för att logga data från Arduino: 5 steg
Konfigurera från scratch en Raspberry Pi för att logga data från Arduino: 5 steg

Video: Konfigurera från scratch en Raspberry Pi för att logga data från Arduino: 5 steg

Video: Konfigurera från scratch en Raspberry Pi för att logga data från Arduino: 5 steg
Video: SKR 1.4 - Definitive User Guide 2024, November
Anonim
Konfigurera från scratch en Raspberry Pi för att logga data från Arduino
Konfigurera från scratch en Raspberry Pi för att logga data från Arduino

Denna handledning är för dem som inte har någon erfarenhet av att installera en ny hårdvara eller programvara, än mindre Python eller Linux.

Låt oss säga att du har beställt Raspberry Pi (RPi) med SD -kort (minst 8 GB, jag använde 16 GB, typ I) och strömförsörjning (5V, minst 2,5A). Idag bestämmer du dig för att konfigurera det och spela in data från Arduinos. Så låt oss börja!

Handledningen inkluderar att installera Raspberry Pi från början, inklusive Desktop Remote, förbereda en Arduino med 18B20 temperatursensorer och att köra ett Python -skript i Raspberry Pi för att samla in och spara data. Jag uppdaterade inlägget med att lägga till samba -share för att överföra filen mellan värddatorn (din dator) och Raspberry Pi

Steg 1: Förbered Raspberry Pi

Förbered Raspberry Pi
Förbered Raspberry Pi
Förbered Raspberry Pi
Förbered Raspberry Pi
Förbered Raspberry Pi
Förbered Raspberry Pi
Förbered Raspberry Pi
Förbered Raspberry Pi
  1. Ladda ner operativsystemet för RPi. Jag rekommenderar en fullständig version av Raspbian, så här här.
  2. Anta att du har en fungerande dator som körs på Windows, ladda ner Rufus -programvara för att skriva bilden till SD -kortet. Rulla ner och få rufus 3.0 (juni 2018)
  3. Packa upp Raspbian -filen (4,6 GB) och välj noggrant ditt mål -SD -kort. Det tar cirka 3 minuter att skriva bilden på kortet.
  4. Sätt i SD -kortets kortplats, anslut strömkabeln till mikro -USB -porten, en bildskärm med HDMI -kabel, ett tangentbord, en mus är tillval.
  5. Vänta tills RPi startar upp och visa skrivbordet, tryck på fönstertangenten, gå till Tillbehör/Terminal och Enter.
  6. Konfigurera RPi efter typ:

sudo raspi-config

7. Ändra några saker i RPi -konfiguration:

  • I 1. Ändra lösenord
  • I 2. Nätverksalternativ: Ändra värdnamn (något unikt, mitt är rpi1001) och wifi SSID och lösenord.
  • I 4. Lokaliseringsalternativ: Ändra tidszon, tangentbord, språk
  • I 5. Gränssnittsalternativ: Aktivera SSH (för att logga in via kommandoraden), Aktivera VNC (för stationär fjärrkontroll)
  • I 7: Advance Option: Expand Filsystems:
  • Starta om
  • Efter uppstart: notera IP -adressen genom att köra

sudo ifconfig

Om Ethernet använder, bör IP: n vara det första blocket, om Wifi används, är IP: n på det tredje blocket, ungefär 192.168.1.40, kör det här kommandot för att uppdatera Linux distro:

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

Den sista kommer att stänga av RPi efter att ha gjort med uppdateringarna

8. Om du glömde notera IP: n för RPi, eller om den har ändrats nyligen, använd PowerShell (skriv PowerShell för att söka i Windows)

I PowerShell för att pinga Rpi: p ing rpi1001.local –4 får något liknande 192.168.1.40. rpi1001 är mitt värdnamn för min Rpi.

9. Installera VNCViewer, den här programvaran fungerar som TeamViewer eller Desktop Remote på Windows (endast Win 10 Pro har funktionen Desktop Remote).

Installera på din Windows -maskin, i sökrutan högst upp på VNCViewer, skriv in RPi: s IP (192.168.1.40) eller RPis värdnamn (mitt är rpi1001.local) och Enter. Ange ditt namn RPis lösenord, välj "Kom ihåg lösenord" om så önskas. Om allt gick bra borde du se popup-Rpi-skrivbordet.

10. För att överföra filer från eller till TeamView, det enklaste sättet att använda inbyggd filöverföring med VNCView:

Och att det, du kan använda ett hallon för att samla in data åt dig och logga in för att få data när det behövs.

Steg 2: Förbered enkelt exempel för att samla in data från Arduino

Förbered enkelt exempel för att samla in data från Arduino
Förbered enkelt exempel för att samla in data från Arduino
Förbered enkelt exempel för att samla in data från Arduino
Förbered enkelt exempel för att samla in data från Arduino

Låt säga att du vill samla in temperaturen från 4 sensorer. I det här exemplet använde jag 18B20, en populär temperatursensor. Andra alternativ är TMP35, 36 -familjen eller en termistor.

Ledningarna ingår ovan. 18B20 -talet delar kabeln (eller bussen), och här är Arduino -koden på Github. Bilagan i filen nedan innehåller också koder och ledningskarta.

Installera också USB -drivrutinen för Arduino i Windows. De flesta "klon" Arduino använder CH341 USB -drivrutin. Föraren är här.

Installera drivrutinen, när du ansluter Arduino till din Windows USB bör den känna igen drivrutinen och tilldela en COM -port (min är COM4)

Seriell bildskärm ska matas ut som bilden ovan.

Steg 3: Starta upp RPi genom att koppla ur och anslut ström till RPi. Starta VNCViewer, logga in på din RPi

Starta upp RPi genom att koppla ur och anslut ström till RPi. Starta VNCViewer, logga in på din RPi
Starta upp RPi genom att koppla ur och anslut ström till RPi. Starta VNCViewer, logga in på din RPi
Starta upp RPi genom att koppla ur och anslut ström till RPi. Starta VNCViewer, logga in på din RPi
Starta upp RPi genom att koppla ur och anslut ström till RPi. Starta VNCViewer, logga in på din RPi
Starta upp RPi genom att koppla ur och anslut ström till RPi. Starta VNCViewer, logga in på din RPi
Starta upp RPi genom att koppla ur och anslut ström till RPi. Starta VNCViewer, logga in på din RPi
Starta upp RPi genom att koppla ur och anslut ström till RPi. Starta VNCViewer, logga in på din RPi
Starta upp RPi genom att koppla ur och anslut ström till RPi. Starta VNCViewer, logga in på din RPi

Överför Python -skriptet med hjälp av VNCViewer -verktyget. Det finns en banner längst upp på VNCViewer, leta efter två pilar. För att överföra data från RPi till Windows, använd filöverföringen i VNC-symbolen längst upp till höger (nära Wifi-symbolen) på RPi: s skrivbord.

Hallon körs på Linux och Python 2 och 3 är installerade som standard. Du behöver bara installera ett Python -bibliotek som heter pyserial för att samla in data som skrivs ut från den seriella linjen.

för att installera python Serial, skriv den här raden till Linux -terminalen

sudo apt-get install python3-serial

  • i Windows: skriv den här PowellShell:
  • pip.exe installera pyserlal

Ladda sedan ner skriptet och spara det på RPi: s skrivbord

För att köra skriptet, gör det först körbart med:

sudo chown u+x recordSerial.py

Ladda upp Arduino -koden till Arduino -kortet, anslut sedan din USB -kabel med USB, kontrollera porten genom att:

  • På Linux skriver du detta till terminalen: ls /dev /ttyUSB*
  • I Windows: gå till Enhetshanteraren, kolla COM #

Om skriptet ändras i Windows kan du behöva köra Python -skriptet till dos2unix för att ta bort konstigt radavslutande tecken av Windows. Installera den med

sudo apt-get install dos2unix

och konvertera skriptet genom att köra detta i terminalen

dos2unix recordSerial.py

Ändrade den faktiska porten i skriptet av en textredigerare:

sudo nano recordSerial.py

kör sedan./recordSerial.py ditt filnamn.txt

Python -skriptet sparar data från RAM -minnet till disken för var 10: e rad, vilket kan justeras.

För att stoppa inspelningen, tryck på Ctrl + C, Skriptet kan köras på Windows (dubbelklicka), namnet på loggdata är standard som innehåller en tidsstämpel

Om du PowerShell kan du ange ditt anpassade filnamn, python.exe recordSerial.py awesome.txt

Alla 18B20 är inte lika. Se avläsningen!

Jag drev koden till GitHub också.

Hoppas denna handledning är till hjälp!

Steg 4: Installera Samba för att dela mapp

Installera Samba för att dela mapp
Installera Samba för att dela mapp
Installera Samba för att dela mapp
Installera Samba för att dela mapp
Installera Samba för att dela mapp
Installera Samba för att dela mapp

Detta steg kommer att leda dig genom en grundläggande installation för att ha en delad mapp på Raspberry Pi som kan nås från andra datorer.

Installera först samba, ett program för att dela och hantera delningsmapp över nätverket:

sudo apt-get installera samba

skapa en delad mapp

mkdir ~/Desktop/sambaShare

ändra konfigurationsfilen för samba genom att:

sudo samba /etc/samba/smb.conf

lägg till följande rader i slutet av filen:

[sambaShare] kommentar = dela mapp på Research RPI sökväg =/home/pi/Desktop/sambaShare surfbar = ja skrivskyddad = ingen skrivbar = ja offentlig = ja skapa mask = 0777 prästgårdsmask = 0777 gäst ok = ja

Om du har problemet med att skriva på Windows, tvinga fram det genom att lägga till den här raden i slutet av filen: force user = pi

På Linux kan du behöva använda rotanvändaren (jag lägger upp problemet när jag fick reda på det)

Lägg sedan till en användare i samba och skapa ett lösenord också:

sudo smbpasswd -a pi

ange sedan ett lösenord för samba (kan vara samma eller annorlunda än lösenordet för pi -användare på systemet)

testa om konfigurationsfilen är okej

testparma

tryck på Ctrl+X för att spara och starta om samba -tjänsten genom att:

sudo systemctl starta om smbd

På värddatorn, låt oss säga Linux:

om inte ja installera samba plus sambaclient och cifs för att stödja andelsdriven, gör det genom att köra:

sudo apt-get installs samba smbclient cifs-utils

Kontrollera om den delade mappen på RPI är klar genom att:

sudo smbclient -L yourRPI_IP

om du ser delningsenheten skapar du en monteringspunkt på Linux:

sudo mkdir /mnt /researchRPi

sudo chown -användare: användargrupp -R /mnt /researchRPI

användare, användargrupp är din Linux -användare och gruppnamn

montera sedan andelen genom att:

sudo mount -f cifs -o användarnamn = pi // your_rpi_IP/sambaShare/mnt/researchRPi

ange dina lösenord och skapa en mjuk länk till ditt skrivbord:

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

om du har problem med läs- och skrivbehörighet i delningsmappen, experimentera med en svag behörighet:

på PI:

sudo chmod -R 776 ~/Desktop/sambaShare

På Windows är det ännu enklare, Gå till Min dator och kartlägg en mapp, ange sedan IP: n för RPI, den delade mappen ska visas. Jag tror att det finns något på Mac som du kan bläddra i den delade mappen på nätverket.

Steg 5: Användbara referenser

Nedan följer några användbara referenser:

  1. Det finns ett annat tillvägagångssätt här med pyserial- och numpy -bibliotek
  2. En omfattande titt på den elektroniska kommunikationen börjar från installationen av Arduino IDE. En bra referens om du vill ha ett djupare dyk.
  3. En kort men konkret skrift. Ett kort och tillräckligt alternativ för alternativ för att logga data

Rekommenderad: