Talaan ng mga Nilalaman:

I-set up Mula sa Scratch isang Raspberry Pi upang Mag-log Data Mula sa Arduino: 5 Hakbang
I-set up Mula sa Scratch isang Raspberry Pi upang Mag-log Data Mula sa Arduino: 5 Hakbang

Video: I-set up Mula sa Scratch isang Raspberry Pi upang Mag-log Data Mula sa Arduino: 5 Hakbang

Video: I-set up Mula sa Scratch isang Raspberry Pi upang Mag-log Data Mula sa Arduino: 5 Hakbang
Video: BTT Octopus V1.1 - Klipper Configuration 2024, Hulyo
Anonim
I-set up Mula sa Scratch isang Raspberry Pi upang Mag-log Data Mula sa Arduino
I-set up Mula sa Scratch isang Raspberry Pi upang Mag-log Data Mula sa Arduino

Ang tutorial na ito ay para sa mga walang karanasan sa pag-install ng isang bagong hardware, o software, pabayaan ang Python o Linux.

Sabihin nating nag-order ka sa Raspberry Pi (RPi) na may SD card (hindi bababa sa 8GB, gumamit ako ng 16GB, type I) at power supply (5V, kahit 2.5A). Ngayon, nagpasya kang i-set up ito at magtala ng data mula sa Arduinos. Kaya't magsimula na!

Kasama sa tutorial ang pag-set up ng Raspberry Pi mula sa simula, kasama ang Desktop Remote, paghahanda ng isang Arduino na may 18B20 temperatura sensor, at pagpapatupad ng isang script ng Python sa Raspberry Pi upang makolekta at mai-save ang data. In-update ko ang post na may pagdaragdag ng pagbabahagi ng samba upang ilipat ang file sa pagitan ng host computer (iyong PC) at ng Raspberry Pi

Hakbang 1: Ihanda ang Raspberry Pi

Ihanda ang Raspberry Pi
Ihanda ang Raspberry Pi
Ihanda ang Raspberry Pi
Ihanda ang Raspberry Pi
Ihanda ang Raspberry Pi
Ihanda ang Raspberry Pi
Ihanda ang Raspberry Pi
Ihanda ang Raspberry Pi
  1. I-download ang operating system para sa RPi. Inirerekumenda ko ang isang buong bersyon ng Raspbian, tulad nito dito.
  2. Ipagpalagay na mayroon kang isang gumaganang computer na tumatakbo sa Windows, mag-download ng Rufus software upang isulat ang imahe sa SD card. Mag-scroll pababa at makakuha ng rufus 3.0 (Hunyo 2018)
  3. Unzip Raspbian file (4.6 GB), at maingat na piliin ang iyong target na SD card. Tumatagal ng halos 3 minuto upang makumpleto ang pagsusulat ng imahe sa card.
  4. Ipasok ang SD card sa puwang, plug in power cable sa micro USB port, isang Display na may HDMI cable, isang keyboard, isang mouse ay opsyonal.
  5. Maghintay hanggang sa mag-boot up ang RPi at ipakita ang desktop, pindutin ang Window key, pumunta sa Mga Accessory / Terminal at Enter.
  6. I-configure ang RPi ayon sa uri:

sudo raspi-config

7. Baguhin ang pares ng bagay sa pagsasaayos ng RPi:

  • Sa 1. Baguhin ang password
  • Sa 2. Pagpipilian sa Network: Baguhin ang hostname (isang bagay na kakaiba, ang akin ay rpi1001), at wifi SSID at password.
  • Sa 4. Mga Pagpipilian sa Lokasyonasyon: Baguhin ang Timezone, Keyboard, lokal
  • Sa 5. Mga Pagpipilian sa Pag-interface: Paganahin ang SSH (upang mag-log in sa pamamagitan ng linya ng utos), Paganahin ang VNC (para sa remote ng desktop)
  • Sa 7: Advance Option: Palawakin ang Filesystems:
  • I-reboot
  • Pagkatapos ng pag-boot: tandaan ang IP address sa pamamagitan ng pagpapatakbo

sudo ifconfig

Kung gumagamit ang Ethernet, ang IP ay dapat na unang bloke, kung ginamit ang Wifi, ang IP ay nasa pangatlong bloke, isang bagay tulad ng 192.168.1.40, patakbuhin ang utos na ito upang i-update ang distro ng Linux:

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

Ang huli ay magpapasara sa RPi matapos ang mga pag-update

8. Kung nakalimutan mo ang tala ang IP ng RPi, o binago ito kamakailan, gamitin ang PowerShell (i-type ang PowerShell upang maghanap box sa Windows)

Sa PowerShell upang i-ping ang Rpi: p ing rpi1001.local –4 kumuha ng isang bagay tulad nito 192.168.1.40. Ang rpi1001 ay ang aking hostname para sa aking Rpi.

9. I-install ang VNCViewer, gumagana ang software na ito tulad ng TeamViewer, o Desktop Remote sa Windows (ang Win 10 Pro lamang ang may tampok na Desktop Remote).

I-install sa iyong Windows machine, sa box para sa paghahanap sa tuktok ng VNCViewer, i-type ang RPi's IP (192.168.1.40) o hostname ng RPi (ang akin ay rpi1001.local) at Enter. Ipasok ang password ng iyong pangalan na RPi, piliin ang 'Tandaan ang password' kung nais ito. Kung naging maayos ang lahat, dapat mong makita ang pop-up Rpi desktop.

10. Upang ilipat ang file mula sa o sa TeamView, ang pinakasimpleng paraan upang magamit ang built-in na file transfer ng VNCView:

At na ito, maaari kang gumamit ng isang Raspberry upang mangolekta ng data para sa iyo, at mag-log in upang makakuha ng data kung kinakailangan.

Hakbang 2: Maghanda ng Simpleng Halimbawa upang Kolektahin ang Data Mula sa Arduino

Maghanda ng Simpleng Halimbawa upang Kolektahin ang Data Mula sa Arduino
Maghanda ng Simpleng Halimbawa upang Kolektahin ang Data Mula sa Arduino
Maghanda ng Simpleng Halimbawa upang Kolektahin ang Data Mula sa Arduino
Maghanda ng Simpleng Halimbawa upang Kolektahin ang Data Mula sa Arduino

Sabihin nating nais mong kolektahin ang temperatura mula sa 4 na mga sensor. Sa halimbawang ito, gumamit ako ng 18B20, isang tanyag na sensor ng temperatura. Ang iba pang mga pagpipilian ay ang TMP35, 36 pamilya o isang thermistor.

Ang mga kable ay kasama sa itaas. Ibinahagi ng 18B20s ang wire (o bus), at narito ang Arduino code sa Github. Ang kalakip sa file sa ibaba ay naglalaman ng mga code at mga mapa ng mga kable din.

Gayundin, i-install ang USB driver para sa Arduino sa Windows. Karamihan sa 'clone' Arduino ay gumagamit ng CH341 USB driver. Nandito na ang driver.

I-install ang driver, kapag isinaksak ang Arduino sa USB ng iyong Windows, dapat itong makilala ang driver at magtalaga ng isang COM port (ang sa akin ay COM4)

Ang Serial Monitor ay dapat na output tulad ng larawan sa itaas.

Hakbang 3: I-boot Up ang RPi sa pamamagitan ng I-unplug at I-plug ang Power sa RPi. Simulan ang VNCViewer, Mag-log In Iyong RPi

Boot Up RPi sa pamamagitan ng Unplug at Plug Power sa RPi. Simulan ang VNCViewer, Mag-log In Iyong RPi
Boot Up RPi sa pamamagitan ng Unplug at Plug Power sa RPi. Simulan ang VNCViewer, Mag-log In Iyong RPi
Boot Up RPi sa pamamagitan ng Unplug at Plug Power sa RPi. Simulan ang VNCViewer, Mag-log In Iyong RPi
Boot Up RPi sa pamamagitan ng Unplug at Plug Power sa RPi. Simulan ang VNCViewer, Mag-log In Iyong RPi
Boot Up RPi sa pamamagitan ng Unplug at Plug Power sa RPi. Simulan ang VNCViewer, Mag-log In Iyong RPi
Boot Up RPi sa pamamagitan ng Unplug at Plug Power sa RPi. Simulan ang VNCViewer, Mag-log In Iyong RPi
Boot Up RPi sa pamamagitan ng Unplug at Plug Power sa RPi. Simulan ang VNCViewer, Mag-log In Iyong RPi
Boot Up RPi sa pamamagitan ng Unplug at Plug Power sa RPi. Simulan ang VNCViewer, Mag-log In Iyong RPi

Ilipat ang script ng Python, gamit ang tool na VNCViewer. Mayroong isang banner sa malapit sa tuktok ng VNCViewer, hanapin ang dalawang mga arrow button. Upang ilipat ang data mula sa RPi patungo sa Windows, gamitin ang simbolo ng File Transfer sa VNC sa kanang itaas (malapit sa simbolo ng Wifi) sa desktop ng RPi.

Tumatakbo ang Raspberry sa Linux, at ang Python 2 at 3 ay na-install bilang default. Kailangan mo lamang mag-install ng isang library ng Python na tinatawag na pyserial upang mangolekta ng print ng data mula sa serial line.

upang mai-install ang python Serial, i-type ang linya na ito sa Linux terminal

sudo apt-get install python3-serial

  • sa Windows: i-type ang PowellShell na ito:
  • pip.exe install pyserlal

Pagkatapos i-download ang script at i-save ito sa desktop ng RPi

Upang patakbuhin ang script, gawin itong unang naisakatuparan ng:

sudo chown u + x recordSerial.py

I-upload ang Arduino code sa Arduino board, pagkatapos isaksak ang iyong USB cable gamit ang USB, suriin ang port sa pamamagitan ng:

  • Sa Linux, i-type ito sa terminal: ls / dev / ttyUSB *
  • Sa Wndows: pumunta sa Device Manager, suriin ang COM #

Kung ang script ay nabago sa Windows, maaaring kailanganin mong patakbuhin ang script ng Python sa dos2unix upang alisin ang kakaibang linya na nagtatapos na character ng Windows. I-install ito sa pamamagitan ng

sudo apt-get install ng dos2unix

at i-convert ang script sa pamamagitan ng pagpapatakbo nito sa terminal

dos2unix recordSerial.py

Binago ang tunay na port sa script ng isang text editor:

sudo nano recordSerial.py

pagkatapos ay patakbuhin./recordSerial.py yourfilename.txt

Ang script ng Python ay magse-save ng data mula sa RAM sa disk para sa bawat 10 mga linya, na maaaring ayusin.

Upang ihinto ang pagrekord, pindutin ang Ctrl + C, Ang script ay maaaring patakbuhin sa Windows (dobleng pag-click), ang pangalan ng data ng pag-log ay ang default na kasama ang isang timestamp

Kung PowerShell mo, maaari mong ipasok ang iyong na-customize na filename, python.exe recordSerial.py kahanga-hangang.txt

Hindi lahat ng 18B20 ay pareho. Tingnan ang readout!

Itinulak ko rin ang code sa GitHub.

Inaasahan kong kapaki-pakinabang ang tutorial na ito!

Hakbang 4: I-install ang Samba upang Magbahagi ng Folder

I-install ang Samba upang Magbahagi ng Folder
I-install ang Samba upang Magbahagi ng Folder
I-install ang Samba upang Magbahagi ng Folder
I-install ang Samba upang Magbahagi ng Folder
I-install ang Samba upang Magbahagi ng Folder
I-install ang Samba upang Magbahagi ng Folder

Dadalhin ka ng hakbang na ito sa ilang pangunahing pag-setup upang magkaroon ng isang nakabahaging folder na naka-host sa Raspberry Pi na maaaring ma-access mula sa iba pang mga computer.

Una, i-install ang samba, isang programa upang ibahagi at pamahalaan ang pagbabahagi ng folder sa buong network:

sudo apt-get install samba

gumawa ng isang nakabahaging folder

mkdir ~ / Desktop / sambaShare

baguhin ang pagsasaayos ng file para sa samba sa pamamagitan ng:

sudo samba /etc/samba/smb.conf

idagdag ang mga sumusunod na linya sa dulo ng file:

[sambaShare] puna = magbahagi ng Folder sa path ng RPI ng Pananaliksik = / home / pi / Desktop / sambaShare ma-browse = oo basahin lamang = walang nasusulat = oo publiko = oo lumikha ng mask = 0777 rektoryang mask = 0777 bisita ok = oo

Kung mayroon kang problema sa pagsusulat sa mga bintana, pilitin ito sa pamamagitan ng pagdaragdag ng linyang ito sa dulo ng file: force user = pi

Sa Linux, maaaring kailanganin mong gamitin ang root user (ipo-post ko ang problema sa sandaling malaman ko)

Susunod, magdagdag ng isang gumagamit sa samba at lumikha rin ng isang password:

sudo smbpasswd -a pi

pagkatapos ay ipasok ang isang password para sa samba (maaaring pareho o naiiba kaysa sa password para sa pi gumagamit sa system)

subukan kung ang config file ay okay

testparm

pindutin ang Ctrl + X upang makatipid, at pagkatapos ay muling simulan ang serbisyo ng samba sa pamamagitan ng:

sudo systemctl restart smbd

Sa host computer, sabihin na Linux:

kung hindi oo i-install ang samba plus sambaclient, at mga cif upang suportahan ang pagbabahagi ng drive, mangyaring gawin ito sa pamamagitan ng pagpapatakbo:

sudo apt-get install ng samba smbclient cifs-utils

Suriin kung ang nakabahaging folder sa RPI ay handa na sa pamamagitan ng:

sudo smbclient -L iyongRPI_IP

kung nakikita mo ang drive ng pagbabahagi, pagkatapos ay lumikha ng isang mount point sa Linux:

sudo mkdir / mnt / pananaliksikRPi

sudo chown user: usergroup -R / mnt / researchRPI

gumagamit, ang usergroup ay ang iyong gumagamit ng Linux at pangalan ng pangkat

pagkatapos i-mount ang pagbabahagi ng:

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

ipasok ang iyong mga password, at gumawa ng isang malambot na link sa iyong desktop:

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

kung mayroon kang problema sa read-sulat na pahintulot sa folder ng pagbabahagi, mag-eksperimento sa isang mahinang pahintulot:

sa PI:

sudo chmod -R 776 ~ / Desktop / sambaShare

Sa Windows, mas madali pa ito, Pumunta sa My Computer, at i-map ang isang folder, pagkatapos ay ipasok ang IP ng RPI, dapat lumitaw ang nakabahaging folder. Naniniwala akong mayroong isang bagay sa Mac na maaari mong i-browse ang nakabahaging folder sa network.

Hakbang 5: Mga Kapaki-pakinabang na Sanggunian

Nasa ibaba ang ilang mga kapaki-pakinabang na sanggunian:

  1. May isa pang diskarte dito gamit ang mga library ng pyserial at numpy
  2. Ang isang komprehensibong pagtingin sa elektronikong komunikasyon ay nagsisimula mula sa pag-install ng Arduino IDE. Ang isang mahusay na sanggunian kung nais mo ng isang mas malalim na pagsisid.
  3. Isang maikli ngunit kongkretong pagsulat. Isang maikli at sapat na mga pagpipilian para sa mga kahalili upang mai-log ang data

Inirerekumendang: