Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
Share Thread:
Seri haberleşmeyle verilerin atmegadan alınması
#1
Arkadaşlar merhabalar henüz rasper ile yeni haşır neşirim oncelikle bunu belirteyim. Simdi benim yapmak istediğim dataları atmega ile alıyorum sistemden ve bu dataları aynı zamanda real time olarak raspere aktarmak istiyorum Seri haberleşmeyle RX ve Tx kullanarak yapabileceğimi biliyorum ancak bu haberleştirme olayını rasperde nasıl kod yazarak sağlıyoruz bunu çok anlayamadım. Python ile ilgili hiç fikrim yok c kullanmalıyım wiring pi  gibi bişeyler gordum onu raspere yukledm ancak ssh ile bağlantı sağlayıp wiring pi de kod yazmak tam bir işkence siz gpio dan gelen veriyi nası raspere alıyosunuz. Yine bu veriyi nası goruyorsunuz. Ayrıca gpio pinleriyle de aynı zamanda robot hareketlerini de sağlamam gerekiyor gpio pinlerini kodlamasını nasıl yapıyorsunuz?

Bunların dışında ben seri portta aldıgım verileri yine rasperden matlab veya opencv ile haberleştirip yine u proğramlar uzerinden dataları işleme yapmam gerekiiyor bununla da ilgili bilgi verebilirseniz sevinirim. wifi adaptorum var ve amacım dataları wifi yoluyla paylaşıma açık yapmak ve bilgisayardan bu datalara erişim sağlamak. Bilgilerinizi paylaşırsanız çok sevinirim.
Ara
Cevapla
#2
İşin uzun pek cevap veren de yok. Aslında raspian içerisinde python idle ile yazabilirsin bol miktarda örnek var. ve çok kolay.

Şuna kısa bir göz at. C ile ihya olmuş biri için ilk başta zor geliyor ama sonrası kolay:

https://www.raspberrypi.org/documentation/usage/python/

Bu seri iletişim örneği python için:

http://www.instructables.com/id/Read-and...pberry-Pi/

görsel olarak raspberry üzerinde çalışabilirsin. Hazır python için yazılmış fonksiyonlar işini kolaylaştır.
Ara
Cevapla
#3
Merhaba,

İç içe bir çok soru var gibi, öncelikle seri haberleşme için seri portu dinliyoruz ve veeri gelince onu alıp işliyoruz. Bu iş için GPIO pinlerini kullanabileceğiniz gibi USB portunu da kullanabilirsiniz. GPIO pinlerini robot için kullanma noktasında ise pinleri giriş ya da  çıkış olarak ayarlayıp ona göre veri alma ya da gönderme işlemi yapılıyor. 

Seri port için kabaca yapmanız gerekeneler;

  1. USB ya da Rx ve Tx pinlerine bağlantıyı yapmadan, "ls /dev/tty*" komutunu verin.
  2. Bağlantıyı yaptıktan sonra yine aynı komutu verin. İki çıktı arasındaki farklılık sizin seri portunuz olacaktır. Örn: /dev/ttyUSB0, /dev/ttyAMA0.
  3. Sonrasında bu portu dinlemeye başlayabilirsiniz.
Kod:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import serial, time
usbPort = '/devttyUSB0' # Buraya kendi portunuzu yazın.
ser = serial.Serial(usbPort, 9600, timeout=1)
while True:
   print ser.readline()
   time.sleep(0.1)


  1. Yukarıdaki kodu "py" uzantılı bir dosya içerisine yapıştırın. Baund rate  9600'dan farklı ise onuda da değiştirmeyi unutmayın.'sudo python dosyaadı.py' kodu ile dosyayı çalıştırın.Kolay gelsin ...
Ara
Cevapla
#4
Hocam aslında olay şu denetleyicideki (denetleyici robottan bağımsız verileri alıyor) verileri rasperle okumam gerekiyor ve rasperin okuduğu verileri matlabla işlemem gerekiyor. Aynı zamanda robotun hareketini vs rasper ile proğlamlamayı düşünüyorum.Bu yüzden rasper bilgisayara bağlı olmayacak wifi adaptor ile nete bağlı ve bu yolla verileri aktarırım diye düşünmüştüm. Velhasıl kelam bilgisayarda ne yazık kı port açılmayacak.
Ara
Cevapla
#5
Hocam     " Bağlantıyı yaptıktan sonra yine aynı komutu verin. İki çıktı arasındaki farklılık sizin seri portunuz olacaktır. Örn: /dev/ttyUSB0, /dev/ttyAMA0" burda sanırım rasperin bilgisayara bağlı olmasından bahsetmiyorsunuz. Portu rasper uretiyor isimlendiriyor anladığım kadarıyla doğru mu anlıyorum. Kusura bakmayın alışamadım hala raspere kafam direk denetleyicilere gore çalışıyor Smile
Ara
Cevapla
#6
Ben de şu ana kadar projemde yaptıklarımdan yola çıkarak birkaç fikir vereyim. JAVA biliyorsan robotunu hareket ettirmek vs. gibi şeyler için yani kısacası software ile hardware ı birleştirmek istiyorsan ve bunu gpio pinlerini kullanarak yapmak ityiyorsan javada pi4j kütüphanesi var. Bunu kullanarak rahatça robot kontrolü yapabilirsin. Bunun yanında wifi olayını bende merak ediyorum. Hatta wifi direct ile konu açmıştım tam hatırlamıyorum ya buraya ya da official foruma. Bu konuyu takip edeceğim bende. C ile ilgili bir bilgim yok. Umarım JAVA ihtiyacını karşılar.
Ara
Cevapla
#7
Hocam matlabın rasper için özel paketi varmış ve ordan pi yi tanıtmak veri gondermek programlama vs  okadar kolay ki yeni keşfettim baya kolaylaştırıyor işi. Eğer bu işle uğraşacak arkadaşlar olursa http://www.mathworks.com/help/supportpkg...index.html
bu dokumanlar işlerini görecektir.. 

Bir çok şeyi yapabiliyorum ancak hala denetleyiciden verileri doğru düzgün alamıyorum.3.3V ve 5V ile ilgili oldgunu düşünüyordum level converter aldım bu şekilde bağlantı sağladım ancak yine olmadı.Saçma sapan veriler geliyor porta anlamadım hala ama yakın zamanda umarım sonuca giderim. Çözümü olan arkadaşlar yanıt verirlerse sevinirim..
Ara
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  rpi b ile sim908evbkit seri bağlantı sorunu onurcomert 4 4,464 12-08-2014, 09:30 AM
Son Yorum: onurcomert

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi