树莓派3B与MTK LinkIt 7697模块之间的蓝牙BLE通讯

本文介绍如何使用树莓派3B作为蓝牙中心设备,通过升级BlueZ并使用BlueZ命令行工具及Python编程,与基于AUDUINO平台的LinkIt 7697模块进行蓝牙BLE通讯,控制其LED灯的开关。通过此方法,将树莓派与Arduino平台结合,实现两个主流硬件平台间的无线连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



【概要】

本文打算利用树莓派3B的蓝牙功能,通过将树莓派3B设置为一个蓝牙中心设备(central device),用它来控制LinkIt 7697这个基于AUDUINO平台的蓝牙外设(peripheral device)上的LEDON/OFF

通过低功耗蓝牙(BLE)将两个最流行的硬件平台--树莓派和ARDUINO联系了起来。

本文分别通过BlueZ命令(hciconfighcitoolgatttool等)和Python编程两种方法为例进行蓝牙BLE通讯。

……………………………………………………………………………………………………………………………

 

树莓派(Raspberry Pi)是低成本的只有信用卡大小的卡片式电脑,是流行的学习电脑和编程技术的工具。它是一款基于ARM的微型电脑主板,以SD/MicroSD卡为内存硬盘,卡片主板周围有1/2/4USB接口和一个10/100以太网接口(A型没有网口),可连接键盘、鼠标和网线,同时拥有HDMI高清视频输出接口可以连接显示器。树莓派3B版本增加了蓝牙4.1适配器, 支持BLE

 

LinkIt7697 是一块针对物联网应用的开发板。它基于MTK公司的 MT7697 系统单芯片,具有含浮点运算的 ARM Cortex-M4 单片机,并集成了 802.11b/g/n Wi-Fi 无线网络与 Bluetooth 4.2 低功耗蓝牙。它可以支持Arduino IDE开发平台。

 

Arduino不仅仅是全球最流行的开源硬件,也是一个优秀的硬件开发平台,更是硬件开发的趋势。Arduino IDE可以在WindowsMacintosh OS XLinux三大主流操作系统上运行,对于初学者来说,极易掌握,同时有着足够的灵活性。越来越多的专业硬件开发者已经或开始使用Arduino来开发他们的项目、产品;越来越多的软件开发者使用Arduino进入硬件、物联网等开发领域。

 

MEDIATEKLabs 网站上介绍了如何将LinkIt 7697应用成为Arduino的成员之一,从而基于Arduino IDE平台进行开发,详见网页:

https://docs.labs.mediatek.com/resource/linkit7697-arduino/en

该网站的开发者指南中还介绍了如何基于Arduino IDE平台,使用LinkIt 7697Bluetooth功能(BLE):将它设置为一个Bluetooth Beaconcentral device或者peripheral device

该网站通过以下网页详细介绍了如何将LinkIt 7697 设置为一个peripheral device

https://docs.labs.mediatek.com/resource/linkit7697-arduino/en/developer-guide/using-bluetooth/peripheral-devices

网页中举的例子是通过创建一个手机APP来控制这个蓝牙外设上的LED灯,控制其亮和灭进行验证。这本来确实是一个很好的例子,但是似乎AppInventor website这个网站在国内无法登陆,也就没法做出手机APP来验证。

 

本文打算利用树莓派3B的蓝牙功能,通过将树莓派3B设置为一个蓝牙central device,用它来控制LinkIt 7697这个基于AUDUINO平台的蓝牙外设(peripheral device)上的LEDON/OFF,来验证蓝牙BLE通讯。

通过蓝牙BLE将两个最流行的硬件平台--树莓派和ARDUINO联系了起来。

 

一、通过BlueZ命令控制树莓派3B的蓝牙功能

要使用树莓派3B的蓝牙功能,需进行以下操作:

1, 升级BlueZ

通过命令bluetoothctl -v查看可知,树莓派3上的blueZ5.23的版本,尚不支持BLE,需进行升级,目前可升级到5.9版本。

sudoapt-get update

sudoapt-get upgrade

sudoapt-get dist-upgrade

sudoapt-get install -y libusb-dev libdbus-1-dev libglib2.0-dev libudev-devlibical-dev libreadline-dev

 

sudowget http://www.kernel.org/pub/linux/bluetooth/bluez-5.9.tar.xz

sudotar xf bluez-5.9.tar.xz

cdbluez-5.9/

 

sudo./configure

sudo make

sudomake install

sudoreboot

 

#check version

bluetoothctl-v

 

sudovim /lib/systemd/system/bluetooth.service

        #Add --experimental to this lane

        ExecStart=/usr/local/libexec/bluetooth/bluetoothd--experimental

 

sudosystemctl daemon-reload

sudosystemctl restart bluetooth

sudohciconfig hci0 up

sudoreboot

 

sudousermod -G bluetooth -a pi

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值