Raspberry Pi通过蓝牙与Arduino连接

** 刚刚开始接触如有错误请留言指正,多谢 **

设备

  • Raspberry Pi第三代B+版本
  • Arduino Pro Mini(5V,16MHz)w/ ATmega328 + 写入设备(或使用其他Arduino版本)
  • 蓝牙HC-06
  • 发光二极管1个
  • 10千欧电阻1个
  • 杜邦线若干

安装过程中所需要的包和工具

在 Python 环境下,使用“import bluetooth”如果报出错误信息“ImportError: No module named bluetooth”则说明没有安装相应的包,执行一下命令安装。

$ sudo apt-get update
$ sudo apt-get install bluetooth  bluez  python-bluez

连接蓝牙设备(Arduino)

使用下面的命令查看蓝牙的配置信息

$ hciconfig

使用下面的命令扫描可配对的设备

$ hcitool scan

进入蓝牙连接工具

$ bluetoothctl
[NEW] Controller B8:27:EB:D3:61:B0 raspberrypi [default]
[bluetooth]# agent on
Agent registered
[bluetooth]# default-agent
Default agent request successful

//扫描可配对的设备
[bluetooth]# scan on
Discovery started
[CHG] Controller B8:27:EB:D3:61:B0 Discovering: yes
[NEW] Device 00:14:01:10:10:32 HC-06

//连接设备
[bluetooth]# pair 00:14:01:10:10:32
Attempting to pair with 00:14:01:10:10:32
[CHG] Device 00:14:01:10:10:32 Connected: yes
Request PIN code
[agent] Enter PIN code: 1234
[CHG] Device 00:14:01:10:10:32 UUIDs:
        00001101-0000-1000-8000-00805f9b34fb
[CHG] Device 00:14:01:10:10:32 Paired: yes
Pairing successful

//查看已连接的设备
[bluetooth]# paired-devices
Device 00:14:01:10:10:32 HC-06

//删除已经配对的设备
[bluetooth]# remove 00:14:01:10:10:32
[DEL] Device 00:14:01:10:10:32 HC-06
Device has been removed

测试是否能够ping通

$ sudo l2ping 00:14:01:10:10:32

连接Arduino的蓝牙设备

$ sudo rfcomm connect 0 00:14:01:10:10:32
Press CTRL-C for hangup

连接蓝牙设备后,会在树莓派的【/dev】目录中创建一个蓝牙设备的虚拟文件 /dev/rfcomm0 ,同时Arduino的蓝牙指示灯为常亮状态,表示“已连接”。

绑定Arduino的蓝牙设备

$ sudo rfcomm bind 0 00:14:01:10:10:32

绑定蓝牙设备后,也会在树莓派的【/dev】目录中创建 /dev/rfcomm0 文件,而此时Arduino的蓝牙指示灯为闪烁状态,表示“未连接”;当树莓派向蓝牙设备发送消息时才去做连接操作。

对已经绑定Arduino的蓝牙设备解除绑定

$ sudo rfcomm bind 0 00:14:01:10:10:32

解除绑定蓝牙设备后,文件 /dev/rfcomm0 消失了。

编程程序

  • Arduino:
void setup()
{
  pinMode(11, OUTPUT);
  digitalWrite(11, HIGH);
  delay(500);
  digitalWrite(11, LOW);
  Serial.begin(9600);
}

void loop() {
  while (Serial.available())
  {
    char c = Serial.read();
    digitalWrite(11, HIGH);
    delay(500);
    digitalWrite(11, LOW); //收到消息指示灯(LED)闪一下
    if (c == ‘A‘)
    {
      Serial.println("B"); //收到A就返回B
    } else {
      Serial.println("Please input [A]"); //都是其他字符返回
    }
  }
}
  • python代码:
#coding=utf-8
#send to arduino
import serial
import sys

port = "/dev/rfcomm0"
serial = serial.Serial(port,9600)
if len(sys.argv) > 1:
    sendStr = sys.argv[1]
else:
    sendStr = "A"

serial.write(sendStr)
serial.flushInput()

if serial.isOpen() == False:
    serial.open()

line = serial.readline()
print line

运行测试

如何测试就不发了

时间: 2024-11-04 17:52:54

Raspberry Pi通过蓝牙与Arduino连接的相关文章

树莓派(Raspberry Pi)-浙大(ZJU)VPN连接

本文参考链接:http://blog.sina.com.cn/s/blog_7362afc40101ae5q.html 连接上树莓派后,系统自动默认进入的是命令行模式,默认的用户名为:pi,密码:raspberry. 可以在刚刚启动的界面中进行修改为图形界面模式,然后sudo reboot后就进入可桌面模式. 由于树莓派默认的为UK标准的键盘,会发现和外接键盘不匹配,可以将其修改成US的键盘. 参考:http://bbs.ickey.cn/group-topic-id-3720.html 关于树

树莓派(Raspberry Pi 3) 使用wifi模块连接网络

树莓派3B内置了wifi和蓝牙模块,启动WIFI模块有两种方式,一种是图形界面,一种是命令行模式. 使用图形界面: 在桌面右上角的菜单栏里面选择wifi,输入密码就可以了. 使用命令行: 第一步:配置WiFi信息 sudo nano /etc/wpa_supplicant/wpa_supplicant.conf 在文件最后添加wifi的名字和密码 1 network={ 2 ssid="无线名称" 3 psk="无线密码" 4 } 添加完成后就是这个样子: 保存后重

Raspberry pi 蓝牙音响播放

Raspberry pi自带3.5mm的音频输出口,但是由于某种原因,这个接口比较鸡肋.用这个接口播放音乐的话有比较明显的噪音.一向喜欢折腾的我就想到用蓝牙连接音响播放音乐. 于是从亚马逊买了个蓝牙接收器. sudo apt-get install bluez pulseaudio-module-bluetooth python-gobject python-gobject-2 bluez-tools sudo nano /etc/bluetooth/audio.conf 编辑main.conf

Raspberry Pi 3 Model B入手安装小记

1.买了最新出来的raspberry Pi 3,集成了wifi和蓝牙模块,省去了额外购买wifi模块和蓝牙模块的麻烦.为了保护脆弱的原件,特地买了一个专用的raspberry Pi盒子用来存放,考虑到新的博通1.2GHz四核处理器巨大的发热量,还准备了两块散热片和一块3*3的小电扇保证运行时不至于过热,准备工作一切就绪.图片为还未组装的raspberry Pi 3. 组装过程并不复杂,风扇插在外侧的2.3引脚上即可正常运行.组装完成后即为如图所示. 2.硬件组装完成以后,就要为raspberry

[转]树莓派(Raspberry Pi)USB无线网卡自动连接

Raspberry Pi 使用USB无线网卡的时候不会因为路由重启而掉线. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #!/bin/bash while true ; do    if ifconfig wlan0 | grep -q "inet addr:" ; then       sleep 60    else       echo "Network connection down! Attempting r

Raspberry树莓派实践笔记-安装Arduino IDE

树莓派GPIO口数量有限,可以通过连接Arduinuo轻松扩展更多的GPIO接口. 一般情况下,都使用普通PC或笔记本电脑安装Arduino IDE进行开发. 本文具体介绍如何在Raspberry上进行安装配置Arduino IDE,并且所有操作都是在树莓派中完成的. 0.实践环境基本配置说明 Raspberry: 硬件:Raspberry Pi 3B 软件:Raspbain Jessie(2017-1-11的img,官网下载很慢,可到网盘:http://pan.baidu.com/s/1i5H

如何在Raspberry Pi 3B中安装Windows 10 IoT Core

Windows 10 IoT Core简介 Windows 10 IoT是微软专门为物联网生态打造的操作系统,Windows 10 IoT Core则是Windows 10 IoT 操作系统的核心版本,功能相对精简.使用Windows 10 IoT可以打造属于自己的物联网生态系统. Windows 10 IoT的版本介绍 Windows 10 IoT 企业版 Windows 10 IoT 企业版将 Windows 10 企业版功能广泛应用于零售.制造.医疗.金融和其他行业的设备上.Windows

Raspberry pi,一个好玩的派:第五季 无线网卡

Raspberry pi的板子由于成本原因是没有加无线模块的,不想被网线束缚的我们,需要自备USB无线模块.在购买板子时,看见官方推荐EDUP无线网卡,价格还算合适,就直接入手了. 采用REALTEK8188芯片,802.11n,传输速度150Mbps,适用范围130平方米. 将其插到任一U口即可,如下图: 由于外壳阻碍了电源插孔,所以只好先裸着了,图中已经加电,HDMI的另一头是电视机. 接下来的任务就是如何让这个无线网卡工作,连接到我已经开启的无线路由器. 一.wpa_gui 在进入Rasp

Raspberry pi,一个好玩的派:第一季 开源硬件

开源之风从软件吹到了硬件,三个比较有代表性的是Raspberry Pi(树梅派).Arduino(阿尔杜伊诺,好吧,原谅我的发音)和BeagleBone Black.所谓的开源精神,有人总结为四种维度: 第一,人人可用:第二,人人可探:第三,人人可改:第四,人人可再发布. 说白了,就是我们可以窥探这些硬件是设计的细节,比如如何走线.排板啦,或更厉害的,使用芯片的技术细节我们也可以知道.这增加了我们再次开放的可能性,使可玩性更高.喜欢折腾的硬件黑客\GEEK把这些板子变成最好玩的玩具,在折腾的过程