Mundarija:

Raspberry Pi -ni Scratch -dan Arduino -dan ma'lumotlarni kiritish uchun sozlang: 5 qadam
Raspberry Pi -ni Scratch -dan Arduino -dan ma'lumotlarni kiritish uchun sozlang: 5 qadam

Video: Raspberry Pi -ni Scratch -dan Arduino -dan ma'lumotlarni kiritish uchun sozlang: 5 qadam

Video: Raspberry Pi -ni Scratch -dan Arduino -dan ma'lumotlarni kiritish uchun sozlang: 5 qadam
Video: Beyond the Basics: Automatic Gatekeeper With IR Sensor And ChatGPT Generated Arduino Code 2024, Dekabr
Anonim
Arduino -dan ma'lumotlarni kiritish uchun Raspberry Pi -ni skretch -dan sozlang
Arduino -dan ma'lumotlarni kiritish uchun Raspberry Pi -ni skretch -dan sozlang

Bu qo'llanma Python yoki Linuxni aytmasa ham, yangi uskuna yoki dasturiy ta'minot o'rnatish tajribasiga ega bo'lmaganlar uchun mo'ljallangan.

Aytaylik, siz Raspberry Pi (RPi) ga SD -karta (kamida 8 Gb, men 16 Gb, I turini ishlatganman) va quvvat manbai (5 V, kamida 2,5 A) bilan buyurtma bergansiz. Bugun siz uni o'rnatishga va Arduinos ma'lumotlarini yozishga qaror qildingiz. Shunday qilib, boshlaylik!

O'quv qo'llanma Raspberry Pi -ni boshidan sozlash, shu jumladan Desktop Remote, 18B20 harorat sensori bilan Arduino -ni tayyorlash va ma'lumotlarni yig'ish va saqlash uchun Raspberry Pi -da Python skriptini bajarishni o'z ichiga oladi. Faylni asosiy kompyuter (sizning shaxsiy kompyuteringiz) va Raspberry Pi o'rtasida o'tkazish uchun samba ulushini qo'shib, xabarni yangiladim

1 -qadam: Raspberry Pi tayyorlang

Raspberry Pi tayyorlang
Raspberry Pi tayyorlang
Raspberry Pi tayyorlang
Raspberry Pi tayyorlang
Raspberry Pi tayyorlang
Raspberry Pi tayyorlang
Raspberry Pi tayyorlang
Raspberry Pi tayyorlang
  1. RPi uchun operatsion tizimni yuklab oling. Men bu erda Raspbian -ning to'liq versiyasini tavsiya qilaman.
  2. Tasavvur qiling, sizda Windows -da ishlaydigan ishchi kompyuter bor, tasvirni SD -kartaga yozish uchun Rufus dasturini yuklab oling. Pastga siljiting va rufus 3.0 -ni oling (2018 yil iyun)
  3. Raspbian faylini (4,6 Gb) oching va maqsadli SD -kartani diqqat bilan tanlang. Tasvirni kartaga yozish uchun taxminan 3 daqiqa vaqt ketadi.
  4. SD -kartani uyaga joylashtiring, quvvat simini mikro USB portiga ulang, HDMI kabelili displey, klaviatura va sichqoncha ixtiyoriy.
  5. RPi ishga tushguncha kuting va ish stolini ko'rsating, oyna tugmachasini bosing, aksessuarlar/terminalga o'ting va kiriting.
  6. RPi turiga qarab sozlang:

sudo raspi-config

7. RPi konfiguratsiyasidagi ikkita narsani o'zgartiring:

  • In 1. Parolni o'zgartiring
  • In 2. Tarmoq opsiyasi: Xost nomini o'zgartiring (noyob narsa, meniki rpi1001) va Wi -Fi SSID va parol.
  • 4. Joylashuv parametrlari: Vaqt mintaqasini, klaviaturani, tilni o'zgartirish
  • 5. Interfacing Options -da: SSH -ni yoqish (buyruq satri orqali kirish uchun), VNC -ni yoqish (masofadan turib ish stoli uchun).
  • 7 -da: Oldinga variant: Fayl tizimini kengaytiring:
  • Qayta yuklash
  • Ishga tushgandan so'ng: ishga tushirish orqali IP manziliga e'tibor bering

sudo ifconfig

Agar Ethernet ishlatilsa, IP birinchi blok bo'lishi kerak, agar Wi -Fi ishlatilsa, IP uchinchi blokda, 192.168.1.40 kabi, Linux tarqatilishini yangilash uchun ushbu buyruqni bajaring:

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

Oxirgi yangilanishlar tugagandan so'ng, RPi o'chadi

8. Agar siz RPi IP -ni esdan chiqargan bo'lsangiz yoki u yaqinda o'zgartirilgan bo'lsa, PowerShell -dan foydalaning (Windows -da qidirish uchun PowerShell -ni kiriting).

PowerShell -da Rpi -ni ping qilish uchun: p ing rpi1001.local –4 shunga o'xshash narsani oling 192.168.1.40. rpi1001 - bu mening Rpi uchun host nomim.

9. VNCViewer -ni o'rnating, bu dastur Windows -da TeamViewer yoki Desktop Remote kabi ishlaydi (faqat Win 10 Pro -da Desktop Remote funktsiyasi mavjud).

Windows mashinangizga VNCViewer tepasidagi qidiruv maydoniga RPi IP (192.168.1.40) yoki RPi host nomini kiriting (meniki rpi1001.local) va Enter ni kiriting. O'z ismingizni RPi parolini kiriting, agar xohlasangiz "Parolni eslab qolish" -ni tanlang. Agar hamma narsa yaxshi bo'lsa, siz ochiladigan Rpi ish stolini ko'rishingiz kerak.

10. Faylni TeamView-dan yoki unga o'tkazish uchun VNCView-dan o'rnatilgan fayl uzatishni ishlatishning eng oddiy usuli:

Va bu siz uchun ma'lumot to'plash uchun Raspberry -dan foydalanishingiz va kerak bo'lganda ma'lumotlarni olish uchun tizimga kirishingiz mumkin.

2 -qadam: Arduino -dan ma'lumotlarni yig'ish uchun oddiy misol tayyorlang

Arduino -dan ma'lumotlarni yig'ish uchun oddiy misol tayyorlang
Arduino -dan ma'lumotlarni yig'ish uchun oddiy misol tayyorlang
Arduino -dan ma'lumotlarni yig'ish uchun oddiy misol tayyorlang
Arduino -dan ma'lumotlarni yig'ish uchun oddiy misol tayyorlang

Aytaylik, siz 4 ta sensordan haroratni yig'moqchisiz. Bu misolda men mashhur 18B20 harorat sensori ishlatganman. Boshqa variantlar TMP35, 36 oilasi yoki termistor.

Kabellar yuqorida ko'rsatilgan. 18B20s simni (yoki avtobusni) ulashadi va bu erda Github -dagi Arduino kodi. Quyidagi fayldagi ilova kodlar va simlar xaritasini o'z ichiga oladi.

Bundan tashqari, Windows -da Arduino uchun USB drayverini o'rnating. Ko'pgina "klon" Arduino CH341 USB drayveridan foydalanadi. Haydovchi shu yerda.

Drayverni o'rnating, Arduino -ni Windows -ning USB -ga ulaganda, u drayverni tan olishi va COM portini tayinlashi kerak (meniki COM4).

Seriyali monitor yuqoridagi rasmdagi kabi chiqishi kerak.

3 -qadam: RPi -ni o'chiring va quvvatni RPi -ga ulang. VNCViewer -ni ishga tushiring, RPi -ga kiring

RPi -ni ajratib oling va quvvatni RPi -ga ulang. VNCViewer -ni ishga tushiring, RPi -ga kiring
RPi -ni ajratib oling va quvvatni RPi -ga ulang. VNCViewer -ni ishga tushiring, RPi -ga kiring
RPi -ni ajratib oling va quvvatni RPi -ga ulang. VNCViewer -ni ishga tushiring, RPi -ga kiring
RPi -ni ajratib oling va quvvatni RPi -ga ulang. VNCViewer -ni ishga tushiring, RPi -ga kiring
RPi -ni ajratib oling va quvvatni RPi -ga ulang. VNCViewer -ni ishga tushiring, RPi -ga kiring
RPi -ni ajratib oling va quvvatni RPi -ga ulang. VNCViewer -ni ishga tushiring, RPi -ga kiring
RPi -ni ajratib oling va quvvatni RPi -ga ulang. VNCViewer -ni ishga tushiring, RPi -ga kiring
RPi -ni ajratib oling va quvvatni RPi -ga ulang. VNCViewer -ni ishga tushiring, RPi -ga kiring

Python skriptini VNCViewer vositasi yordamida o'tkazing. VNCViewer -ning yuqori qismida banner bor, ikkita o'q tugmachasini qidiring. Ma'lumotni RPi-dan Windows-ga o'tkazish uchun RPi ish stolida o'ng yuqori burchakda (Wifi belgisi yonida) VNC-da fayl uzatish belgisidan foydalaning.

Raspberry Linuxda ishlaydi va Python 2 va 3 sukut bo'yicha o'rnatiladi. Ma'lumotni ketma -ket chiziqdan yig'ish uchun faqat Python kutubxonasini o'rnatishingiz kerak.

python Serial -ni o'rnatish uchun ushbu qatorni Linux terminaliga yozing

sudo apt-get install python3-serial

  • Windows -da: bu PowellShell -ni kiriting:
  • pip.exe pyserlal -ni o'rnating

Keyin skriptni yuklab oling va uni RPi ish stoliga saqlang

Skriptni ishga tushirish uchun avval uni bajariladigan qilib qo'ying:

sudo chown u+x recordSerial.py

Arduino kodini Arduino kartasiga yuklang, keyin USB kabelini USB ga ulang va portni tekshiring:

  • Linuxda buni terminalga kiriting: ls /dev /ttyUSB*
  • Wndows -da: Device Manager -ga o'ting, COM # -ni tekshiring.

Agar skript Windows -da o'zgartirilgan bo'lsa, Windows -ning g'alati satr tugash belgisini olib tashlash uchun Python skriptini dos2unix -ga ishga tushirishingiz kerak bo'lishi mumkin. Tomonidan o'rnatib qo'ying

sudo apt-get install dos2unix

va terminalda ishga tushirish orqali skriptni o'zgartiring

dos2unix recordSerial.py

Matn muharriri yordamida skriptdagi haqiqiy portni o'zgartirdi:

sudo nano recordSerial.py

keyin./recordSerial.py fayl nomingiz.txt faylini ishga tushiring

Python ssenariysi har 10 satr uchun RAMdan ma'lumotlarni diskka saqlaydi, ularni sozlash mumkin.

Yozishni to'xtatish uchun Ctrl + C tugmalar birikmasini bosing.

Skriptni Windows -da ishga tushirish mumkin (ikki marta bosish), jurnal ma'lumotlarining nomi vaqt belgisini o'z ichiga oladi

Agar siz PowerShell -ga moslashtirilgan fayl nomini kiritishingiz mumkin.

python.exe recordSerial.py awesome.txt

Hamma 18B20 bir xil emas. O'qishni ko'ring!

Men kodni GitHub -ga o'tkazdim.

Umid qilamanki, bu darslik foydali bo'ladi!

4 -qadam: Jildni almashish uchun Samba -ni o'rnating

Jildni almashish uchun Samba -ni o'rnating
Jildni almashish uchun Samba -ni o'rnating
Jildni almashish uchun Samba -ni o'rnating
Jildni almashish uchun Samba -ni o'rnating
Jildni almashish uchun Samba -ni o'rnating
Jildni almashish uchun Samba -ni o'rnating

Bu qadam sizga Raspberry Pi -da joylashtirilgan umumiy papkaga ega bo'lish uchun boshqa asosiy kompyuterlardan kirish imkonini beradi.

Birinchidan, tarmoqdagi almashish papkasini almashish va boshqarish uchun samba dasturini o'rnating:

sudo apt-get samba-ni o'rnating

umumiy papkani yarating

mkdir ~/Desktop/sambaShare

samba uchun konfiguratsiya faylini o'zgartirish:

sudo samba /etc/samba/smb.conf

fayl oxiriga quyidagi qatorlarni qo'shing:

[sambaShare] comment = Share RPI yo'lidagi papkani =/home/pi/Desktop/sambaShare ko'rib chiqish = ha faqat o'qish uchun = yozish mumkin emas = ha public = ha niqob yaratish = 0777 rektor niqobi = 0777 mehmon ok = ha

Agar sizda derazalarga yozish muammosi bo'lsa, uni fayl oxiriga ushbu qatorni qo'shib majburlang: user user = pi

Linuxda siz root foydalanuvchisini ishlatishingiz kerak bo'lishi mumkin (men buni bilganimdan keyin muammoni joylashtiraman)

Keyin sambaga foydalanuvchi qo'shing va parol yarating:

sudo smbpasswd -pi

keyin samba uchun parolni kiriting (tizimdagi pi foydalanuvchisi uchun parol bilan bir xil yoki boshqacha bo'lishi mumkin)

konfiguratsiya fayli yaxshi ekanligini tekshiring

testparm

saqlash uchun Ctrl+X tugmalar birikmasini bosing va keyin samba xizmatini qayta ishga tushiring:

sudo systemctl smbd -ni qayta ishga tushiring

Asosiy kompyuterda Linuxni aytaylik:

Agar yo'q bo'lsa, umumiy drayverni qo'llab -quvvatlash uchun samba plus sambaclient va cifs -ni o'rnating, iltimos:

sudo apt-get samba smbclient cifs-utils-ni o'rnatadi

RPI -dagi umumiy papka tayyorligini tekshiring:

sudo smbclient -L sizningRPI_IP

Agar siz umumiy diskni ko'rsangiz, Linuxda ulanish nuqtasini yarating:

sudo mkdir /mnt /ResearchRPi

sudo chown foydalanuvchisi: usergroup -R /mnt /ResearchRPI

user, usergroup - bu Linux foydalanuvchisi va guruh nomi

keyin ulushni ulang:

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

parollaringizni kiriting va ish stoliga yumshoq havola qiling:

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

Agar siz ulashish papkasida o'qish-yozish ruxsatida muammoga duch kelsangiz, zaif ruxsat bilan tajriba o'tkazing:

PI bo'yicha:

sudo chmod -R 776 ~/Desktop/sambaShare

Windows -da, bu osonroq, Mening kompyuterimga o'ting va papkani xaritaga kiriting, so'ng RPI IP -ni kiriting, umumiy papka paydo bo'lishi kerak. Menimcha, Macda tarmoqdagi umumiy papkani ko'rib chiqish mumkin bo'lgan narsa bor.

5 -qadam: Foydali manbalar

Quyida ba'zi foydali havolalar keltirilgan:

  1. Bu erda pyserial va numpy kutubxonalaridan foydalanishning boshqa usuli mavjud
  2. Elektron aloqani har tomonlama ko'rib chiqish Arduino IDE -ni o'rnatishdan boshlanadi. Agar siz chuqurroq sho'ng'ishni xohlasangiz yaxshi ma'lumot.
  3. Qisqa, ammo aniq yozuv. Ma'lumotlarni yozishning muqobil variantlari uchun qisqa va etarli variantlar

Tavsiya: