-
Android手机HC-05蓝牙连接Arduino nano获取DHT-11温湿度传感器数据
2021-02-24 13:50:49Android手机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----GNDHC-05蓝牙3.3V即可,5V蓝牙可以自适应不会烧掉
DHT-11 nano
Out----D2
5V----5V
GND----GNDDHT-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
啥的,当然还有GBK
,Big5
,其他的我都没测试,有可能是蓝牙发送中文的时候会用得到。这里蓝牙到底发的啥我也不知道,所以就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模块.zip
2020-02-24 11:45:57android蓝牙通讯连接Hc-05模块 -
Android实现HC-05蓝牙舵机云台控制
2019-10-13 20:58:34蓝牙舵机云台控制花了两天时间实现简单的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();
页面布局
前人栽树后人乘凉!!
感谢的就不说了放个工程文件
-
蓝牙(基于android与hc-05连接)
2019-03-16 20:46:47可用于stm32的蓝牙数据传输,内部只有单工,没有手机端到android端口 -
Android与HC-05
2019-04-30 10:20:13用于测试安卓与蓝牙05模块通信,支持开发者自己编写部分功能,如更改接收或者发送字符格式,具有较强的可扩展空间, -
Android通过HC-05与51单片机简单通讯
2019-10-01 09:50:55蓝牙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串口调试助手 -
蓝牙HC-05与Arduino Pro mini实现蓝牙防远离
2015-11-29 12:18:22因为最近一些工作学习的需要,入手了一个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) -
安卓wifi蓝牙相关-本demo是基于Androidstudio开发的蓝牙串口demo包含蓝牙...可用于和蓝牙模块HC-05通信.rar
2019-07-29 16:34:00本demo是基于Android studio开发的蓝牙串口demo,包含蓝牙配对、列表搜索结果、简单的聊天;可用于和蓝牙模块HC-05通信.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。 -
Arduino-Android-App-HC05-Arduino.zip
2019-09-18 10:39:45Arduino-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上运行! 首先的就是配置一个蓝牙的类... -
单片机蓝牙通讯hc-05,兼容android6.0
2019-05-05 13:13:45官网代码不能兼容Android6.0以上版本,本人修改后可兼容使用,本代码是基于AndroidStudio开发 -
使用HC-05蓝牙,NRF24L01和HC-12收发器模块的Arduino机器人汽车无线控制
2020-01-17 20:10:45我将向您展示三种不同的无线控制方法,分别使用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灯不亮。 手机连接到系统后,扫描二维码,得到一串数字后,输入该... -
51单片机使用HC-05蓝牙模块向Android手机发送数据程序编写
2018-05-07 18:17:02HC-05蓝牙模块为主从一体的蓝牙模块,并可与手机实现实时的通信。将单片机的串口通信通过HC-05进行扩展从而实现无线通信,更可使用手机来控制单片机完成工作。 要完成单片机与Android手机的无... -
【Android开发 蓝牙通信】手机蓝牙与下位机HC-05蓝牙模块通信系统
2016-10-22 13:06:55【周记-Android移动端开发】手机蓝牙与下位机HC-05蓝牙模块通信系统 很久没有写博客了,计划一直都有,但总是被这样或者那样的事情给耽搁了,在此写下文字监督自己:不论长短,每周至少一篇!本文根据自己的实践... -
qt for android蓝牙的连接实现HC-05,控制发送接收数据
2019-05-13 11:42:29附上参考链接:代码的连接,也是其他网友的,里面的程序很有参考价值,一个程序是通过调取本地的jar等文件实现蓝牙控制,还有一种是加载好jar的库在xml中,也能达到同样的效果:... 还有一个参考链接,用的也是本地的... -
Android基于蓝牙串口编程实现HC-05通讯
2018-09-29 15:02:24Android基于蓝牙串口编程实现HC-05通讯 最近接了个工程自动化的项目,需求是实时接收从单片机传过来的数据,并进行数据分析处理再进行显示,在查阅大量的相关博客和自己踩了不少的坑后,想说把自己的一些经验分享...
-
用微服务spring cloud架构打造物联网云平台
-
image downsampling in python
-
Go垃圾收集器
-
牛牛量化策略交易
-
opencv轮廓特征值 滚动条控制阈值参数
-
access应用的3个开发实例
-
朱老师鸿蒙系列课程第1期-2鸿蒙系统Harmonyos源码架构分析
-
Vue项目城市选择页-兄弟组件数据传值(8-6)
-
714. 买卖股票的最佳时机含手续费
-
零基础极简以太坊智能合约开发环境搭建并开发部署
-
linux c i2c总线 通信 源代码
-
NFS 网络文件系统
-
golang网络编程
-
docker 常用命令
-
火币c3认证如何解决
-
stm32库移植样例程序.rar
-
Python爬虫零基础最全入门课程
-
setup_clover@3.5.4.rar
-
工程制图 AutoCAD 2012 从二维到三维
-
数据在内存中的存储