精华内容
下载资源
问答
  • 手机通过蓝牙设备连接蓝牙打印机.zip
  • android手机蓝牙连接蓝牙设备

    千次阅读 2012-06-27 16:58:45
    通讯流程:设备有测量数据后,通知打开设备上的蓝牙模块,蓝牙开始广播(在没有连接的情况下,连续广播一分钟),此时手机蓝牙可以搜索到设备,之后进行配对连接,然后根据通讯协议来通讯;当产品测量完数据后通知...
    通讯流程:设备有测量数据后,通知打开设备上的蓝牙模块,蓝牙开始广播(在没有连接的情况下,连续广播一分钟),此时手机蓝牙可以搜索到设备,之后进行配对连接,然后根据通讯协议来通讯;当产品测量完数据后通知手机与其断开连接。一次通讯完毕! 如果设备一直没有连接到手机蓝牙,设备的测量数据一直存储在设备里,待下一次与手机蓝牙通讯时,一起发送。
    展开全文
  • 能够实现扫描周围蓝牙设备,并显示在列表中用于选择连接;能够通讯及收发数据,并把数据更新到UI上。将BluetoothChatService类中的UUID替换即能实现蓝牙聊天
  • 从晚上下载的例子,发现不能自动获取设备、服务和特征值,这就导致了程序通用性大大降低,在通过自己的摸索后,将这部分功能调试通过,现在已经是一个通用的webapp调用ble的程序了,功能包括搜索、连接蓝牙,选取...
  • 我想做一个小程序,手机蓝牙连接其他蓝牙设备的,现在做到将附近的蓝牙设备找到并显示。后面就不会做了,求指导
  • 利用html5接口编写的关于webapp调用低功耗蓝牙ble的程序,集合了搜索,连接和数据的写入,各项功能都亲测有效
  • 蓝牙设备空中升级操作步骤前期准备适用机型适用设备工具准备设备名称苹果手机升级流程安装nrfconnect下载升级包升级安卓手机升级流程 金桔蓝牙设备都是带有dfu服务的,都是通过手机可以进行空中升级的。 该空中升级...


    金桔蓝牙设备都是带有dfu服务的,都是通过手机可以进行空中升级的。
    该空中升级步骤普遍实用于所有nordic芯片并有dfu服务的蓝牙设备。

    前期准备

    适用机型

    针对苹果手机与安卓手机升级的策略不同分开来说明。请在升级时选择自己的手机类型。

    适用设备

    适用于金桔智能出品的所有带有蓝牙的设备,包括定位胸牌、网关、beacon、DTU、门锁等,或者其他nordic芯片带有dfu服务的固件程序。

    工具准备

    请下载nrf工具,包括:nrf connect并安装到手机上。

    设备名称

    位标、beacon:IB开头的设备,前期无需动作即可进入升级模式。注意:设备在扫描时在IB和NA间跳动;
    胸牌:IR开头的设备,需要在2s内按5下进入升级模式,此时LED灯常亮或者静止一分钟以上;
    网关:IS开头的设备,在升级前需要通过小程序,点击DFU,进入升级模式,此时以UP开头。
    其他设备直接根据蓝牙名称进行升级。

    苹果手机升级流程

    安装nrfconnect

    在苹果应用市场搜索nrf connect并安装。

    下载升级包

    苹果手机因为没有文件浏览器,所以如果在应用里打开文件是第一步需要做的。
    第一种方法,发邮件。通过浏览器下载文件,然后用nrf toolbox或者nrf connect 打开。
    第二种方法,微信发文件。下载文件后,用”用其他按钮打开“按钮使用nrf toolbox或者 nrf connect 打开。
    在这里插入图片描述
    在这里插入图片描述

    升级

    升级过程与安卓流程相同。

    安卓手机升级流程

    请到应用市场下载,NRF CONNECT
    Step1:,请打开nrfconnect,将手机与设备贴近,在scanner中将信号强度选至-40dBm,找到相应的设备,并确定要升级的设备ID号,点击connect。

    在这里插入图片描述
    Step2:点击secure DFU Service
    在这里插入图片描述

    依次点击,1 2
    在这里插入图片描述
    点击2后弹出:
    在这里插入图片描述
    直接点击send即可。
    此时设备变更名称为Dfu Targ,如下图:
    在这里插入图片描述
    Step3:空中升级
    在空中升级前,请将文件拷贝至设备,部分手机需要下载total commander.
    继续刚才页面,点击connect
    在这里插入图片描述
    进入页面后点击DFU,如下图:
    在这里插入图片描述
    选择文件
    在这里插入图片描述
    选择文件:
    在这里插入图片描述
    注意,华为手机需要另外安装文件管理器,否则,默认的管理器无法打开升级包。
    等待升级:
    在这里插入图片描述
    过程中请不要点击退出,升级完成会有Done的提示。
    在这里插入图片描述
    升级完成会有升级成功(Done)的提示。升级完成。

    展开全文
  • android获取手机已经配对的蓝牙设备信息,列表显示
  • 简单的蓝牙通讯代码,通过j2me 的蓝牙设备可以实现多个蓝牙手机之间的设备通讯——bexDemo,不错的例子
  • 关于手机蓝牙连接多个设备

    千次阅读 2017-05-03 23:34:00
    最近简单弄手机蓝牙连多个设备,如蓝牙打印机,...目前手机蓝牙一般可以连多个设备了,版本好像是蓝牙4.2以上,好像也可以多个蓝牙设备一起工作了,比如蓝牙耳机和蓝牙手环一起工作,以前的低版本蓝牙好像不可以。...
    最近简单弄手机蓝牙连多个设备,如蓝牙打印机,蓝牙扫描仪等等,需要手机蓝牙可以同时操作多个设备的需求,简单的了解了一下。
    目前手机蓝牙一般可以连多个设备了,版本好像是蓝牙4.2以上,好像也可以多个蓝牙设备一起工作了,比如蓝牙耳机和蓝牙手环一起工作,以前的低版本蓝牙好像不可以。
    展开全文
  • 蓝牙是一种重要的短距离无线通信协议,广泛应用于各种设备(手机,医疗,汽车等)。蓝牙是比较常用的无线通信设备,早研究成为手机的标配。现在的安卓手机基本上都有蓝牙,所有通过蓝牙对数据有很好的硬件基础 在...

    蓝牙是一种重要的短距离无线通信协议,广泛应用于各种设备(手机,医疗,汽车等)。蓝牙是比较常用的无线通信设备,早研究成为手机的标配。现在的安卓手机基本上都有蓝牙,所有通过蓝牙对数据有很好的硬件基础

    在Android中,与蓝牙有关的类和接口在android.bluetooth包中。其中BluetoothAdapter是蓝牙中的核心类,代表本地的蓝牙适配器设备。BluetoothAdapter类让用户能执行基本的蓝牙任务。例如: 初始化设备的搜索,查询可匹配的设备集,使用一个已知的MAC地址来初始化一个BluetoothDevice类,创建一个 BluetoothServerSocket类以监听其它设备对本机的连接请求等。

    打开和扫描蓝牙,并将扫面到的蓝牙设备显示在listview上

    BluetoothActivity

    package cn.edu.cqu.bluetooth;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.Set;
    import com.example.project.R;
    
    import android.app.Activity;
    import android.bluetooth.BluetoothAdapter;
    import android.bluetooth.BluetoothDevice;
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.content.IntentFilter;
    import android.os.Bundle;
    import android.view.View;
    import android.view.Window;
    import android.view.View.OnClickListener;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.ListView;
    import android.widget.TextView;
    import android.widget.Toast;
    
    public class BluetoothActivity extends Activity{
    	
    	private Button button2;
    	private ListView list;
    	private ArrayAdapter mArrayAdapter;  
    	private BluetoothReceiver bluetoothReceiver;
    	private BluetoothAdapter bluetoothAdapter;
    	private BluetoothDevice device;
    	private ArrayList<String> PairedMaclist;
    	private TextView textView1;
    	int flag;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.bluetooth);
    		
    		 	
    	        list = (ListView)findViewById(R.id.listView);
    	        textView1 = (TextView)findViewById(R.id.textView);
    	        
    	        //创建一个IntentFilter对象,将其action指定为BluetoothDevice.ACTION_FOUND,查找蓝牙
    	        IntentFilter intentFileter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
    	        bluetoothReceiver = new BluetoothReceiver();
    	        //注册广播接收器
    	        registerReceiver(bluetoothReceiver, intentFileter);
    	        bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
    	        button2 = (Button)findViewById(R.id.scanButton);
    	        button2.setOnClickListener(new ScanButtonListener());
    	        list.setOnItemClickListener(new ListViewListener());
    	        
    	        openBluetooth();
    	        
    	        mArrayAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1);
    	        PairedMaclist=new ArrayList<String>();
    	       
    	}
    	
    		@Override
    	protected void onDestroy() {
    		unregisterReceiver(bluetoothReceiver);
    		super.onDestroy();
    	}
    
    		private void openBluetooth() {
    			//bluetoothAdapter.enable();
    			if(bluetoothAdapter != null){
    				if(!bluetoothAdapter.isEnabled()){
    					Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
    					startActivity(intent);
    				}
    				//得到所有已经被对的蓝牙适配器对象
    				Set<BluetoothDevice> devices = bluetoothAdapter.getBondedDevices();
    				if(devices.size() > 0){
    					for(Iterator<BluetoothDevice> iterator = devices.iterator();iterator.hasNext();){
    						BluetoothDevice bluetoothDevice = (BluetoothDevice) iterator.next();
    						//得到远程蓝牙设备的地址
    						System.out.println(bluetoothDevice.getAddress());
    					}
    				}
    			}
    			else {
    				//System.out.println("没有蓝牙设备");
    				Toast.makeText(BluetoothActivity.this, "没有蓝牙设备",0).show();
    			}
    		}
    		
        class BluetoothReceiver extends BroadcastReceiver{
    
    		@Override
    		public void onReceive(Context context, Intent intent) {
    			String action = intent.getAction();
    			if(BluetoothDevice.ACTION_FOUND.equals(action)){
    				//得到intent里面的信息
    				device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
    				Toast.makeText(BluetoothActivity.this, "发现蓝牙设备",0).show();
    				//System.out.println(device.getAddress());
    				mArrayAdapter.add(device.getName() + "\n" + device.getAddress());
    				PairedMaclist.add(device.getAddress());
    				list.setAdapter(mArrayAdapter);
    			}
    		}
        	
        }
        
        class ScanButtonListener implements OnClickListener{
    
    		@Override
    		public void onClick(View arg0) {
    			mArrayAdapter.clear();
    			
    			bluetoothAdapter.startDiscovery();
    			Toast.makeText(BluetoothActivity.this, "开始扫描",0).show();
    		}
        	
        }
        
        class ListViewListener implements OnItemClickListener{
    
    		@Override
    		public void onItemClick(AdapterView<?> arg0, View view, int position,
    				long id) {
    			 String str = PairedMaclist.get(position);
    			 //System.out.println("Str-------------" + str);
    			 Intent intent = new Intent(BluetoothActivity.this,BluetoothWaveform.class);
    			 intent.putExtra("BluetoothMAC",str);
    			 startActivity(intent);
    		}
        	
        }
    }
    显示和扫描蓝牙布局文件
    <pre name="code" class="html"><LinearLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="20dp"
        android:orientation="vertical" >
            
        
        <Button 
            android:id="@+id/scanButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20dp"
            android:text="扫描蓝牙设备"/>
        <TextView 
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20dp"
            android:textSize="20sp"
            android:text="搜索到以下设备:"/>
        <ListView 
            android:id="@+id/listView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            ></ListView>
         
    </LinearLayout><img src="https://img-blog.csdn.net/20150409144408261?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbmZlbmdkZWp1YW5saWFu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

     
    

    展开全文
  • 蓝牙连接 获取蓝牙设备数据 例如心跳速率
  • 在应用开发中有时会碰到操作蓝牙设备的需求,这时就需要获取手机已连接的蓝牙设备,其中"已连接"是广泛含义,其实蓝牙设备分为可链接设备(比如:蓝牙音箱 蓝牙耳机) 和可绑定设备(比如:手机 蓝牙自拍杆 蓝牙手表 ...
  • 手机可以连接多少个蓝牙设备

    千次阅读 2020-08-14 07:54:22
    这是一个课题研究,蓝牙的东西我们可以先不说,我们讨论一个产品需求。我经常遇到一个场景,就是我用我的手机连上TWS蓝牙耳机听音乐,然后呢,我没有开车,我下地铁的时候,我需要打开我的手机,打...
  • 代码我忘了在哪找的,只记得是把别人网上的代码稍微整理了一下,之后再加上自己的一些东西就成功了,对,反正就是成功了。很感谢我的一个哥们帮我组建了单片机和蓝牙...一,Android 手机蓝牙 与 Android 手机蓝牙 ...
  • 代码中解除手机已配对的蓝牙设备

    千次阅读 2016-10-19 11:09:12
    这几天被一个问题困扰了很久,就是app里面连接蓝牙设备之后解绑断开,蓝牙回调也显示了断开,但是自己再去搜就搜不到了。找了很久原因发现在手机设置的蓝牙配对列表中发现该设备已被配对,导致手机搜不到。然后就...
  • Android手机蓝牙与手机,HC05设备通信

    热门讨论 2018-03-19 17:14:48
    APP作为信息的发送者与接受者,可以实现手机手机的通信,手机向HC05发送数据(HC06就不知道了)。解压用AS打开生成APK就可以使用。
  • 手机利用蓝牙搜索配对上蓝牙设备,连接上后蓝牙设备手机传输数据,此蓝牙设备不是BLE设备,并且通信过程中利用BluetoothSocket进行通信,但是获取不到数据,有可能设备传输的数据加密了还是必须知道数据格式?...
  • 说白了,只是个蓝牙转串口的设备,你只要知道串口怎么编程使用,就可以了,实现了所谓的透明传输。 但是就是这么一个很常见的模块,网上很多的博客写的都是错的,或者都是很不详细的。 所以本文就介绍一下这款蓝牙...
  • 工作时间不是很长,如以下观点中出现不对的地方欢迎指正...当我们准备对接一个设备的时候 首先是需要拿到该设备的UUID 这个uuid非常好拿到,目前Android市场有很多蓝牙读写器(BLE读写器)随便一搜很多的,连接上设备
  • 在执行device discovery之前,最好在已配对的设备列表中查看所要发现的设备是否已经存在。通过调用getBondedDevices()函数可以获得代表已经配对的设备的BluetoothDevice集合。 例如,你可以查询所有已经配对的设备...
  • 判断蓝牙设备是否为手机

    千次阅读 2012-04-24 18:51:56
    一个设备的device.getBluetoothClass().getMajorDeviceClass() == android.bluetooth.BluetoothClass.Device.Major.PHONE(就是512)就是手机。 见表:
  • 用于获取和手机蓝牙连接的蓝牙设备
  • 本文章主要讲下蓝牙设备类型class of device的概念,service class ,major device,minor device类型以及举例说明下某一个cod的解析。 一. 声明 本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下: ...
  • Android 如何实现动态监听连接手机蓝牙设备是否因为某些原因断开(比如距离过远),此时通知用户蓝牙设备已经断开连接
  • 平板电脑如何蓝牙手机配对Wireless devices with Bluetooth radios must be “paired” with each other before they can communicate. This involves making them discoverable and potentially entering a PIN. ...
  • iOS 蓝牙设备手机的距离计算

    千次阅读 2017-08-30 11:43:08
    1、手机通过蓝牙连接外围设备,通过信号强度转换为距离 - (CGFloat)getDistance:(NSNumber *)RSSI { float power = (labs([RSSI integerValue]) - 59) / (10 * 2.0); return powf(10.0f, power); }
  • android6.0蓝牙4.0设备主动推送数据手机接收,主要是设备没有sdk包,适用于蓝牙公司标准协议的设备
  • Android 获取蓝牙设备类型

    万次阅读 2017-04-17 16:55:38
    之前我们分析了如何获取已连接的蓝牙设备地址 ... 本篇我们分析如何获取对应蓝牙设备的类型,这个类型和profile不是同一个东西,而是具体蓝牙的...我们看到手机搜索到的蓝牙设备类型有三种,手机、电脑和普通蓝牙 /*
  • 手机搜索不到BLE蓝牙设备怎么办

    千次阅读 2019-05-21 09:58:25
    可以通过调整晶振匹配电容,来调整频偏的大小来尝试解决问题。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,428
精华内容 16,571
关键字:

下载手机蓝牙设备