极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: dreamofei

arduino蓝牙如何传出数据,android(安卓)端接收

[复制链接]
发表于 2013-8-21 21:18:50 | 显示全部楼层 |阅读模式
我在arduino的串口上接了蓝牙装置,android端也写了通信程序,已经能够实现android端发送不同的字符控制arduino端不同LED灯的开关,但arduino通过Serial.write("hello")发出的数据信息在安卓端接收不到,求解啊,弄了一下午,一晚上还是没弄出来,网上也搜不着,求各位大神帮帮忙,如何才能让发出的数据,安卓端接收并显示。小弟万分感谢!!!
回复

使用道具 举报

发表于 2013-8-21 23:34:21 | 显示全部楼层
楼主,没有电路图或源码什么的说明,谁能就凭这几句话就帮得了你呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-22 10:18:16 | 显示全部楼层
chqiyi 发表于 2013-8-21 23:34
楼主,没有电路图或源码什么的说明,谁能就凭这几句话就帮得了你呢?

我就想知道Android端代码怎么写,arduino通过Serial.read()得到一个通过蓝牙传来的字符,我判断它是啥,如果是‘R'的话我就要返回一个数据给安卓端,然后比如我返回“hello world”给他,就会写Serial.print(“hello world”),然后安卓端如何得到这个数据呢?我就像知道这个。。。应该不用贴出源码了吧。
回复 支持 反对

使用道具 举报

发表于 2013-8-22 10:45:42 | 显示全部楼层
安卓的蓝牙通信确实有点问题,有人试过
回复 支持 反对

使用道具 举报

发表于 2014-3-18 14:01:17 | 显示全部楼层
安卓的蓝牙通信有问题,那应该怎么解决呢,我也在做蓝牙控制LED的实验,而且不仅是手机端接受不到蓝牙发送的信息,同时LED也没有反应(在用安卓手机调试前,已用串口监视器调试成功的了),继续帮助啊!!!!!!
回复 支持 1 反对 0

使用道具 举报

发表于 2014-3-18 14:02:45 | 显示全部楼层
卷心菜 发表于 2014-3-18 14:01
安卓的蓝牙通信有问题,那应该怎么解决呢,我也在做蓝牙控制LED的实验,而且不仅是手机端接受不到蓝牙发送的 ...

急需帮助啊
回复 支持 反对

使用道具 举报

发表于 2014-3-19 20:12:53 | 显示全部楼层
用Arduino来接受蓝牙数据的话只能一个字符一个字符接受,论坛中有相应的教程:
while (Serial1.available() > 0)  
     {
         shuju += char(Serial.read());
         delay(2);
     }
  if (shuju.length() > 0)
{
........//shuju就是接受到的数据了
}

我是用蓝牙来接受连续的数据的,但是发现用Arduino来接受太慢了,太快会丢失数据。不过你可以用Arduino DUE 这样可以更快一点,但是无论怎么样都还是慢!
回复 支持 反对

使用道具 举报

发表于 2014-4-11 10:44:27 | 显示全部楼层
不知道楼主问题解决了吗
回复 支持 反对

使用道具 举报

发表于 2014-4-11 11:01:35 | 显示全部楼层
android蓝牙接收完全没问题啊 arduino这边蓝牙发送,android写一个监听,听到数据就记下来就行
回复 支持 反对

使用道具 举报

发表于 2014-4-30 01:37:49 | 显示全部楼层
Domfecpedals 发表于 2014-4-11 11:01
android蓝牙接收完全没问题啊 arduino这边蓝牙发送,android写一个监听,听到数据就记下来就行

我这边在arduino安装蓝牙模块 把数据传输到安卓里面 显示的就是乱码 蓝牙代码就只有这个 请问是哪里出了问题
void setup() {
Serial.begin(9600); //initial the Serial
}
void loop()
{
if(Serial.available())
{
Serial.println(Serial.read()); //send what has been received
}
}
回复 支持 1 反对 0

使用道具 举报

发表于 2014-4-30 02:18:59 | 显示全部楼层
baudrate 正確嗎?
回复 支持 反对

使用道具 举报

发表于 2014-4-30 10:06:39 | 显示全部楼层
Mo_卜卜 发表于 2014-4-30 01:37
我这边在arduino安装蓝牙模块 把数据传输到安卓里面 显示的就是乱码 蓝牙代码就只有这个 请问是哪里出了 ...

你的代码是arduino发送数据啊, 如果你接受到得时乱码有可能是波特率不一致导致的 检查一下
回复 支持 反对

使用道具 举报

发表于 2016-12-9 04:36:56 | 显示全部楼层
本帖最后由 猎菊志士 于 2016-12-9 04:38 编辑
Mo_卜卜 发表于 2014-4-30 01:37
**** 作者被禁止或删除 内容自动屏蔽 ****


拿不是乱码,是ASCII码,串口监视器默认将数据本身以ASCII表发送和接受,尤其是print函数,都是发送ASCII码到串口,串口再编译回字符串显示。所以需要把它换成write。Serial.write。我试过你的程序,修改后没问题。write是在串口上直接显示字符串,不用经过ASCII编译。
回复 支持 反对

使用道具 举报

发表于 2016-12-9 08:47:00 | 显示全部楼层
开看下面的连接:

http://www.instructables.com/id/Andruino-A-Simple-2-Way-Bluetooth-based-Android-C/

https://github.com/Nurgak/Android-Bluetooth-Remote-Control
回复 支持 反对

使用道具 举报

发表于 2018-8-25 10:42:13 | 显示全部楼层
Domfecpedals 发表于 2014-4-30 10:06
你的代码是arduino发送数据啊, 如果你接受到得时乱码有可能是波特率不一致导致的 检查一下

波特率为9600,还是不对啊,大家都解决了吗,求助
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 00:36 , Processed in 0.046133 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表