Gönderen Konu: Arduinodan Androide BT ile veri aktarmak  (Okunma sayısı 1942 defa)

Çevrimdışı hakanmelik

  • Yeni Üye
  • *
  • İleti: 17
  • hakanmelikoglu.com
    • kişisel blog sitesi
Arduinodan Androide BT ile veri aktarmak
« : 22 Aralık 2015, 12:31:27 »
Merhaba arkadaşlar,

Arduino ve sensörden veri okuyup HC-06 blueetooth modülü ile Android uygulamasına veri gönderiyorum. Bunun için developer.android sitesisindeki BluetootChat örneğini kullanıyorum. Bu uygulama ile bağlandım ve veri alışverişi sıkıntısız gerçekleşiyor.

Ama şöyle bir sorunum var. Andoid tarafında 3 adet TextView'i güncellemek istiyorum ama başaramıyorum. Sıkıntı ise gelen veri byte tipinde ve Arduinodan veri gönderirken hepsini aynı anda gönderiyor(3 sensör değerini, int olarak). Yani ben ayırt edemiyorum hangisi hangi veri. Peş peşe hepsini gönderiyor.

Android tarafında  Handler metodu altındaki
case Constants.MESSAGE_READ:

seçeneğinin altında varsayılan olarak


byte[] readBuf = (byte[]) msg.obj;
 

bu geliyor ve ben

sicaklikTX.setText( readBuf[0]  );

yapınca veriyi alabiliyorum. Eğer Arduino tarafında 3 tane veri gönderdiysem hepsini sırayla ekrana basıyor haliyle sadece son gönderiğim ekranda görünüyor. Yani eğer Arduino tarafında aşağıdaki gibi tek veri gönderseydim sıkıntı olmuyordu,

SoftwareSerial bt(12, 13);

bt.write(sicaklık);

 

Kısaca: Aynı kanaldan birden fazla veriyi nasıl gönderirim ve istediğim yere yazabilirim.

Şimdiden teşekkürler.

Çevrimdışı erdcan

  • Müdavim
  • ***
  • İleti: 50
Ynt: Arduinodan Androide BT ile veri aktarmak
« Yanıtla #1 : 22 Aralık 2015, 16:55:58 »
uygulama kodlarınızı göremediğimden pratik çözüm önerisi olarak göndereceğiniz verilerin arasına karakter koyun.hersensör değerinden sonra# işareti ile veriyi gönderin. Android tarafında da # işaretini yakalayınca sensör değerini almış olursunuz.

Çevrimdışı peko

  • Emektar
  • *****
  • İleti: 850
Ynt: Arduinodan Androide BT ile veri aktarmak
« Yanıtla #2 : 22 Aralık 2015, 23:30:17 »
Alıntı
hepsini sırayla ekrana basıyor haliyle sadece son gönderiğim ekranda görünüyor.


Kod: [Seç]
byte[] bytes = {...}
String str = new String(bytes, "UTF-8"); // for UTF-8 encoding
byte[] b = new byte[1];
fos.read(b);
fos.close();
String message = new String(b);

Kod: [Seç]
StringBuilder builder = new StringBuilder();
for (String details : list2) {
   builder.append(details + "\n");
}

custName.setText(builder.toString());

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

Çevrimdışı hakanmelik

  • Yeni Üye
  • *
  • İleti: 17
  • hakanmelikoglu.com
    • kişisel blog sitesi
Ynt: Arduinodan Androide BT ile veri aktarmak
« Yanıtla #3 : 24 Aralık 2015, 03:28:33 »
@erdcan
 O karakter olayını denedim ama ama tam beceremedim.


Çevrimdışı hakanmelik

  • Yeni Üye
  • *
  • İleti: 17
  • hakanmelikoglu.com
    • kişisel blog sitesi
Ynt: Arduinodan Androide BT ile veri aktarmak
« Yanıtla #4 : 24 Aralık 2015, 03:33:38 »
@peko
Hocam ilk yazdığınız kodda fos olayını anlamadım.
İkincisinde de for yapısını tam anlamadım. Biraz yardımcı olabilir misiniz ?

Çevrimdışı peko

  • Emektar
  • *****
  • İleti: 850
Ynt: Arduinodan Androide BT ile veri aktarmak
« Yanıtla #5 : 24 Aralık 2015, 04:42:54 »

Alıntı
Kısaca: Aynı kanaldan birden fazla veriyi nasıl gönderirim ve istediğim yere yazabilirim.

byte[] readBuf = (byte[]) msg.obj;
String message = new String(readBuf);

Bu şekilde message olarak aldığın bilgi nedir yazabilir misin?
" Bazıları zeka'sını iş'i zorlaştırmak için, bazıları ise kolaylaştırmak için kullanır.. "

Çevrimdışı hakanmelik

  • Yeni Üye
  • *
  • İleti: 17
  • hakanmelikoglu.com
    • kişisel blog sitesi
Ynt: Arduinodan Androide BT ile veri aktarmak
« Yanıtla #6 : 25 Aralık 2015, 07:07:22 »
@peko
Eğer readBuf[0] dan okursam istediğim değeri sağlıklı okuyorum ama message den alirsam gelen veri biraz değişiyor. Mesela 30 ise gelen veri 45-50 gibi bisey oluyor .

Çevrimdışı protezdiyot

  • Müdavim
  • ***
  • İleti: 79
Ynt: Arduinodan Androide BT ile veri aktarmak
« Yanıtla #7 : 29 Aralık 2015, 12:16:12 »
Hakan bey merhaba, bende benzer bir işlem yapmak istiyorum ve 3 gündür uğraşıyorum ama arpa boyu yol alamadım. Yardımcı olabilirseniz sevinirim. Öncelikle benim problemim android stüdyo. Elimde hc06 Bluetooth ile yapılmış bir proje var ve ben bu projeyi android stufyo ile açınca sadece kodları görebiliyorum. Telefonun ekranında butonları nasıl yerleştirilmiş bu ekranı göremiyorum. Bunu nasıl açabilirim? Yardımcı olabilirseniz mutlu olurum.

Çevrimdışı protezdiyot

  • Müdavim
  • ***
  • İleti: 79
Ynt: Arduinodan Androide BT ile veri aktarmak
« Yanıtla #8 : 29 Aralık 2015, 12:18:56 »
Konu ile alakalı aşağıdaki linkte bir başlık açtım. İsterseniz oraya da yazabilirsiniz... Şimdiden teşekkürler  http://www.picproje.org/index.php?topic=62633.msg485061.msg#485061

Çevrimdışı hakanmelik

  • Yeni Üye
  • *
  • İleti: 17
  • hakanmelikoglu.com
    • kişisel blog sitesi
Ynt: Arduinodan Androide BT ile veri aktarmak
« Yanıtla #9 : 30 Aralık 2015, 10:49:39 »
@protezdiyot

Hocam BluetoothChat örneğini %90 çözdüm. Muhtemelen senin çözümün bende. Bana mail adresini ver benim projeyi sana atayım gerekli yerleri düzenleyip kullanırsın.

Ben byte olarak veri alıp gönderebiliyorum.


Çevrimdışı protezdiyot

  • Müdavim
  • ***
  • İleti: 79
Ynt: Arduinodan Androide BT ile veri aktarmak
« Yanıtla #10 : 31 Aralık 2015, 03:59:07 »
@hakanmelik mail attım adresinize. Teşekkürler şimdiden

Çevrimdışı ceka

  • Üye
  • **
  • İleti: 45
    • http://
Ynt: Arduinodan Androide BT ile veri aktarmak
« Yanıtla #11 : 13 Aralık 2017, 02:16:57 »
çoktandır foruma girmedim belki aynı sorunu yaşayanlar vardır diye ekliyorum daha fazla yazı yazmaya gerek yok