Raspberry Pi ve C# Haberleşmesi

Başlatan ernuynk, 12 Mart 2015, 00:25:43

ernuynk

Merhaba arkadaşlar,

Windows üzerinde C# ile rPi'ye bağlanmam gerekiyor. (Tıpkı Arduino ile C# arasında seri port üzerinden haberleşme gibi)
Fakat internette sürekli olarak rPi'yi uzaktan bağlantı ile Windows'a aktarma ve burada da MonoDevelop ile C++ programlama anlatılıyor. Yani direkt olarak rPi üzerinde programlama anlatılıyor. Fakat bu benim aradığım bir özellik değil. Aşağıdaki video günler sonra son bir umut olarak bulduğum bir proje. Video'da macbook üzerinde windows 8 çalışıyor ve visual studio ile hazırlanan program sayesinde rPi tabanlı robota Kinect üzerinden bilgi gönderiliyor. (Bende kinect kullanacağım için windows olmazsa olmazım :) )

Sizce video'daki arkadaş bu sorunu nasıl çözmüş olabilir? Yani windows ortamından c#+kinect ile veriyi rPi'de nasıl çalıştırabilmiştir?

Teşekkürler.

https://www.youtube.com/watch?v=oi-zptfYKqE

teknikelektronikci

Selam soruna cevap bulabildinmi ? adamin nasil yaptigini bilmyiorum ama belki socket ile baglanmis veya rs232 yoluyla kablosuz haberlesmis olabilir, bence mühüm olan burada o kinect e program yazabilmek :)
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

peko

Alıntı YapYani windows ortamından c#+kinect ile veriyi rPi'de nasıl çalıştırabilmiştir?

Bunu yapmanın 1 milyon yolu var.

Önemli olan size hangisi uygun.?
Masadaki malzemeler neler ?
Eğer yoksa temin edebilecekleriniz neler ?
Kontrol mesafesi ne kadar olmalı?

Komplike düşünmeyin, modüler olarak her bir modülün kendine özgü çalışmasını kontrol altına aldıktan sonra, istediğiniz iletişim protokolü ile yolunuza devam edebilirsiniz. Web,Wireless,Bluetooth,Usb vb..

Örneğin;
Kinect'i kontrol altına aldınız mı ? Muhtemelen sdk veya yoksa kendi kontrol yazılımında varolan bir dll içindeki fonksiyonları kullanmanız gerekebilir.. Yada sizin böyle bir dll oluşturmanız gerekiyor.
rPi'de video'daki gibi bir kontrol yapabilecek ortamı hazırlayıp, ortama sadece veri girerek hareketleri yerine getirebilmesini sağladınız mı ?

Bunlar modüler olarak kontrol altına alındı ve sadece veri aktarımı kaldıysa bunun üzerine ilerleyebiliriz..

:)



" Bazıları zeka'sını iş'i zorlaştırmak için, bazıları ise kolaylaştırmak için kullanır.. "

ernuynk

#3
Alıntı yapılan: teknikelektronikci - 19 Ekim 2015, 23:17:39
Selam soruna cevap bulabildinmi ? adamin nasil yaptigini bilmyiorum ama belki socket ile baglanmis veya rs232 yoluyla kablosuz haberlesmis olabilir, bence mühüm olan burada o kinect e program yazabilmek :)

Merhaba, sorularıma kısmen cevap bulabildim. Videodaki kişi ile iletişime geçtiğimde JSON sistemini kulladıklarını söyledi. Şahsen JSON'un ne olduğunu o söyledikten sonra öğrendim :)

mesaj birleştirme:: 20 Ekim 2015, 20:42:07

Alıntı yapılan: peko - 20 Ekim 2015, 12:22:48
Bunu yapmanın 1 milyon yolu var.

Önemli olan size hangisi uygun.?
Masadaki malzemeler neler ?
Eğer yoksa temin edebilecekleriniz neler ?
Kontrol mesafesi ne kadar olmalı?

Komplike düşünmeyin, modüler olarak her bir modülün kendine özgü çalışmasını kontrol altına aldıktan sonra, istediğiniz iletişim protokolü ile yolunuza devam edebilirsiniz. Web,Wireless,Bluetooth,Usb vb..

Örneğin;
Kinect'i kontrol altına aldınız mı ? Muhtemelen sdk veya yoksa kendi kontrol yazılımında varolan bir dll içindeki fonksiyonları kullanmanız gerekebilir.. Yada sizin böyle bir dll oluşturmanız gerekiyor.
rPi'de video'daki gibi bir kontrol yapabilecek ortamı hazırlayıp, ortama sadece veri girerek hareketleri yerine getirebilmesini sağladınız mı ?

Bunlar modüler olarak kontrol altına alındı ve sadece veri aktarımı kaldıysa bunun üzerine ilerleyebiliriz..

:)

Merhaba hocam,

Öncelikle masada robot kol, kinect, raspberry pi, arduino v.b. bir çok malzeme mevcut. Temin konusunda herhangi bir sorun yok. Kontrol mesafesi kinect algılaması için 2.5-3 metre civarı olacak. Kinect ile robot ise zaten aynı masada olacak.

Dediğiniz gibi bir çok yol mevcut. Kafamı karıştıran ve karar vermemi zorlaştıran şeyde bu zaten. Daha bugün aynı proje için Matlab&Simulink uygulamaları buldum. O bile kafamı çeldi, acaba mı dedim :)

Kinect'i programlama başladım sayılır. Benzer projeler ve hazır kütüphaneler ile ilerleyeceğim. Fakat bluetooth ve wifi özellikleri için robot üzerinde kullanacağım karta karar veremedim. Yukarıdaki projede rPi kullanmışlar ve kontrolü de windows üzerinde kinect ile yapmışlar. Kendilerine mail attığımda haberleşme için JSON dan bahsettiler. Linux üzerinden yapmaya çalışayım diyorum bu seferde ROS kullanacağım fakat görsel arayüz tasarlamam gerektiği için Visual Studio (C#) olmadan onu nasıl yapacağım bilmiyorum.

Fakat kinect+pc ve kontrol kartı+robot olarak sistemi ayırırsam, kontrol kartı için rPi, Arduino, Netduino (C# tabanlı olduğu için) gibi kartlar arasında da kararsızın. rPi biraz öne çıkıyor çünkü bluetooth ve wifi özellikler shield'e gerek kalmadan nano adaptörler ile çözülebiliyor. Yani projede de işe yararlar diye düşünüyorum. Çünkü shield'ler özellikle Arduino shield'ler çok pahalı (wifi için)

teşekkürler

peko


1 - Kinect tarafını çöz.
2 - Kineck'den gelen verileri visual studio c# ile JSON formatında oluştur.
3 - Web sunucusuna POST etmesini ve bunu her saniye yapmasını sağla.
4 - Karşı tarafa webserver kur, wireless ile gelen dataları alacak şekilde ayarla.
5 - 3. madde'de belirttiğim POST metoduna url olarak bu webserver'ı göster. Arkadaşın yaptığı şekilde konuşmaya başlasınlar..
6 -  Aldığın datayı parse et, ve ne yapmak istiyorsan yapabilirsin..

Eksik, aksak, hata , yanlış olabilir. Kabaca böyle.. incesi ellerinden öper  ;)

Kolay gelsin.

" Bazıları zeka'sını iş'i zorlaştırmak için, bazıları ise kolaylaştırmak için kullanır.. "

ernuynk

Alıntı yapılan: peko - 21 Ekim 2015, 14:56:42
1 - Kinect tarafını çöz.
2 - Kineck'den gelen verileri visual studio c# ile JSON formatında oluştur.
3 - Web sunucusuna POST etmesini ve bunu her saniye yapmasını sağla.
4 - Karşı tarafa webserver kur, wireless ile gelen dataları alacak şekilde ayarla.
5 - 3. madde'de belirttiğim POST metoduna url olarak bu webserver'ı göster. Arkadaşın yaptığı şekilde konuşmaya başlasınlar..
6 -  Aldığın datayı parse et, ve ne yapmak istiyorsan yapabilirsin..

Eksik, aksak, hata , yanlış olabilir. Kabaca böyle.. incesi ellerinden öper  ;)

Kolay gelsin.



Teşekkürler sağolun :)

teknikelektronikci

Ne yaptin hocam, bitiridnmi merak ettim :)
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

ernuynk

Alıntı yapılan: teknikelektronikci - 25 Kasım 2015, 13:46:52
Ne yaptin hocam, bitiridnmi merak ettim :)

Merhaba hocam, şuan için kinect ve servo kontrolleri ile uğraşmaktayım. Kart için raspberry pi kullandığımdan servo sürücüsünde sorun yaşadım elimdeki sürücü I2C ile haberleşiyormuş şuan onu çözmeye çalışıyorum. Bir yandan da kinect ile uğraşıyorum. Bunları en kısa sürede anlatıp, socket programlama konusuna el atacağım çünkü her iki sistemi ortamdaki interneti kullanarak haberleştirmem gerekiyor :/

ilginiz için teşekkürler

ernuynk


Firzen

Processing kullanmışsınız bende c# daha bilmediğim için genelde processing veya LabVIEW kullanıyorum. Ellerinize sağlık ilk defa bi projede dış görünüşünüde güzelleştireni gördüm GAYET BAŞARILI :D Ellerinize sağlık tekrardan :)
Kararsız...

ernuynk

Alıntı yapılan: Firzen - 30 Haziran 2016, 15:31:46
Processing kullanmışsınız bende c# daha bilmediğim için genelde processing veya LabVIEW kullanıyorum. Ellerinize sağlık ilk defa bi projede dış görünüşünüde güzelleştireni gördüm GAYET BAŞARILI :D Ellerinize sağlık tekrardan :)

teşekkür ederim :)

evet kinect kontrolü için processing kullandım. Başka türlü işin içinden çıkamadım :)
Labview'da hangi alanlar üzerinde çalışıyorsunuz?

Firzen

Kontrole dayalı işler için hep LabVIEW kullandım veya arayüz tasarımı içinde. Elimde myDAQ myRIO var FPGA ve DSP tabanlı işler içinde ideal. Hatta Arduino desteği, Kinect ve konsol desteğide olduğu için kullanıcı portföyü beya genişledi.
Kararsız...

ernuynk

Alıntı yapılan: Firzen - 30 Haziran 2016, 19:41:53
Kontrole dayalı işler için hep LabVIEW kullandım veya arayüz tasarımı içinde. Elimde myDAQ myRIO var FPGA ve DSP tabanlı işler içinde ideal. Hatta Arduino desteği, Kinect ve konsol desteğide olduğu için kullanıcı portföyü beya genişledi.

Evet bende NI ürünlerini ve labview'i yakından takip ediyorum. Üniversite dersinde bir süre myRIO kartını görmüştük. Memnun musunuz? Geliştirme çalışmaları zor mu? :)

Firzen

myRIO üniversitede gösterdi mi hocanız? Hangi Üniversite?

myRIO gerçekten EFSANE :) Geliştirmesi ve kullanması çok gerçekten kolay myDAQ gibi değil çünkü Realtime çalıştırmaya çalışıyor. Şimdi NI'ın yeni ürünü olan sbRIO alacağım hatta. Onun hakkında da beya güzel yorumlar aldım. Hatta NI Evangelisti arayıp detaylı bilgi öğrendim deneme amaçlı bana gönderdiler hakkını veriyor. Zaten myDAQ -> myRIO -> sbRIO -> RoboRIO -> cRIO. Sıralama olarakta böyle gidiyor. hem özellik hem fiyat açısından da.
Kararsız...

peko


Projeyi bu aşamaya getirmek ne kadar zamanınızı aldı ?
" Bazıları zeka'sını iş'i zorlaştırmak için, bazıları ise kolaylaştırmak için kullanır.. "