Taula de continguts:

Configureu des de Scratch un Raspberry Pi per registrar dades des d'Arduino: 5 passos
Configureu des de Scratch un Raspberry Pi per registrar dades des d'Arduino: 5 passos

Vídeo: Configureu des de Scratch un Raspberry Pi per registrar dades des d'Arduino: 5 passos

Vídeo: Configureu des de Scratch un Raspberry Pi per registrar dades des d'Arduino: 5 passos
Vídeo: doubling the drop every time the PC survives #shorts 2024, Desembre
Anonim
Configureu des de rascar un Raspberry Pi per registrar dades des d’Arduino
Configureu des de rascar un Raspberry Pi per registrar dades des d’Arduino

Aquest tutorial és per a aquells que no tenen experiència en instal·lar un nou maquinari o programari, i molt menys Python o Linux.

Suposem que heu demanat a Raspberry Pi (RPi) amb targeta SD (almenys 8 GB, he utilitzat 16 GB, tipus I) i font d'alimentació (5 V, almenys 2,5 A). Avui decidiu configurar-lo i enregistrar dades d’Arduinos. Així que comencem!

El tutorial inclou configurar Raspberry Pi des del principi, inclòs Desktop Remote, preparar un Arduino amb sensors de temperatura 18B20 i executar un script Python a Raspberry Pi per recopilar i desar les dades. He actualitzat la publicació amb l'addició de recursos compartits samba per transferir el fitxer entre l'ordinador amfitrió (el vostre PC) i el Raspberry Pi

Pas 1: prepareu Raspberry Pi

Prepareu Raspberry Pi
Prepareu Raspberry Pi
Prepareu Raspberry Pi
Prepareu Raspberry Pi
Prepareu Raspberry Pi
Prepareu Raspberry Pi
Prepareu Raspberry Pi
Prepareu Raspberry Pi
  1. Baixeu-vos el sistema operatiu per a RPi. Us recomano una versió completa de Raspbian, com aquesta aquí.
  2. Suposem que teniu un equip funcionant amb Windows, descarregueu-vos el programari Rufus per escriure la imatge a la targeta SD. Desplaceu-vos cap avall i obteniu rufus 3.0 (juny de 2018)
  3. Descomprimiu el fitxer Raspbian (4,6 GB) i seleccioneu acuradament la vostra targeta SD de destinació. Es triga uns 3 minuts a completar l’escriptura de la imatge a la targeta.
  4. Introduïu la ranura de la targeta SD, connecteu el cable d'alimentació al port micro USB, una pantalla amb cable HDMI, un teclat i un ratolí són opcionals.
  5. Espereu fins que l’RPi s’engegui i mostri l’escriptori, premeu la tecla Finestra, aneu a Accessoris / Terminal i Retorn.
  6. Configureu RPi per tipus:

sudo raspi-config

7. Canvieu un parell de coses a la configuració de RPi:

  • A 1. Canvieu la contrasenya
  • A 2. Opció de xarxa: canvieu el nom de l’amfitrió (quelcom únic, el meu és rpi1001) i el SSID i la contrasenya wifi.
  • A 4. Opcions de localització: canvieu la zona horària, el teclat i la configuració regional
  • A 5. Opcions d’interfície: activeu SSH (per iniciar sessió mitjançant la línia d’ordres), activeu VNC (per a control remot d’escriptori)
  • A 7: Opció avançada: amplia els sistemes de fitxers:
  • Reinicieu
  • Després de l'arrencada: observeu l'adreça IP executant

sudo ifconfig

Si s’utilitza Ethernet, l’IP hauria de ser el primer bloc, si s’utilitza Wifi, la IP es troba al tercer bloc, com ara 192.168.1.40, executeu aquesta ordre per actualitzar la distribució de Linux:

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

L'últim apagarà el RPi després de fer les actualitzacions

8. Si heu oblidat la nota de la IP de RPi o s'ha canviat recentment, utilitzeu PowerShell (escriviu PowerShell per cercar el quadre al Windows)

A PowerShell per fer ping al Rpi: p ing rpi1001.local –4 obteniu alguna cosa així 192.168.1.40. rpi1001 és el meu nom d'amfitrió per al meu Rpi.

9. Instal·leu VNCViewer, aquest programari funciona com TeamViewer o Desktop Remote a Windows (només Win 10 Pro té la funció Desktop Remote).

Instal·leu-la al vostre equip Windows, al quadre de cerca de la part superior de VNCViewer, escriviu la IP de l’RPi (192.168.1.40) o el nom d’amfitrió de RPi (el meu és rpi1001.local) i Introduïu. Introduïu la contrasenya del vostre nom de RPi, seleccioneu "Recorda la contrasenya" si ho desitgeu. Si tot va bé, hauríeu de veure l'escriptori emergent Rpi.

10. Per transferir fitxers des o cap a TeamView, la forma més senzilla d'utilitzar la transferència de fitxers integrada per VNCView:

I això, podeu utilitzar un gerd per recopilar dades i iniciar la sessió per obtenir dades quan sigui necessari.

Pas 2: prepareu un exemple senzill per recopilar dades d’Arduino

Prepareu un exemple senzill per recopilar dades d’Arduino
Prepareu un exemple senzill per recopilar dades d’Arduino
Prepareu un exemple senzill per recopilar dades d’Arduino
Prepareu un exemple senzill per recopilar dades d’Arduino

Suposem que voleu recollir la temperatura a partir de 4 sensors. En aquest exemple, he utilitzat 18B20, un popular sensor de temperatura. Altres opcions són la família TMP35, 36 o un termistor.

El cablejat està inclòs a la part superior. Els 18B20 comparteixen el cable (o bus) i aquí teniu el codi Arduino a Github. El fitxer adjunt del fitxer següent conté també els codis i el mapa de cablejat.

A més, instal·leu el controlador USB per a Arduino al Windows. La majoria d’Arduino ‘clona’ utilitza el controlador USB CH341. El conductor és aquí.

Instal·leu el controlador, quan connecteu l’Arduino a l’USB del vostre Windows, ha de reconèixer el controlador i assignar un port COM (el meu és COM4)

El monitor de sèrie hauria de sortir com la foto anterior.

Pas 3: Arrencar RPi desendollant-lo i endollar-lo a RPi. Inicieu VNCViewer, inicieu sessió al vostre RPi

Engegueu RPi desconnectant-lo i endolleu-lo a RPi. Inicieu VNCViewer, inicieu sessió al vostre RPi
Engegueu RPi desconnectant-lo i endolleu-lo a RPi. Inicieu VNCViewer, inicieu sessió al vostre RPi
Engegueu RPi desconnectant-lo i endolleu-lo a RPi. Inicieu VNCViewer, inicieu sessió al vostre RPi
Engegueu RPi desconnectant-lo i endolleu-lo a RPi. Inicieu VNCViewer, inicieu sessió al vostre RPi
Engegueu RPi per desconnectar-lo i endollar-lo a RPi. Inicieu VNCViewer, inicieu sessió al vostre RPi
Engegueu RPi per desconnectar-lo i endollar-lo a RPi. Inicieu VNCViewer, inicieu sessió al vostre RPi
Engegueu RPi desconnectant-lo i endolleu-lo a RPi. Inicieu VNCViewer, inicieu sessió al vostre RPi
Engegueu RPi desconnectant-lo i endolleu-lo a RPi. Inicieu VNCViewer, inicieu sessió al vostre RPi

Transferiu l'script Python mitjançant l'eina VNCViewer. Hi ha un bàner a la part superior del VNCViewer, cerqueu el botó de dues fletxes. Per transferir dades des del RPi al Windows, utilitzeu el símbol Transferència de fitxers en VNC a la part superior dreta (a prop del símbol Wifi) a l'escriptori del RPi.

Raspberry s’executa a Linux i Python 2 i 3 s’instal·len per defecte. Només cal instal·lar una biblioteca Python anomenada pyserial per recollir les dades que s’imprimeixen des de la línia serial.

per instal·lar Python Serial, escriviu aquesta línia al terminal Linux

sudo apt-get install python3-serial

  • a Windows: escriviu aquest PowellShell:
  • pip.exe instal·la pyserlal

A continuació, descarregueu l'script i deseu-lo a l'escriptori de l'RPi

Per executar l'script, primer feu-lo executable mitjançant:

sudo chown u + x recordSerial.py

Carregueu el codi Arduino a la placa Arduino i, a continuació, connecteu el cable USB amb USB, comproveu el port mitjançant:

  • A Linux, escriviu-ho al terminal: ls / dev / ttyUSB *
  • A Windows: aneu al Gestor de dispositius, marqueu COM #

Si l'script es modifica a Windows, és possible que hàgiu d'executar l'script de Python a dos2unix per eliminar el caràcter de final de línia estrany de Windows. Instal·leu-lo per

sudo apt-get install dos2unix

i converteix l'script executant-lo al terminal

dos2unix recordSerial.py

Un editor de text ha modificat el port real de l'script:

sudo nano recordSerial.py

després executeu./recordSerial.py yourfilename.txt

L'escriptura Python desarà les dades de la memòria RAM al disc per cada 10 línies, que es poden ajustar.

Per deixar de gravar, premeu Ctrl + C, L'escriptura es pot executar a Windows (feu doble clic), el nom de les dades de registre és el valor per defecte que inclou una marca de temps

Si feu el PowerShell, podeu introduir el vostre nom de fitxer personalitzat, python.exe recordSerial.py awesome.txt

No tots els 18B20 són iguals. Mireu la lectura!

També he enviat el codi a GitHub.

Espero que aquest tutorial sigui útil.

Pas 4: instal·leu Samba per compartir la carpeta

Instal·leu Samba per compartir la carpeta
Instal·leu Samba per compartir la carpeta
Instal·leu Samba per compartir la carpeta
Instal·leu Samba per compartir la carpeta
Instal·leu Samba per compartir la carpeta
Instal·leu Samba per compartir la carpeta

Aquest pas us guiarà per algunes configuracions bàsiques per tenir una carpeta compartida allotjada a Raspberry Pi a la qual es pugui accedir des d'altres equips.

En primer lloc, instal·leu samba, un programa per compartir i gestionar la carpeta per compartir a la xarxa:

sudo apt-get install samba

fer una carpeta compartida

mkdir ~ / Desktop / sambaShare

modifiqueu el fitxer de configuració del samba mitjançant:

sudo samba /etc/samba/smb.conf

afegiu les línies següents al final del fitxer:

[sambaShare] comentari = comparteix carpeta a la ruta RPI de recerca = / home / pi / Escriptori / sambaShare navegable = sí només lectura = no es pot escriure = sí públic = sí crear màscara = 0777 màscara rectoral = 0777 convidat ok = sí

Si teniu el problema d’escriure a Windows, forçeu-lo afegint aquesta línia al final del fitxer: force user = pi

A Linux, potser haureu d’utilitzar l’usuari root (publicaré el problema un cop ho descobreixi)

A continuació, afegiu un usuari a samba i creeu també una contrasenya:

sudo smbpasswd -a pi

a continuació, introduïu una contrasenya per a la samba (pot ser la mateixa o diferent a la contrasenya per a l'usuari pi al sistema)

proveu si el fitxer de configuració està bé

testparm

premeu Ctrl + X per desar i reinicieu el servei samba mitjançant:

sudo systemctl reinicia smbd

A l'ordinador amfitrió, diguem Linux:

si no, instal·leu samba plus sambaclient i cifs per donar suport a la unitat de compartició, feu-ho executant:

sudo apt-get instal·la samba smbclient cifs-utils

Comproveu si la carpeta compartida a RPI està preparada per:

sudo smbclient -L yourRPI_IP

si veieu la unitat compartida, creeu un punt de muntatge a Linux:

sudo mkdir / mnt / researchRPi

sudo chown user: grup d'usuaris -R / mnt / researchRPI

usuari, grup d’usuaris és el vostre nom d’usuari i grup Linux

a continuació, munteu la compartició mitjançant:

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

introduïu les vostres contrasenyes i feu un enllaç suau al vostre escriptori:

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

si teniu problemes amb el permís de lectura i escriptura a la carpeta per compartir, experimenteu amb un permís feble:

a PI:

sudo chmod -R 776 ~ / Desktop / sambaShare

Al Windows, és encara més fàcil, Aneu a El meu ordinador i assigneu una carpeta i, a continuació, introduïu la IP de RPI; la carpeta compartida hauria d'aparèixer. Crec que hi ha alguna cosa a Mac que podeu navegar per la carpeta compartida de la xarxa.

Pas 5: referències útils

A continuació es mostren algunes referències útils:

  1. Aquí hi ha un altre enfocament que utilitza biblioteques pyserial i numpy
  2. Una visió completa de la comunicació electrònica comença des de la instal·lació d’Arduino IDE. Una bona referència si voleu una immersió més profunda.
  3. Una escriptura breu però concreta. Una opció breu i suficient per a alternatives per registrar les dades

Recomanat: