Innehållsförteckning:
- Steg 1: Förbered Raspberry Pi
- Steg 2: Förbered enkelt exempel för att samla in data från Arduino
- Steg 3: Starta upp RPi genom att koppla ur och anslut ström till RPi. Starta VNCViewer, logga in på din RPi
- Steg 4: Installera Samba för att dela mapp
- Steg 5: Användbara referenser
Video: Konfigurera från scratch en Raspberry Pi för att logga data från Arduino: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
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
- Ladda ner operativsystemet för RPi. Jag rekommenderar en fullständig version av Raspbian, så här här.
- 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)
- 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.
- 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.
- Vänta tills RPi startar upp och visa skrivbordet, tryck på fönstertangenten, gå till Tillbehör/Terminal och Enter.
- 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
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
Ö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
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:
- Det finns ett annat tillvägagångssätt här med pyserial- och numpy -bibliotek
- 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.
- En kort men konkret skrift. Ett kort och tillräckligt alternativ för alternativ för att logga data
Rekommenderad:
Logga ut från Facebook Messenger -appen för Android: 3 steg
Hur loggar du ut från Facebook Messenger -appen för Android: Har du problem med din Facebook Messenger -app? Måste logga ut men hittar inte logga ut -knappen. Du behöver inte oroa dig här är några steg för att logga ut och få det att fungera igen
ESP32 Captive Portal för att konfigurera statiska och DHCP IP -inställningar: 8 steg
ESP32 Captive Portal för att konfigurera statiska och DHCP IP -inställningar: ESP 32 är en enhet med integrerad WiFi och BLE. Det är en välsignelse för IoT -projekten. Ge bara dina SSID, lösenord och IP -konfigurationer och integrera sakerna i molnet. Men att hantera IP -inställningarna och användaruppgifterna kan vara ett huvud
Övertyga dig själv om att bara använda en 12V-till-AC-omriktare för LED-ljussträngar istället för att koppla om dem för 12V: 3 steg
Övertyga dig själv om att bara använda en 12V-till-AC-linjeomvandlare för LED-ljussträngar istället för att koppla om dem för 12V: Min plan var enkel. Jag ville klippa upp en väggdriven LED-ljussträng i bitar och sedan dra om den för att gå av 12 volt. Alternativet var att använda en kraftomvandlare, men vi vet alla att de är fruktansvärt ineffektiva, eller hur? Höger? Eller är de det?
Hacka för att se alla steg i en instruerbar utan att logga in
Hacka för att se alla steg i en instruerbar utan att logga in !: Här är ett litet hack som sparar onödiga minuter när du loggar in. Det låter dig i princip "Visa alla steg på en sida" av någon instruerbar utan att logga in, och UTAN att använda någon "hacking" -programvara! Snälla, inte att detta bara är ett litet trick
Konfigurera för att programmera ett Picaxe Via Shell Script (linux): 5 steg
Konfigurera för att programmera en Picaxe Via Shell Script (linux): Enkel genomgång som visar hur man gör ett skalskript som kommer att ladda ner ett program från en ftp -webbplats och sedan kompilera det och sedan ladda ner det till picaxen. (Detta är också mitt första instruerbar)