精华内容
下载资源
问答
  • Android手机HC-05蓝牙连接Arduino nano获取DHT-11温湿度传感器数据 我以为的串口输出等于蓝牙输出,其实并不是 起初我所理解的,应该是这样连接 HC-05 nano  TX----RX  RX----TX  5V----5V GND----GND HT-05...

    如果您觉得本文对您有用,希望您点赞,收藏并且把它分享出去,不明白的可以在评论区留言,我会一一解答,感谢您的支持!!

    目标

    Android手机HC-05蓝牙连接Arduino nano获取DHT-11温湿度传感器数据
    在这里插入图片描述

    我以为的串口输出等于蓝牙输出,其实并不是

    起初我所理解的,应该是这样连接
    HC-05 nano
     TX----RX
     RX----TX
     5V----5V
    GND----GND

    HC-05蓝牙3.3V即可,5V蓝牙可以自适应不会烧掉

    DHT-11 nano
     Out----D2
     5V----5V
    GND----GND

    DHT-11温湿度传感器5V没问题,3.3V也能用

    我认为温湿度传感器输出到了串口,那么就等于输出到了蓝牙。
    通电以后:DHT-11输出到蓝牙,安卓手机app接收蓝牙传过来的数据以文本显示在前端变量上

    结果测试了很多次以后,发现输出是乱码。

    于是我就怀疑起蓝牙到底发过来的是什么,蓝牙到底是怎样传输,我所认为的对不对。后来我发现蓝牙输出并不一定要用串口输出,所以就改变了接线。
    HC-05 nano
     TX----D6
     RX----D5
     5V----5V
    GND----GND

    这时,nano即使USB串口连着电脑也可以正常烧录代码,不用拔插蓝牙的RX,TX了(主要是当蓝牙RX,TX连接了nano的TX,RX时,占用串口无法烧录,nano烧录的时候是使用这两个端口进行数据传输的)

    单说nano DHT-11串口输出

    #include <dht11.h> //引用dht11.h文件,头文件必须要有,如果没有后面输出会报错,必须放到工程文件夹下。
    dht11 DHT11;	//实例化,我虽然不明白啥叫实例化,但这一句可能就是把dht11实例化给一个常量进行声明,以方便后面的参数调用吧。
    #define DHT11PIN 2	//定义dht11输出引脚给一个变量,变量名可以修改,这里结尾没有";",不需要加分号
    void setup() {
    }	//起初这里啥都不用写,因为串口输出所以不用写
    void loop() {
      char chk = DHT11.read(DHT11PIN);		//读取温度传感器发出来的值
      Serial.println(DHT11.temperature);	//单行串口输出温度值
      Serial.println(DHT11.humidity);		//单行串口输出湿度值
      delay(1000);		//间隔1秒输出一次
    }
    

    那么我在想串口是啥呢?串口其实就是Serial,串口输出就是Serial.print
    如果是蓝牙输出那就是Bluetooth.print,要是屏幕输出那就是LCD.print,扬声器输出那就是Sound.print,其实这个前缀(Serial,Bluetooth,LCD,Sound当然也可以改名,只要你知道就行)这些变量,应该就是在dht11.h里面定义的,不然的话没办法输出。

    dht11.h源码

    #ifndef dht11_h
    #define dht11_h
    #if defined(ARDUINO) && (ARDUINO >= 100)
    #include <Arduino.h>
    #else
    #include <WProgram.h>
    #endif
    
    #define DHT11LIB_VERSION "0.4.1"
    
    #define DHTLIB_OK			0
    #define DHTLIB_ERROR_CHECKSUM	-1
    #define DHTLIB_ERROR_TIMEOUT	-2
    
    class dht11
    {
    public:
        int read(int pin);
    	int humidity;
    	int temperature;
    };
    #endif
    

    这里面太深我也看不懂,里面还包含了<Arduino.h>,<WProgram.h>文件,所以你的arduino编辑器也得加载这些库文件吧,不然的话无法运行
    除此之外还有一个文件,也要放到工程目录下,不然的话无法运行

    dht11.cpp源码

    #include "dht11.h"
    int dht11::read(int pin)
    {
    	// BUFFER TO RECEIVE
    	uint8_t bits[5];
    	uint8_t cnt = 7;
    	uint8_t idx = 0;
    
    	// EMPTY BUFFER
    	for (int i=0; i< 5; i++) bits[i] = 0;
    
    	// REQUEST SAMPLE
    	pinMode(pin, OUTPUT);
    	digitalWrite(pin, LOW);
    	delay(18);
    	digitalWrite(pin, HIGH);
    	delayMicroseconds(40);
    	pinMode(pin, INPUT);
    
    	// ACKNOWLEDGE or TIMEOUT
    	unsigned int loopCnt = 10000;
    	while(digitalRead(pin) == LOW)
    		if (loopCnt-- == 0) return DHTLIB_ERROR_TIMEOUT;
    
    	loopCnt = 10000;
    	while(digitalRead(pin) == HIGH)
    		if (loopCnt-- == 0) return DHTLIB_ERROR_TIMEOUT;
    
    	// READ OUTPUT - 40 BITS => 5 BYTES or TIMEOUT
    	for (int i=0; i<40; i++)
    	{
    		loopCnt = 10000;
    		while(digitalRead(pin) == LOW)
    			if (loopCnt-- == 0) return DHTLIB_ERROR_TIMEOUT;
    
    		unsigned long t = micros();
    
    		loopCnt = 10000;
    		while(digitalRead(pin) == HIGH)
    			if (loopCnt-- == 0) return DHTLIB_ERROR_TIMEOUT;
    
    		if ((micros() - t) > 40) bits[idx] |= (1 << cnt);
    		if (cnt == 0)   // next byte?
    		{
    			cnt = 7;    // restart at MSB
    			idx++;      // next byte!
    		}
    		else cnt--;
    	}
    	humidity    = bits[0]; 
    	temperature = bits[2]; 
    	uint8_t sum = bits[0] + bits[2];  
    	if (bits[4] != sum) return DHTLIB_ERROR_CHECKSUM;
    	return DHTLIB_OK;
    }
    

    我把大部分英文备注都去了,我也看不懂,我觉得是根据电路图
    往引脚pin输出低电平,18毫秒后,输出高电平,40微秒后再往pin引脚输入,来获取传感器数值,并且放到一个数组里面,这个数组是bits,前两位是湿度值,后两位是温度值,uint8_t 代表无符号整形,8位=1字节,t是啥意思?typedef。代表他是通过typedef定义的头文件。其他的自己联想吧,不想看C的可以略过

    再说nano HC-05蓝牙输出

    以前我以为串口输出=蓝牙输出,其实不然,蓝牙可以是蓝牙,串口可以是串口。
    之前还发过蓝牙调试,我当时写了其实也没太明白,现在感觉明白点了。

    重点:HC-05蓝牙默认频率是38400,所以最好设置成这个,不然的话我感觉输出的内容可能会是乱码

    之前输出到安卓手机的时候,始终是一个菱形框里面有个问号,要么就是多个菱形框里面有问号,大家可以手机下载蓝牙串口SPP连接蓝牙进行调试,看看输出的是什么。
    当时还输出0x80啥的,我网上查了也查不到是啥,我起初以为是16进制输出需要转换成UTF-8,后来可能是我多想了。

    #include <SoftwareSerial.h>		//引用库文件,这个文件应该是用于软件串口输出的
    #include <dht11.h>
    dht11 DHT11;
    #define DHT11PIN 2
    //Pin5为RX,接HC05的TX针脚
    //Pin6为TX,接HC05的RX针脚
    SoftwareSerial BT(6, 5);		//定义蓝牙输入输出引脚
    char val;	//定义一个字符变量用于数据传输
    void setup() {
      Serial.begin(38400); 		//串口输出,最终目标是温湿度传感器通过蓝牙发送到安卓手机,这两句其实可以不用写
      Serial.println("Buletooth is ready!");		//可以不写
      BT.begin(38400);		//定义蓝牙频率,nano连接蓝牙,他就用这个频率输出,无论是nano连蓝牙,还是蓝牙连串口都用这一个频率就对了,就好像nano连串口,输出频率要设置成9600,那么arduino软件串口的频率也要调成38400一样才能正确接收数据不会出现乱码一样。
    }
    
    void loop() {
      char chk = DHT11.read(DHT11PIN);	//之前已经实例化过了,现在是读取dht11数据
      BT.print(DHT11.temperature);		//蓝牙输出温度值
      BT.print("a");
      BT.print(DHT11.humidity);			//蓝牙输出湿度值
      BT.println("a");
      //当串口接收到数据读取串口赋值给val变量,并且蓝牙输出
      if (Serial.available()) {
        val = Serial.read();
        BT.print(val);
      }
      //当蓝牙接收到数据读取蓝牙赋值给val变量,并且串口输出
      if (BT.available()) {
        val = BT.read();
        Serial.print(val);
      }
      //我觉得上面两个if不用写也可以吧
      delay(1000);		//延迟1秒
    }
    

    以上就是传到nano上的源码了,还有一句没有说明,BT.print("a");就是这个,后面的App Inventor会用到。

    蓝牙到底输出了什么,输出的是什么

    我现在也没搞懂他到底输出了什么,我只知道他输出了温度值和湿度值,至于这个温度值和湿度值是什么格式我也不知道(后来知道能就是1个字节的8位整形无符号数),应该是int。

    App inventor前端设计

    在这里插入图片描述
    样式就不说什么了,"连接蓝牙"是一个列表选择框,点击以后就会弹出蓝牙的列表,选择以后就建立蓝牙和手机的连接。
    在这里插入图片描述
    蓝牙客户端:
    这里的蓝牙客户端所指的就是手机
    字符编码:
    默认设置为UTF-8,当然也可以支持ASCII,或者Unicode啥的,当然还有GBKBig5,其他的我都没测试,有可能是蓝牙发送中文的时候会用得到。这里蓝牙到底发的啥我也不知道,所以就UTF-8吧。
    分隔符字节码:
    我的理解是,因为蓝牙每间隔1秒发送一次数据给手机,那么他给手机的就是例如:2430,其中24表示温度值,30表示湿度值,但是我显示在前端应该是两个数据,在这1秒钟里,所以我对于蓝牙发送过来的数据进行拆分。如何进行拆分呢?那么就要在数据之间加入分隔符,我下位机加入分隔符的方法就是BT.print("a");加入了a字符,但在这个分隔符字节码选项里面我试了,#号不行,其他符号也不行,英文也不行,只能是0-9,所以我认为,它是按照字节进行分隔的,于是我就填入了1,按照1个字节进行分割,所以在程序中加入了,PS:这个a也可以是其他字母,最好不要是数字,因为会跟温湿度值混淆,避免出错,也就是蓝牙会输出成这样:24 a 30 a,那么到安卓app上面按照字节再进行拆分。
    此外还要设置一个计时器,计时器的作用是:让蓝牙发送和蓝牙客户端接收数据能够同步进行,当手机连接到蓝牙以后,计时器启动,手机客户端接收,不然的话有可能会导致数据错位。
    在这里插入图片描述
    这里计时器的计时间隔我也设置成为1秒。

    以上是组件设计,以下是逻辑设计

    连接蓝牙的方法
    在这里插入图片描述
    在这里插入图片描述
    当蓝牙选择完成时计时器开始启用
    在这里插入图片描述
    输入列表变量默认为空文本
    在这里插入图片描述
    当到计时器间隔点时,先清空变量,然后接收数据
    在这里插入图片描述
    这个函数表示:如果蓝牙客户端(手机)获取到了数据,那么就将蓝牙接收到的数据以文本的形式进行分割,然后就将分割完成后的第1项设置成为温度的文本,第2项设置成为湿度的文本。经过测试后,成功了。
    整体截图
    在这里插入图片描述
    以下是手机app的测试截图
    在这里插入图片描述
    当然,以上测试还在使用串口供电,arduino nano也可以使用2节18650电池供电,单节电池是3.7V,要大于5V就得两节。所以还要重新设计电路。
    以下是
    高仿小米温湿度传感器样式制作的安卓app截图
    在这里插入图片描述
    如果您觉得本文对您有用,希望您点赞,收藏并且把它分享出去,不明白的可以在评论区留言,我会一一解答,感谢您的支持!!

    展开全文
  • android蓝牙通讯连接Hc-05模块
  • 蓝牙舵机云台控制花了两天时间实现简单的APP蓝牙舵机云台设置Android蓝牙协议分为两种,SPP协议和BLE(Bluetooth low energy)本项目采用的HC-05蓝牙4.0模块。BLE协议主要适用低功耗,具体其他的概念我暂时也不太明白...

    花了两天时间实现简单的APP蓝牙舵机云台设置

    首先说下遇到的问题,一开始调试,始终是通信不上,就是能检测到设备,但是始终提示

    newState == BluetoothProfile.STATE_DISCONNECTED
    Disconnected from GATT server
    

    根据大佬们介绍,这是报133错误。需要进行

    close();
    connect(mBluetoothDeviceAddress);
    

    然而并没有彻底解决问题。
    探究问题的根本,实际上是协议选择的不对。

    Android蓝牙协议分为两种,SPP协议和BLE(Bluetooth low energy)

    不知道的同鞋请自行科普。协议的选取实际上和蓝牙硬件设备也是有关系的。

    本项目采用的HC-05蓝牙4.0模块。

    BLE协议主要适用低功耗,具体其他的概念我暂时也不太明白。而SPP协议时候数据传输,点对点的收发,与串口收发数据很相似。

    采用SPP协议后,问题很快就得到解决。在前人基础上造车,使我的进步得到很大的提升。这里感谢这位博主qiqiwowo2

    下面介绍下,我主要修改了下数据传输和保存的相关的操作。SPP蓝牙数据传输具体细节就不具体研读了,前辈说的也很仔细。

    由于与硬件通信采用的是数据帧的格式,因此要实现字符串与16进制相关的转换。

    获取十六进制

    private String getHexString(String s) {
    		StringBuilder sb = new StringBuilder();
    		for (int i = 0; i < s.length(); i++) {
    			char c = s.charAt(i);
    			if (('0' <= c && c <= '9') || ('a' <= c && c <= 'f') ||
    					('A' <= c && c <= 'F')) {
    				sb.append(c);
    			}
    		}
    		if ((sb.length() % 2) != 0) {
    			sb.deleteCharAt(sb.length());
    		}
    		return sb.toString();
    	}
    

    字符串转字节数据

    	private byte[] stringToBytes(String s) {
    		byte[] buf = new byte[s.length() / 2];
    		for (int i = 0; i < buf.length; i++) {
    			try {
    				buf[i] = (byte) Integer.parseInt(s.substring(i * 2, i * 2 + 2), 16);
    			} catch (NumberFormatException e) {
    				e.printStackTrace();
    			}
    		}
    		return buf;
    	}
    
    

    字节数组到16进制的转换

    	public static String bytes2Hex(byte[] b) {
    		String ret = "";
    		for (int i = 0; i < b.length; i++) {
    			String hex = Integer.toHexString(b[i] & 0xFF);
    			if (hex.length() == 1) {
    				hex = '0' + hex;
    			}
    			ret += hex.toUpperCase();
    		}
    		return ret;
    	}
    

    通过SharedPreferences 进行读写操作

    读操作

    SharedPreferences sp = getApplicationContext().getSharedPreferences("setting", Context.MODE_PRIVATE);
    valueDegree=sp.getInt("setvalue",0);
    

    写操作

    SharedPreferences sp = getApplicationContext().getSharedPreferences("setting", Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sp.edit();
    editor.putInt("setvalue",valueDegree);
    editor.commit();
    

    页面布局

    在这里插入图片描述

    前人栽树后人乘凉!!

    感谢的就不说了放个工程文件

    展开全文
  • 可用于stm32的蓝牙数据传输,内部只有单工,没有手机端到android端口
  • AndroidHC-05

    2019-04-30 10:20:13
    用于测试安卓与蓝牙05模块通信,支持开发者自己编写部分功能,如更改接收或者发送字符格式,具有较强的可扩展空间,
  • 蓝牙HC05是主从一体的蓝牙串口模块;拿到模块需要对该模块进行配置... 一、需要的工具: usb转ttl模块(CH340G) 蓝牙HC-05(我买的是兼容版的,功能没差) 杜邦线4根 二、连线 连接usb转ttl模块和蓝牙模...

    蓝牙HC05是主从一体的蓝牙串口模块;拿到模块需要对该模块进行配置,比如蓝牙名称、连接时的密码、主从和波特率等。

    一、需要的工具:

    usb转ttl模块(CH340G)

    蓝牙HC-05(我买的是兼容版的,功能没差)

    杜邦线4根

                                                             

    二、连线

    连接usb转ttl模块和蓝牙模块,把两个模块的VCC口相连,GND口相连,TX和RX交叉相连(既TX连RX,RX连TX)

    注意:请勿将电源接到信号脚上,会直接烧坏模块!输入电压禁止超过7V!

    注意:蓝牙模块的VCC只能接5V,不能接3.3V!

    三、开始设置

    连接好两个模块之后,按住蓝牙模块上的小按钮(按住上电是配置模式,直接上电是正常使用模式),然后把usb转ttl模块插上电脑(一直按住小按钮直到通电)。

    注意:红灯快闪是正常使用模式,红灯慢闪是配置模式

    然后打开串口调试助手,点击通用串口,如上图所示;选择usb转ttl模块的端口(具体是哪个,可以去查看设备管理器中usbttl是哪个com口,如下图所示);

    之后选择蓝牙串口,点击AT按钮,如果左边界面出现OK字样就证明已经连接成功了,然后就开始根据需求进行配置

    配置:(点完都要再点下手动发送,然后在看左边窗口是否返回ok,才算成功设置)

    • 点击设置从机。
    • 点击设置模式,在右上角改1为0然后点击手动发送。
    • 点击设置波特率,PS:波特率要和单片机的波特率设置为一样,通常51单片机的程序都是用9600,这里默认9600(跟单片机上的晶振的多少而设,11.0592为9600)。
    • 设置密码,默认1234,自己随意设置。
    • 设置名称,自己随意设置。

    四、Android手机与HC-05简单通讯

    通过以上步骤配置后,就可以进行简单配置通讯了

    1、HC-05与单片机相连(TX连RX,RX连TX)

    2、烧录以下事例,主要是对led的控制,数据的收发(有人说烧录程序时,要把蓝牙连接的tx/rx口断开,经测试无需断开,没有任何影响;要是觉得有影响,可以在每次烧录程序前断开该两端口即可)

    #include <reg52.h>
    
    sbit led1 = P1^0;
    sbit led2 = P1^1;
    
    char i, date, num;
    
    /*串口初始化配置*/
    void UartConfiguration() 
    {
        TMOD=0x20;      //设置计数器1的工作方式2
        TH1=0xfd;       //设置计数器1的初值,决定波特率
        TL1=0xfd;       //设置计数器1的初值,决定波特率
        PCON=0x00;      // 波特率倍增0x00不加倍       0x80加倍
        SCON=0x50;      //设置工作方式1 开启接受允许
        EA=1;           //开启总中断
        ES=1;           //开启串口接受中断
        TR1=1;         //计数器1开始运行
    }
    
    /*发送数据*/
    void sendDate(char date)
    {
        SBUF=date;       //接收到的数据放入发送缓存器发送
        while(!TI);      //等待发送数据完成
        TI=0;            //清除发送完成标志位
    }
    
    //发送字符串
    void  PostString(unsigned char *p)  
    {  
    	while(*p)  	   //若指针指向地址为空,则跳出循环
    	{  
    		sendDate(*p); //指针第一次默认指向首地址
    		delay(20);  //延时,提高发送准确度
    		p++;  
    	}	  
    }
    
    void main()
    {
        UartConfiguration();
        while(1)
        {
            if(num == 20) 
            {                  
                num = 0;                       
                sendDate('1');  //发送字符1 
                //比如发送DHT11的温湿度到手机上 
                //PostString("38.1");                  
            }                  
        }
    
    }
    
    /*中断函数*/
    void Uart() interrupt 4
    {
        date=SBUF;        //取出接受到的数据
        RI=0;             //清除接受中断标志位
        //收到的数据是date
        if (date==0x31){led1=0;}    
        if (date==0x08){led2=0;}         
        if (date==0x05){led1=1;led2=1;}
        num++;
    }

    3、Android机打开蓝牙串口调试助手(文末提供下载地址,网上的都是广告,功能都用不到,看得心烦,然后自己敲了一个)

                                                    

    查看手机是否连接至HC-05了,然后通过发送代码中的特定指令,对LED灯的开关及HC-05向手机发送数据的测试

    4、至此通过HC-05Android手机对单片机的控制就完成了,是不是很简单o(* ̄) ̄*)o

     

    点击下载以上用到的工具

    Android蓝牙串口调试助手
    PC串口调试助手

    展开全文
  • 因为最近一些工作学习的需要,入手了一个Arduino Pro mini来玩一玩,于是就做了一个简易的通过蓝牙实现防远离的手环功能。在学习的过程中受过一些指点,所以在此将一些...准备:Arduino Pro mini芯片一块,HC-05蓝牙
    因为最近一些工作学习的需要,入手了一个Arduino Pro mini来玩一玩,于是就做了一个简易的通过蓝牙实现防远离的手环功能。在学习的过程中受过一些指点,所以在此将一些学习过程中的经验心得分享出来,希望能够帮助到有需要的人
    平台工具:Arduino IDE(PC端)  HC-PDA-ANDROID串口助手(Android端)

    准备:Arduino Pro mini芯片一块,HC-05蓝牙模块1个,杜邦线若干,3.7V的LiPo聚合物锂电池一个,蜂鸣器一个

    引脚连接:

    Pro mini HC-05
    VCC VCC
    GND GND
    TXD RXD
    RXD TXD
      pin_2 STATE
    ============================
    Pro mini 蜂鸣器
    VCC VCC
    GND GND
      pin_7 I/O
    最后将Arduino Pro mini接到LiPo电池和开关就可以使用了
    代码如下:
    #define STATE_PIN 2		//引脚的宏定义
    #define ALARM_PIN 7	
    int state;
    void alarm(void);
    void setup()
    {  
       Serial.begin(9600);	//设置串口的波特率,用于调试
       bitSet(DDRD,ALARM_PIN);  //pinMode(4,OUTPUT);
       bitClear(DDRD,STATE_PIN);//pinMode(7,INPUT)
       Serial.println("wait for the first connect");
       while(1){
         state = digitalRead(STATE_PIN);
         if(state == HIGH)
           break;
       }
       Serial.println("connect over");
    }
    void loop()
    {
      state = digitalRead(STATE_PIN);
      if(state == LOW) 
        alarm();
    }
    void alarm(void){
          digitalWrite(ALARM_PIN,HIGH);
          delay(500);
          digitalWrite(ALARM_PIN,LOW);
          delay(500);
          Serial.println(__FUNCTION__);
    }
    在实验的过程中遇到的种种问题:
    1.HC-05模块不知道如何进入AT模式进行模块的设置?
    解决方法:用usb_ttl模块进行连接(注:TXD和RXD别接反了,并将en引脚借至usb_ttl模块的VCC(3.3v)上),插入电脑后将串口的波特率设置为38400后,再拔出按住HC-05模块的复位按钮再重新插入上电即可进入AT模式(led灯慢闪),之后再使用sscom2串口调试助手进行设置即可
    2.Arduino Pro mini烧不进程序
    解决方法:a.检查Arduino Pro mini的DTR引脚是否连接到了usb_ttl模块上(如果你的usb_ttl模块上面没有DTR引脚,那么就换了它吧)
     b.检查Arduino Pro mini的Tx和Rx引脚是否接反
     c.检查Arduino IDE中是否设置对了端口,芯片类型是否为Arduino Pro mini以及处理器型号是否为ATmega328(5v,16MHz)

    展开全文
  • 本demo是基于Android studio开发的蓝牙串口demo,包含蓝牙配对、列表搜索结果、简单的聊天;可用于和蓝牙模块HC-05通信.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • Arduino-Android-App-HC05-Arduino.zip,向蓝牙HC05发送信号以与Arduino模块和Droid应用HC05 Arduino通信的Android应用程序,Arduino是一家开源软硬件公司和制造商社区。Arduino始于21世纪初,深受电子制造商的欢迎,...
  • QT on Android 编写蓝牙使用HC-05

    千次阅读 热门讨论 2018-03-01 16:06:36
    前言:  由于17年机械创新设计大赛要使用蓝牙通讯,被迫缺少一个触摸显示器,所以只有在手机上开发界面来进行控制,其中最主要的就是蓝牙...这个蓝牙配置只可在Android上运行!  首先的就是配置一个蓝牙的类...
  • 官网代码不能兼容Android6.0以上版本,本人修改后可兼容使用,本代码是基于AndroidStudio开发
  • 我将向您展示三种不同的无线控制方法,分别使用HC-05蓝牙模块,NRF24L01收发器模块和HC-12远程无线模块,以及使用智能手机和定制的Android应用程序。 您可以观看以下视频或阅读下面的书面教程以了解更多详细信息。 ...
  • HC-05所用到的工具.rar

    2019-10-01 09:28:31
    压缩包中包含Android蓝牙串口调试助手和PC端串口调试助手,和HC-05相关文档说明及c单片机代码; 提供此资源方便Android通过HC-05与51单片机进行相关通讯;
  • 蓝牙模块HC-05与51单片机的连接

    万次阅读 多人点赞 2017-06-07 14:09:11
    手机安装HC-PDA-ANDROID.apk软件后,开启系统。手机打开蓝牙可以搜索到蓝牙芯片并可以连接,连接码为1234。系统开启后数码管全0,继电器低电平,LED灯不亮。 手机连接到系统后,扫描二维码,得到一串数字后,输入该...
  •  HC-05蓝牙模块为主从一体的蓝牙模块,并可与手机实现实时的通信。将单片机的串口通信通过HC-05进行扩展从而实现无线通信,更可使用手机来控制单片机完成工作。 要完成单片机与Android手机的无...
  • 【周记-Android移动端开发】手机蓝牙与下位机HC-05蓝牙模块通信系统 很久没有写博客了,计划一直都有,但总是被这样或者那样的事情给耽搁了,在此写下文字监督自己:不论长短,每周至少一篇!本文根据自己的实践...
  • 附上参考链接:代码的连接,也是其他网友的,里面的程序很有参考价值,一个程序是通过调取本地的jar等文件实现蓝牙控制,还有一种是加载好jar的库在xml中,也能达到同样的效果:... 还有一个参考链接,用的也是本地的...
  • Android基于蓝牙串口编程实现HC-05通讯 最近接了个工程自动化的项目,需求是实时接收从单片机传过来的数据,并进行数据分析处理再进行显示,在查阅大量的相关博客和自己踩了不少的坑后,想说把自己的一些经验分享...

空空如也

空空如也

1 2 3 4 5 6
收藏数 105
精华内容 42
关键字:

android蓝牙hc-05