前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >8行代码实现一个蓝牙转串口(另附带免开发App的安装包)

8行代码实现一个蓝牙转串口(另附带免开发App的安装包)

原创
作者头像
shineblink
修改2020-11-23 11:40:56
8860
修改2020-11-23 11:40:56
举报

· 目录

· 一、Core的Ble蓝牙功能介绍

· 二、完整代码

· 三、用shineblink.com提供的免开发App,让自己的硬件能够很轻松的拥有和手机App交互能力

前言

ShineBlink Core开发板(简称Core)采用的Soc芯片是Nordic半导体公司的Nrf52840芯片,内置2.4G无线功能(支持Ble蓝牙,Thread Mesh组网等无线协议),所以我们可以通过软件的方式将Core改造成Ble蓝牙转Uart透传模块。

PS:Core 仅用五、六行代码即可实现Wifi/Ble/NB/Lora/ThreadMesh/RFID/Eth/Usb/RS485/RS232通信、以及30多种传感器/10多种硬件外设/10多种Mcu内设功能,并且这些功能最多可以 5 种随机组合同时运行。更多关于Core的内容可以在 shineblink.com 上了解。

3.jpg
3.jpg

一、Core的Ble蓝牙功能介绍

Core的ble低功耗蓝牙提供两个特性,一个是Write特性,一个是Notify特性。其中:

  • Write特性:可以看成是手机发送数据给Core的通道,手机通过蓝牙连接发送给Core的数据就是存放在Write特性中。
  • Notify特性:可以看成是Core发送数据给手机的通道,Core通过蓝牙发送给手机的数据就是存放在Notify上。但是需要注意,手机要想收到来自Core的数据,需要手机端主动使能这个Notify(在下面的演示中会提及)。

下面是对Core的Ble所提供的service描述,如果您看不懂这段也没关系,只需按上面讲的理解即可

service(UUID: 0x0001)描述:

service包含两个特性(Characteristic): 一个用来发送数据,一个用来接收数据

Rx Characteristic (UUID: 0x0002)用来接收手机的数据

手机蓝牙可以通过ATT Write方式向Rx Characteristic发送数据Tx Characteristic (UUID: 0x0003)用来向手机发送数据

如果手机蓝牙为Tx Characteristic使能了notification,那么设备就可以通过发送notification的方式向手机蓝牙发送数据

更多关于ble蓝牙的内容请参阅此处

二、完整代码

本例中采用Uart0做为转接口,引脚对应Core电路板上的Rx0,Tx0引脚。

代码语言:txt
复制
--配置Uart0串口波特率为115200并开始工作,开发者也可以设置其他的波特率。
LIB_Uart0Config("BAUDRATE_115200")
--配置低功耗蓝牙以默认参数工作,设备名称为"MyBle666"
LIB_NrfBleDefaultConfig("MyBle666")
--开始大循环
while(GC(1) == true)
do
    --查询是否收到来自手机端蓝牙的数据,如果收到就通过Uart0转发出去
    ble_recv_flag,ble_recv_tab = LIB_NrfBleRecv()
	if ble_recv_flag == 1 then --收到一包Ble数据
		LIB_Uart0Send(ble_recv_tab)
	end
    
    --查询是否收到Uart0数据,如果收到就通过Ble转发给手机端
	uart0_recv_flag,uart0_recv_tab = LIB_Uart0Recv()
	if uart0_recv_flag == 1 then --收到一包Uart数据
		LIB_NrfBleSend(uart0_recv_tab)
	end
end

三、用shineblink.com提供的免开发App,让自己的硬件能够很轻松的拥有和手机App交互能力

shineblink.com提供的免开发App对接Core的方式十分简单,能够让你的硬件设备立刻拥有一款专属的App,更多详情请参见此处:

http://shineblink.com/#/technology

免开发App下载地址

https://b58ac2.link.yunpan.360.cn/lk/surl_yPpRxLMrUDt#/-0

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、Core的Ble蓝牙功能介绍
  • 二、完整代码
  • 三、用shineblink.com提供的免开发App,让自己的硬件能够很轻松的拥有和手机App交互能力
相关产品与服务
物联网
腾讯连连是腾讯云物联网全新商业品牌,它涵盖一站式物联网平台 IoT Explorer,连连官方微信小程序和配套的小程序 SDK、插件和开源 App,并整合腾讯云内优势产品能力,如大数据、音视频、AI等。同时,它打通腾讯系 C 端内容资源,如QQ音乐、微信支付、微保、微众银行、医疗健康等生态应用入口。提供覆盖“云-管-边-端”的物联网基础设施,面向“消费物联”和 “产业物联”两大赛道提供全方位的物联网产品和解决方案,助力企业高效实现数字化转型。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档