Soru Android Bluetooth Örneği


Herkes bana Android verebilir mi? Bluetooth iletişim öğretici bağlantılar veya ipuçları? Lütfen BluetoothChat örneğine başvurmama izin vermeyin, yalnızca cihazların nasıl keşfedileceğini ve bağlanacağını anlayabiliyorum, ancak Bluetooth üzerinden verileri nasıl gönderip alacağımı bilmiyorum.

Aslında bir Android üzerinde çalışıyorum ve gömülü Bluetooth cihaz projesi. Lütfen bana yardım edin..


52
2017-09-24 10:10


Menşei


Verileri göndermek için BluetoothChat örneğini temel alabilirsiniz. Koda bakarsanız, Bluetooth üzerinden gönderilmeden önce metin mesajı dizesi byte [] olarak dönüştürülür. Verilerinizi byte [] olarak dönüştürün ve gönderin. - Win Myo Htet
IMHO sohbet örneği sadece sohbet veya biraz daha hızlı iletişim için iyidir .. Saniyede 100'den fazla mesaj göndermeniz gerektiğinde, yararlı olup olmadığından emin değilim. - Ewoks


Cevaplar:


Bluetooth bağlantısını anlamak daha iyi bu eğitim.

http://luugiathuy.com/2011/02/android-java-bluetooth/

http://code.google.com/p/android-bluetooth-touchpad/wiki/FrameworkTutorial :)


18
2017-09-24 10:16





Bluetooth iletişimi için başkalarının önerdiği gibi aşağıdaki bağlantıyı da kullandım.

http://developer.android.com/guide/topics/connectivity/bluetooth.html

İhtiyacın olan şey bir sınıf. BluetoothChatService.java

Bu sınıf aşağıdaki konuları içeriyor:

  1. Kabul etmek
  2. Bağlanıyor
  3. bağlı

Artık BluetoothChatService'in başlatma işlevini çağırdığınızda:

mChatService.start();

Bağlantıyı aramaya başlar, yani bağlantı aramaya başlayacaktır.

Şimdi aradığınızda

mChatService.connect(<deviceObject>,false/true);

Burada ilk argüman, eşleştirilmiş cihazlar listesinden alabileceğiniz cihaz nesnesidir veya aygıtları tararken, tüm aygıtları bu işleve bu nesneye aktarabiliyorsunuz ve 2. argüman güvenli veya güvensiz bir bağlantı kurmak için bir boolean.

connect işlev, kabul iş parçacığı çalıştıran herhangi bir aygıtı arayacak bağlantı iş parçacığı başlatır.

Böyle bir aygıt bulunduğunda, hem ipliği hem de bağlantı iş parçacığı BluetoothChatService içinde bağlı işlevi çağırır:

connected(mmSocket, mmDevice, mSocketType);

Bu yöntem, her iki cihazda da bağlanır: Bağlanan bu soket nesnesinin kullanılması, giriş ve çıkış akımını diğer cihaza iletir. Ve aramalar read bir zaman döngüsünde giriş akışında işlev görür, böylece diğer aygıttan her zaman okumaya çalışılır, böylece diğer aygıt bir ileti gönderdiğinde bu okuma işlevi bu iletiyi döndürür.

BluetoothChatService ayrıca bir write alır yöntemi byte[] giriş ve bağlı iş parçacığı üzerinde yazma yöntemi çağırır.

mChatService.write("your message".getByte());

Bağlı iş parçacığı içinde yazma yöntemi, bu bayt verilerini diğer aygıtın çıktı akışına yazmanız yeterlidir.

public void write(byte[] buffer) {
   try {
       mmOutStream.write(buffer);
    // Share the sent message back to the UI Activity
    // mHandler.obtainMessage(
    // BluetoothGameSetupActivity.MESSAGE_WRITE, -1, -1,
    // buffer).sendToTarget();
    } catch (IOException e) {
    Log.e(TAG, "Exception during write", e);
     }
}

Şimdi iki cihaz arasında iletişim kurmak için sadece mChatService'de yazma fonksiyonunu arayın ve diğer cihazda alacağınız mesajı kullanın.


9
2018-01-12 07:03



Bu sohbet servisiyle, cihazla bağlantı kuramayacağı veya hatta bağlantı kurduğu ve anında bağlantısı kesildiği için sorun yaşadı mı? - Jacob
Açıklamalarınız bütün günümü kurtardı! Teşekkür ederim! - Hossain Alhaidari


Android geliştirici sayfası öğreticiler Bluetooth özelliğini nasıl kullanacağınızı açıklar:
Umarım bu yardımcı olur.


5
2017-09-24 10:12



Bunu yaptım, cihazları keşfedebilir, bağlantı kurabilirim, ancak BT üzerinde nasıl veri alıp gönderebilirim? - Pratik


Android cihaz ve gömülü bluetooth cihaz arasındaki iletişimi nasıl ele alacağınızı gösteren iyi bir açık kaynak projesi var.

https://github.com/akexorcist/Android-BluetoothSPPLibrary


3
2017-08-08 13:44



Bu bağlantı bozuk. Bu bir çalışma bağlantısı - Shahar


OP henüz cevapları kabul etmediğinden, belirli cihazlara bağlanmak için birkaç örnek uygulama sunacağım. Kod örneklerinin kalitesini kefil edemem, ama bir 'gerçek' kod arıyorsanız - bir sensör cihazına bağlanan bir uygulama anlamında, bundan okumalar alır ve cihaz, bunlar yardımcı olabilir:

AndroiDAQ veri toplama uygulamalarını prototiplemek için bir tahtadır. Oluşturucu, Rick Fluck, üzerinde bir örnek, opensource Android uygulaması sağladı Github. AndroiDAQService.java dosyasına bakın. Aşağıya doğru Run () yöntemi, DAQ'dan hem okuma hem de yazma işlemini gösterir. (YMMV. Komple uygulama, uygulama mağazasından ücretsiz olarak indirilebilir. Sık sık çöküyoruz ama bu bizim DAQ anakartımızın oldukça sık rastlanan çıktıyı çıkarır. Kendi uygulamasında, Rick'in örneğine dayanarak, garip ekstra chars ve bu nedenle çökme.)

Texas Instruments, gemide az sayıda gömülü sensör bulunan ucuz bir Bluetooth SensorTag satıyor. Tedarik ücretsiz bir SDK etiketi ve IIRC ile çalıştığı için, hem Android hem de iOs uygulamalarının kaynak kodunu içerir. Yine de arama yaptığınızda dikkatli olun, çünkü bizimkileri satın aldığımızdan beri, 'geleneksel' Bluetooth'dan oldukça farklı olan düşük enerjili Bluetooth Smart teknolojisini kullanan aynı adla yeni bir cihaz çıkardılar.


2
2018-04-13 22:50