Inhoudsopgave:
- Stap 1: Bereid Raspberry Pi. voor
- Stap 2: Bereid een eenvoudig voorbeeld voor om gegevens van Arduino te verzamelen
- Stap 3: Start RPi op door de stekker uit het stopcontact te halen en de stroom op RPi aan te sluiten. Start VNCViewer, log in op uw RPi
- Stap 4: installeer Samba om map te delen
- Stap 5: Nuttige referenties
Video: Vanaf het begin een Raspberry Pi instellen om gegevens van Arduino te loggen - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Deze tutorial is voor degenen die geen ervaring hebben met het installeren van nieuwe hardware of software, laat staan Python of Linux.
Stel dat je de Raspberry Pi (RPi) hebt besteld met SD-kaart (minimaal 8GB, ik gebruikte 16GB, type I) en voeding (5V, minimaal 2,5A). Vandaag besluit je om het in te stellen en gegevens van Arduinos op te nemen. Dus laten we beginnen!
De tutorial omvat het vanaf het begin instellen van Raspberry Pi, inclusief Desktop Remote, het voorbereiden van een Arduino met 18B20-temperatuursensoren en het uitvoeren van een Python-script in Raspberry Pi om de gegevens te verzamelen en op te slaan. Ik heb het bericht bijgewerkt met het toevoegen van samba-share om het bestand over te zetten tussen de hostcomputer (uw pc) en de Raspberry Pi
Stap 1: Bereid Raspberry Pi. voor
- Download het besturingssysteem voor RPi. Ik raad een volledige versie van Raspbian aan, zoals deze hier.
- Stel dat je een werkende computer hebt die op Windows draait, download Rufus-software om de afbeelding naar de SD-kaart te schrijven. Scroll naar beneden en download rufus 3.0 (juni 2018)
- Pak het Raspbian-bestand (4,6 GB) uit en selecteer zorgvuldig uw doel-SD-kaart. Het duurt ongeveer 3 minuten om de afbeelding naar de kaart te schrijven.
- Steek de SD-kaart in de sleuf, sluit de voedingskabel aan op de micro-USB-poort, een beeldscherm met HDMI-kabel, een toetsenbord, een muis is optioneel.
- Wacht tot de RPi opstart en het bureaublad toont, druk op de Window-toets, ga naar Accessoires/Terminal en Enter.
- Configureer RPi op type:
sudo raspi-config
7. Verander een paar dingen in de RPi-configuratie:
- In 1. Wachtwoord wijzigen
- In 2. Netwerkoptie: hostnaam wijzigen (iets unieks, de mijne is rpi1001) en wifi-SSID en wachtwoord.
- In 4. Lokalisatie-opties: tijdzone, toetsenbord, landinstelling wijzigen
- In 5. Interfacing-opties: SSH inschakelen (om in te loggen via de opdrachtregel), VNC inschakelen (voor desktop-afstandsbediening)
- In 7: geavanceerde optie: bestandssystemen uitvouwen:
- Opnieuw opstarten
- Na het opstarten: noteer IP-adres door te draaien
sudo ifconfig
Als Ethernet wordt gebruikt, moet het IP het eerste blok zijn, als Wifi wordt gebruikt, bevindt het IP zich in het derde blok, zoiets als 192.168.1.40, voer deze opdracht uit om de Linux-distro bij te werken:
sudo apt-get update && sudo apt-get upgrade –y && sudo poweroff
De laatste zal de RPi uitschakelen nadat de updates zijn voltooid
8. Als u de notitie van het IP-adres van RPi bent vergeten, of deze onlangs is gewijzigd, gebruikt u PowerShell (typ PowerShell om in Windows te zoeken)
In PowerShell om de Rpi te pingen: ping rpi1001.local –4 krijg zoiets als dit 192.168.1.40. rpi1001 is mijn hostnaam voor mijn Rpi.
9. Installeer VNCViewer, deze software werkt als TeamViewer of Desktop Remote op Windows (alleen Win 10 Pro heeft de Desktop Remote-functie).
Installeer op uw Windows-machine, typ in het zoekvak bovenaan VNCViewer het IP-adres van de RPi (192.168.1.40) of de hostnaam van RPi (de mijne is rpi1001.local) en Enter. Voer uw naam RPi's wachtwoord in, selecteer desgewenst 'Wachtwoord onthouden'. Als alles goed is gegaan, zou je het pop-up Rpi-bureaublad moeten zien.
10. Om bestanden van of naar TeamView over te zetten, is de eenvoudigste manier om ingebouwde bestandsoverdracht door VNCView te gebruiken:
En dat je een Raspberry kunt gebruiken om gegevens voor je te verzamelen en in te loggen om gegevens te krijgen wanneer dat nodig is.
Stap 2: Bereid een eenvoudig voorbeeld voor om gegevens van Arduino te verzamelen
Stel dat u de temperatuur van 4 sensoren wilt verzamelen. In dit voorbeeld heb ik 18B20 gebruikt, een populaire temperatuursensor. Andere opties zijn de TMP35, 36-familie of een thermistor.
De bedrading is hierboven inbegrepen. De 18B20's delen de draad (of bus), en hier is de Arduino-code op Github. De bijlage in het onderstaande bestand bevat ook de codes en de bedradingskaart.
Installeer ook het USB-stuurprogramma voor Arduino in Windows. De meeste 'kloon' Arduino gebruiken de CH341 USB-driver. De chauffeur is er.
Installeer het stuurprogramma, wanneer u de Arduino op uw Windows-USB aansluit, zou het het stuurprogramma moeten herkennen en een COM-poort moeten toewijzen (de mijne is COM4)
De seriële monitor moet worden weergegeven zoals de bovenstaande foto.
Stap 3: Start RPi op door de stekker uit het stopcontact te halen en de stroom op RPi aan te sluiten. Start VNCViewer, log in op uw RPi
Breng het Python-script over met behulp van de VNCViewer-tool. Er is een banner aan de bovenkant van de VNCViewer, zoek naar de knop met twee pijlen. Om gegevens van de RPi naar Windows over te zetten, gebruikt u het symbool Bestandsoverdracht in VNC in de rechterbovenhoek (nabij het wifi-symbool) op het bureaublad van de RPi.
Raspberry draait op Linux en Python 2 en 3 zijn standaard geïnstalleerd. U hoeft alleen een Python-bibliotheek met de naam pyserial te installeren om gegevens uit de seriële lijn te verzamelen.
om python Serial te installeren, typt u deze regel in de Linux-terminal
sudo apt-get install python3-serial
- in Windows: typ deze PowellShell:
- pip.exe installeer pyserlal
Download vervolgens het script en sla het op op het bureaublad van de RPi
Om het script uit te voeren, maakt u het eerst uitvoerbaar door:
sudo chown u+x recordSerial.py
Upload de Arduino-code naar het Arduino-bord, sluit vervolgens uw USB-kabel met USB aan, controleer de poort door:
- Typ op Linux dit in de terminal: ls /dev/ttyUSB*
- Op Windows: ga naar Apparaatbeheer, vink COM # aan
Als het script op Windows is gewijzigd, moet u mogelijk het Python-script naar dos2unix uitvoeren om het vreemde regeleindteken door Windows te verwijderen. Installeer het door
sudo apt-get install dos2unix
en converteer het script door dit in de terminal uit te voeren
dos2unix recordSerial.py
De eigenlijke poort in het script gewijzigd door een teksteditor:
sudo nano recordSerial.py
voer vervolgens./recordSerial.py uwbestandsnaam.txt. uit
Het Python-script slaat de gegevens van het RAM-geheugen op de schijf op voor elke 10 regels, die kunnen worden aangepast.
Om de opname te stoppen, drukt u op Ctrl + C, Het script kan worden uitgevoerd op Windows (dubbelklik), de naam van loggegevens is de standaard die een tijdstempel bevat
Als u PowerShell gebruikt, kunt u uw aangepaste bestandsnaam invoeren, python.exe recordSerial.py awesome.txt
Niet alle 18B20's zijn hetzelfde. Zie de uitlezing!
Ik heb de code ook naar GitHub gepusht.
Ik hoop dat deze tutorial nuttig is!
Stap 4: installeer Samba om map te delen
Deze stap leidt je door een aantal basisinstellingen om een gedeelde map te hebben die wordt gehost op Raspberry Pi die toegankelijk is vanaf andere computers.
Installeer eerst samba, een programma om de gedeelde map over het netwerk te delen en te beheren:
sudo apt-get install samba
maak een gedeelde map
mkdir ~/Desktop/sambaShare
wijzig het configuratiebestand voor de samba door:
sudo samba /etc/samba/smb.conf
voeg de volgende regels toe aan het einde van het bestand:
[sambaShare] commentaar = map delen op Research RPI-pad = /home/pi/Desktop/sambaShare doorbladerbaar = ja alleen lezen = niet beschrijfbaar = ja openbaar = ja maak masker = 0777 pastoriemasker = 0777 gast ok = ja
Als je het probleem hebt met schrijven op Windows, forceer het dan door deze regel toe te voegen aan het einde van het bestand: force user = pi
Op Linux moet je misschien de root-gebruiker gebruiken (ik zal het probleem posten zodra ik erachter ben)
Voeg vervolgens een gebruiker toe aan samba en maak ook een wachtwoord aan:
sudo smbpasswd -a pi
voer vervolgens een wachtwoord in voor de samba (kan hetzelfde of anders zijn dan het wachtwoord voor pi-gebruiker op het systeem)
test of het configuratiebestand in orde is
testparm
druk op Ctrl+X om op te slaan en herstart de samba-service door:
sudo systemctl herstart smbd
Laten we zeggen Linux op de hostcomputer:
zo niet ja, installeer samba plus sambaclient en cifs om de gedeelde schijf te ondersteunen, doe dit door het volgende uit te voeren:
sudo apt-get installeert samba smbclient cifs-utils
Controleer of de gedeelde map op RPI gereed is door:
sudo smbclient -L uwRPI_IP
als je de gedeelde schijf ziet, maak dan een koppelpunt op Linux:
sudo mkdir /mnt/researchRPi
sudo chown gebruiker:gebruikersgroep -R /mnt/researchRPI
gebruiker, gebruikersgroep is je Linux-gebruiker en groepsnaam
mount vervolgens de share door:
sudo mount -f cifs -o gebruikersnaam=pi //your_rpi_IP/sambaShare /mnt/researchRPi
voer uw wachtwoorden in en maak een zachte link naar uw bureaublad:
sudo ln -s /mnt/researchRPi ~/Desktop/researchRPi
als je problemen hebt met lees-schrijfrechten op de gedeelde map, experimenteer dan met een zwakke toestemming:
op PI:
sudo chmod -R 776 ~/Desktop/sambaShare
Op Windows is het nog eenvoudiger, Ga naar Deze computer en wijs een map toe, voer vervolgens het IP-adres van RPI in, de gedeelde map zou moeten verschijnen. Ik geloof dat er iets op de Mac is waarmee je door de gedeelde map op het netwerk kunt bladeren.
Stap 5: Nuttige referenties
Hieronder vindt u enkele nuttige referenties:
- Er is hier een andere benadering met behulp van pyserial en numpy-bibliotheken
- Een uitgebreide blik op de elektronische communicatie begint bij het installeren van Arduino IDE. Een goede referentie als je een diepere duik wilt.
- Een kort maar concreet schrijven. Een korte en voldoende opties voor alternatieven om de gegevens te loggen
Aanbevolen:
Maak mooie plots van live Arduino-gegevens (en sla de gegevens op in Excel): 3 stappen
Maak mooie plots van live Arduino-gegevens (en sla de gegevens op in Excel): we spelen allemaal graag met onze plotterfunctie in de Arduino IDE. Hoewel het nuttig kan zijn voor basistoepassingen, worden de gegevens gewist naarmate meer punten worden toegevoegd en het is niet bijzonder aangenaam voor de ogen. De Arduino IDE-plotter werkt niet
Hogesnelheids-ECG of andere gegevens, continu gedurende meer dan een maand loggen: 6 stappen
Hogesnelheids-ECG of andere gegevens registreren, continu gedurende meer dan een maand: dit project is ontwikkeld ter ondersteuning van een universitair medisch onderzoeksteam, dat een wearable nodig had die 2 x ECG-signalen kon loggen met elk 1000 monsters/sec (2K monsters/sec totaal) continu gedurende 30 dagen, om aritmieën te detecteren. Het project pre
FreeRTOS vanaf het begin instellen op STM32F407 Discovery Kit: 14 stappen
FreeRTOS vanaf het begin instellen op STM32F407 Discovery Kit: FreeRTOS kiezen als een realtime besturingssysteem voor uw embedded project is een goede keuze. De FreeRTOS is echt gratis en biedt veel eenvoudige en effectieve RTOS-functies. Maar freeRTOS helemaal opnieuw instellen kan moeilijk zijn, of ik kan zeggen een bi
Gegevens loggen en online een grafiek plotten met NodeMCU, MySQL, PHP en Chartjs.org: 4 stappen
Log gegevens en plot een grafiek online met NodeMCU, MySQL, PHP en Chartjs.org: deze Instructable beschrijft hoe we het Node MCU-bord kunnen gebruiken om gegevens van meerdere sensoren te verzamelen, deze gegevens naar een gehost PHP-bestand te sturen dat de gegevens vervolgens toevoegt aan een MySQL-database. De gegevens kunnen vervolgens online als een grafiek worden bekeken, met behulp van chart.js.A ba
Hack om alle stappen van een Instructable te bekijken zonder in te loggen
Hack om alle stappen van een Instructable te bekijken zonder in te loggen!: Hier is een kleine hack die u onnodige minuten bespaart bij het inloggen. elke 'hacking'-software! Let op: dit is maar een trucje