İçindekiler:

Arduino'dan Veri Kaydetmek İçin Sıfırdan Bir Raspberry Pi Kurulumu: 5 Adım
Arduino'dan Veri Kaydetmek İçin Sıfırdan Bir Raspberry Pi Kurulumu: 5 Adım

Video: Arduino'dan Veri Kaydetmek İçin Sıfırdan Bir Raspberry Pi Kurulumu: 5 Adım

Video: Arduino'dan Veri Kaydetmek İçin Sıfırdan Bir Raspberry Pi Kurulumu: 5 Adım
Video: Raspberry Pi Kurulumu Yapıp Uzaktan Arayüze Bağlanıyoruz! 2024, Kasım
Anonim
Arduino'dan Veri Kaydetmek İçin Sıfırdan Bir Ahududu Pi Ayarlayın
Arduino'dan Veri Kaydetmek İçin Sıfırdan Bir Ahududu Pi Ayarlayın

Bu eğitim, Python veya Linux bir yana, yeni bir donanım veya yazılım kurma konusunda deneyimi olmayanlar içindir.

Diyelim ki SD kart (en az 8GB, ben 16GB, tip I kullandım) ve güç kaynağı (5V, en az 2.5A) ile Raspberry Pi (RPi) sipariş ettiniz. Bugün, onu kurmaya ve Arduinos'tan veri kaydetmeye karar verdiniz. Öyleyse başlayalım!

Eğitim, Desktop Remote dahil olmak üzere baştan itibaren Raspberry Pi'yi kurmayı, 18B20 sıcaklık sensörlü bir Arduino hazırlamayı ve verileri toplamak ve kaydetmek için Raspberry Pi'de bir Python betiği yürütmeyi içerir. Dosyayı ana bilgisayar (PC'niz) ile Raspberry Pi arasında aktarmak için samba paylaşımı ekleyerek gönderiyi güncelledim.

Adım 1: Raspberry Pi'yi Hazırlayın

Ahududu Pi'yi hazırlayın
Ahududu Pi'yi hazırlayın
Ahududu Pi'yi hazırlayın
Ahududu Pi'yi hazırlayın
Ahududu Pi'yi hazırlayın
Ahududu Pi'yi hazırlayın
Ahududu Pi'yi hazırlayın
Ahududu Pi'yi hazırlayın
  1. RPI için işletim sistemini indirin. Raspbian'ın tam sürümünü tavsiye ederim, buradaki gibi.
  2. Windows üzerinde çalışan bir bilgisayarınız olduğunu varsayalım, görüntüyü SD karta yazmak için Rufus yazılımını indirin. Aşağı kaydırın ve rufus 3.0'ı edinin (Haziran 2018)
  3. Raspbian dosyasını (4.6 GB) açın ve hedef SD kartınızı dikkatlice seçin. Görüntünün karta yazılması yaklaşık 3 dakika sürer.
  4. SD kartı yuvaya takın, güç kablosunu mikro USB bağlantı noktasına takın, HDMI kablolu bir Ekran, klavye, fare isteğe bağlıdır.
  5. RPi açılıncaya kadar bekleyin ve masaüstünü gösterin, Pencere tuşuna basın, Donatılar/Terminal'e gidin ve Enter'a basın.
  6. RPi'yi türe göre yapılandırın:

sudo raspi yapılandırması

7. RPI yapılandırmasında birkaç şeyi değiştirin:

  • 1. Şifreyi değiştir
  • 2. Ağ Seçeneğinde: Ana bilgisayar adını (benzersiz bir şey, benimki rpi1001) ve wifi SSID ve şifresini değiştirin.
  • 4. Konumlandırma Seçeneklerinde: Saat Dilimi, Klavye, yerel ayarı değiştirin
  • 5. Arayüz Seçeneklerinde: SSH'yi Etkinleştir (komut satırı aracılığıyla oturum açmak için), VNC'yi Etkinleştir (masaüstü uzaktan kumandası için)
  • 7'de: Gelişmiş Seçenek: Dosya Sistemlerini Genişletin:
  • yeniden başlat
  • Önyüklemeden sonra: çalıştırarak IP adresini not edin

sudo ifconfig

Ethernet kullanılıyorsa, IP ilk blok olmalıdır, Wifi kullanılıyorsa IP üçüncü blokta, 192.168.1.40, Linux dağıtımını güncellemek için bu komutu çalıştırın:

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

Sonuncusu, güncellemeleri yaptıktan sonra RPi'yi kapatacak

8. RPi'nin IP'sini unuttuysanız veya yakın zamanda değiştiyse, PowerShell'i kullanın (Windows'ta arama kutusuna PowerShell yazın)

PowerShell'de Rpi'ye ping atmak için: ping rpi1001.local –4 192.168.1.40 gibi bir şey elde edin. rpi1001, Rpi'm için ana bilgisayar adımdır.

9. VNCViewer'ı yükleyin, bu yazılım Windows'ta TeamViewer veya Desktop Remote gibi çalışır (yalnızca Win 10 Pro'da Desktop Remote özelliği vardır).

Windows makinenize yükleyin, VNCViewer'ın üstündeki arama kutusuna RPi'nin IP'sini (192.168.1.40) veya RPi'nin ana bilgisayar adını (benimki rpi1001.local) yazın ve Enter'a basın. Adınızı RPi'nin şifresini girin, isterseniz 'Şifreyi hatırla'yı seçin. Her şey yolunda giderse, açılır Rpi masaüstünü görmelisiniz.

10. TeamView'den veya TeamView'e dosya aktarmak için, VNCView tarafından yerleşik dosya aktarımını kullanmanın en basit yolu:

Ve bu, sizin için veri toplamak için bir Ahududu kullanabilir ve gerektiğinde veri almak için oturum açabilirsiniz.

Adım 2: Arduino'dan Veri Toplamak İçin Basit Örnek Hazırlayın

Arduino'dan Veri Toplamak İçin Basit Örnek Hazırlayın
Arduino'dan Veri Toplamak İçin Basit Örnek Hazırlayın
Arduino'dan Veri Toplamak İçin Basit Örnek Hazırlayın
Arduino'dan Veri Toplamak İçin Basit Örnek Hazırlayın

Diyelim ki 4 sensörden sıcaklık almak istiyorsunuz. Bu örnekte, popüler bir sıcaklık sensörü olan 18B20'yi kullandım. Diğer seçenekler, TMP35, 36 ailesi veya bir termistördür.

Kablolama yukarıda dahildir. 18B20'ler kabloyu (veya veri yolunu) paylaşır ve işte Github'daki Arduino kodu. Aşağıdaki dosyadaki ek, kodları ve kablolama haritasını da içerir.

Ayrıca, Windows'ta Arduino için USB sürücüsünü yükleyin. Çoğu "klon" Arduino, CH341 USB sürücüsünü kullanır. Sürücü burada.

Arduino'yu Windows USB'nize takarken sürücüyü yükleyin, sürücüyü tanımalı ve bir COM bağlantı noktası atamalıdır (benimki COM4)

Seri Monitör, yukarıdaki fotoğraftaki gibi çıkmalıdır.

Adım 3: Fişi Çıkarıp Gücü RPI'ye Takarak RPi'yi Önyükleyin. VNCViewer'ı Başlatın, RPi'nize Giriş Yapın

Fişi Çıkararak ve Gücü RPi'ye Takarak RPi'yi Başlatın. VNCViewer'ı Başlatın, RPi'nize Giriş Yapın
Fişi Çıkararak ve Gücü RPi'ye Takarak RPi'yi Başlatın. VNCViewer'ı Başlatın, RPi'nize Giriş Yapın
Fişi Çıkartarak ve Gücü RPi'ye Takarak RPi'yi Başlatın. VNCViewer'ı Başlatın, RPi'nize Giriş Yapın
Fişi Çıkartarak ve Gücü RPi'ye Takarak RPi'yi Başlatın. VNCViewer'ı Başlatın, RPi'nize Giriş Yapın
Fişi Çıkararak ve Gücü RPi'ye Takarak RPi'yi Başlatın. VNCViewer'ı Başlatın, RPi'nize Giriş Yapın
Fişi Çıkararak ve Gücü RPi'ye Takarak RPi'yi Başlatın. VNCViewer'ı Başlatın, RPi'nize Giriş Yapın
Fişi Çıkartarak ve Gücü RPi'ye Takarak RPi'yi Başlatın. VNCViewer'ı Başlatın, RPi'nize Giriş Yapın
Fişi Çıkartarak ve Gücü RPi'ye Takarak RPi'yi Başlatın. VNCViewer'ı Başlatın, RPi'nize Giriş Yapın

VNCViewer aracını kullanarak Python betiğini aktarın. VNCViewer'ın üst kısmına yakın bir yerde bir afiş var, iki ok düğmesi arayın. RPi'den Windows'a veri aktarmak için, RPi'nin masaüstünde sağ üstteki (Wifi simgesinin yanında) VNC'de Dosya Aktarımı simgesini kullanın.

Raspberry, Linux üzerinde çalışır ve Python 2 ve 3 varsayılan olarak yüklenir. Seri hattan veri çıktısı almak için pyserial adlı bir Python kütüphanesi kurmanız yeterlidir.

python Serial'i kurmak için bu satırı Linux terminaline yazın

sudo apt-get install python3-serial

  • Windows'ta: bu PowellShell'i yazın:
  • pip.exe pyserlal'ı kurun

Ardından betiği indirin ve RPi'nin masaüstüne kaydedin

Komut dosyasını çalıştırmak için önce onu çalıştırılabilir hale getirin:

sudo chown u+x recordSerial.py

Arduino kodunu Arduino kartına yükleyin, ardından USB kablonuzu USB'ye takın, bağlantı noktasını şu şekilde kontrol edin:

  • Linux'ta terminale şunu yazın: ls /dev/ttyUSB*
  • Wndows'ta: Aygıt Yöneticisi'ne gidin, COM #'u kontrol edin

Komut dosyası Windows'ta değiştirilirse, garip satır sonlandırma karakterini Windows tarafından kaldırmak için Python komut dosyasını dos2unix'e çalıştırmanız gerekebilir. tarafından yükleyin

sudo apt-get yükleme dos2unix

ve bunu terminalde çalıştırarak komut dosyasını dönüştürün

dos2unix recordSerial.py

Bir metin düzenleyici tarafından komut dosyasındaki asıl bağlantı noktası değiştirildi:

sudo nano recordSerial.py

sonra./recordSerial.py yourfilename.txt dosyasını çalıştırın

Python betiği, ayarlanabilen her 10 satır için verileri RAM'den diske kaydeder.

Kaydı durdurmak için Ctrl + C tuşlarına basın, Komut dosyası Windows'ta çalıştırılabilir (çift tıklama), günlük verilerinin adı, bir zaman damgası içeren varsayılan değerdir.

PowerShell kullanıyorsanız, özelleştirilmiş dosya adınızı girebilirsiniz, python.exe recordSerial.py harika.txt

Tüm 18B20'ler aynı değildir. Okumaya bakın!

Kodu da GitHub'a gönderdim.

Umarım bu eğitim yardımcı olur!

Adım 4: Klasörü Paylaşmak için Samba'yı Kurun

Klasörü Paylaşmak için Samba'yı yükleyin
Klasörü Paylaşmak için Samba'yı yükleyin
Klasörü Paylaşmak için Samba'yı yükleyin
Klasörü Paylaşmak için Samba'yı yükleyin
Klasörü Paylaşmak için Samba'yı yükleyin
Klasörü Paylaşmak için Samba'yı yükleyin

Bu adım, Raspberry Pi'de barındırılan ve diğer bilgisayarlardan erişilebilen paylaşılan bir klasöre sahip olmak için bazı temel kurulumlarda size yol gösterecektir.

İlk olarak, ağ üzerinden paylaşım klasörünü paylaşmak ve yönetmek için bir program olan samba'yı kurun:

sudo apt-get kurulum samba

paylaşılan bir klasör oluştur

mkdir ~/Desktop/sambaShare

samba için yapılandırma dosyasını şu şekilde değiştirin:

sudo samba /etc/samba/smb.conf

dosyanın sonuna aşağıdaki satırları ekleyin:

[sambaShare] yorum = Araştırma RPI yolundaki Klasörü paylaş = /home/pi/Desktop/sambaShare göz atılabilir = evet salt okunur = yazılabilir hayır = evet genel = evet maske oluştur = 0777 rectory maskesi = 0777 misafir tamam = evet

Pencerelerde yazma sorunu yaşıyorsanız, dosyanın sonuna şu satırı ekleyerek zorlayın: force user = pi

Linux'ta kök kullanıcıyı kullanmanız gerekebilir (sorunu öğrendiğimde göndereceğim)

Ardından, samba'ya bir kullanıcı ekleyin ve bir şifre de oluşturun:

sudo smbpasswd -a pi

ardından samba için bir şifre girin (sistemdeki pi kullanıcısının şifresiyle aynı veya bundan farklı olabilir)

yapılandırma dosyasının uygun olup olmadığını test edin

test parm

kaydetmek için Ctrl+X tuşlarına basın ve ardından samba hizmetini şu şekilde yeniden başlatın:

sudo systemctl smbd'yi yeniden başlat

Ana bilgisayarda Linux diyelim:

evet değilse, samba plus sambaclient'i ve paylaşım sürücüsünü desteklemek için cifs'i kurun, lütfen şunu çalıştırarak yapın:

sudo apt-get, samba smbclient cifs-utils'i yükler

RPI'daki paylaşılan klasörün hazır olup olmadığını şu şekilde kontrol edin:

sudo smbclient -L sizinRPI_IP

paylaşım sürücüsünü görürseniz, Linux'ta bir bağlama noktası oluşturun:

sudo mkdir /mnt/researchRPi

sudo chown kullanıcı: kullanıcı grubu -R /mnt/researchRPI

kullanıcı, kullanıcı grubu Linux kullanıcınız ve grup adınızdır

ardından paylaşımı şu şekilde bağlayın:

sudo mount -f cifs -o kullanıcı adı=pi //your_rpi_IP/sambaShare /mnt/researchRPi

şifrelerinizi girin ve masaüstünüze yumuşak bir bağlantı yapın:

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

paylaşım klasöründe okuma-yazma izniyle ilgili sorununuz varsa, zayıf bir izinle deneme yapın:

PI'de:

sudo chmod -R 776 ~/Desktop/sambaShare

Windows'ta daha da kolay, Bilgisayarım'a gidin ve bir klasörü eşleyin, ardından RPI'nin IP'sini girin, paylaşılan klasör görünmelidir. Mac'te ağdaki paylaşılan klasöre göz atabileceğiniz bir şey olduğuna inanıyorum.

Adım 5: Faydalı Referanslar

Aşağıda bazı faydalı referanslar bulunmaktadır:

  1. Burada pyserial ve numpy kütüphanelerini kullanan başka bir yaklaşım var.
  2. Elektronik iletişime kapsamlı bir bakış, Arduino IDE'yi kurmakla başlar. Daha derin bir dalış istiyorsanız iyi bir referans.
  3. Kısa ama somut bir yazı. Verileri günlüğe kaydetmek için alternatifler için kısa ve yeterli seçenekler

Önerilen: