APP Invertor 2 蓝牙BLE 个人案例分享 快速开发自己的蓝牙APP

经过几天的学习,期间查找了许多的文章资料。经过研究和总结加实践,终于做出了一个实现简单的接收和发送的Demo。下面将分享个人制作的过程。
在此之前需要声明的是所用不同版本的APP Invertor 2,其中的组件的信息以及用法都会稍有不同,本文讲解使用到的版本是 App Inventor 2 WxBit 汉化增强版。连接如下
App Inventor 2 WxBit 汉化增强版

下面开始介绍具体的开发过程。在使用APP Invertor 2 制作蓝牙小软件之前,首先要确定你使用的蓝牙模块是蓝牙4.0以上的,也就是低功耗蓝牙模块(如果是传统的蓝牙模块不适应此方法)。

1、APP界面设置

1、首先是APP界面的设置,这部分没什么好说的,就是把需要用到的按钮、文本、标签,根据个人的需要放置到合适的位置上即可。这里简单的放置了搜索蓝牙、连接蓝牙、断开连接、发送的按钮,以及接收和发送的文本显示和用来显示搜索到的蓝牙设备的下拉框,最后加入BluetoothLE组件。这样简单的APP界面就设计完成。

2、可视化编程部分

这也是本次分享的重要部分,首先给出一张完整的可视化编程的图片,紧接着就是对编程部分每一部分的详细的解释。

首先还是先解释下这个编程的思路,整体的思路是扫描蓝牙设备,将找到的设备的地址和名称送至下拉框中,然后根据下拉框中得到的蓝牙设备的地址进行连接。进行连接后就是进行数据的读取和发送的操作。数据的发送和读取需要两个很重要的参数,分别是服务UUID和特征UUID,具体这两个参数是什么意思这里不多做解释,请自行百度,这里只介绍如何找到这两个和怎么用的,下文介绍。

2.1、搜索蓝牙设备


屏幕在初始化事件中,对蓝牙连接成功的提示标签进行初始化。接着是调用开始搜索按钮的按下事件,在事件中调用蓝牙组件中的开始扫描功能并调用下拉框的显示列表。

在打开扫描后,当扫描到蓝牙设备时,会自动调用蓝牙组件中的找到设备事件,在事件中将找到的蓝牙设备的设备信息以字符串的形式放到下拉框中显示。此时的下拉框处于打开的状态,可以对框中的内容进行选择,也就是选择要连接的设备。当选择完成后,在选择完成事件中调用蓝牙组件中的停止扫描功能。(在打开扫描后,在完成扫描时要记得停止扫描,不然会一直扫描占用系统资源)

2.2、连接蓝牙设备


连接蓝牙设备需要蓝牙设备的地址,蓝牙设备的地址则以字符串的形式保存在下拉框中。但是扫描时得到的信息不只是地址信息,还有设备的名称和信号强度。而连接所需的地址这需要通过内置块的文本组件中的一个功能将字符串的前17长度的字符取出就是蓝牙设备的地址。这里取字符串的前面是因为地址信息在字符串的前面。而长度17,是因为地址的长度是17。然后就是把断开连接的事件也加上。

2.3、数据的发送和接收

前面提到接收和发送数据需要服务UUID和特征UUID,那么这个两个从哪里来的,方法有很多种,这里只介绍我用的一种。那就是打开微信小程序搜索小程序蓝牙调试工具,用调试工具连接上蓝牙模块,就可以看到这两个数据,服务UUID是一个,而特征UUID有多个,选择其中一个就可以。

2.3.1数据接收


在连接成功后,在连接成功的事件中调用蓝牙组件中的监听接收字符串数据(蓝牙组件中有其它数据类型得到接收监听,这里选择字符串类型),监听是否接收到数据,当接收到数据时就会自动调用收到字符串数据事件,在此事件中,将接收到的数据送到文本框中,这就完成了数据的接收。接着是在连接和断开连接的事件中增加提示文本“已连接”和“断开连接”。这个部分需要注意的是监听事件选择字符串数据类型,在收到事件中也要选择字符串数据类型。

2.3.2数据发送


发送部分,在发送按钮的按下事件中调用蓝牙组件的输出字符串数据功能,将输入文本框中的内容发送出去。这里要注意的是,如果需要发送的数据也被本次编写的APP也接收到,则发送和接收部分的特征UUID需要相同。
蓝牙APP的快速开发到此结束
下面是本次的工程文件的百度网盘链接 提取码 29sv
CSDNtext

APP Invertor 蓝牙BLE 个人案例分享 快速开发自己的蓝牙APP相关推荐

  1. APP Invertor 制作BLE蓝牙APP 控制esp32蓝牙小车

    APP Invertor蓝牙小车制作 1.插件下载 1.1.导入插件 2.APP界面展示 2.1 .可视化编程 3.esp32 蓝牙代码 4.实测效果 4.1 APP控制端 4.2 蓝牙接收端   经 ...

  2. html5 app如何连接打印机,uni-app开发经验分享十五: uni-app 蓝牙打印功能

    最近在做uni-app项目时,遇到了需要蓝牙打印文件的功能需要制作,在网上找到了一个教程,这里分享给大家. 引入tsc.js 简单得引入到自己所需要得页面中去,本次我们只要到了标签模式,他同时还有账单 ...

  3. android sqlite 打包 xe,C++ Builder XE10快速开发关于sqlite数据库APP应用发布小结

    因为C++ Builder XE10资料一直较少,所以作为C++ Builder业余fans,有必要为这冷门提供一些技术支持,与小伙伴们一起成长! 本视频系列,主要是讲解C++ Builder XE1 ...

  4. 【Uniapp框架】快速开发自己一款APP应用,如何将Uniapp项目快速打包成APP应用

    当我们使用uniapp框架开发应用,前端与后端的代码都准备OK! 最关键的一步就是开始打包我们的应用产品,最常见的形式:小程序.安卓App.苹果App. 今天我们来详细了解一下安卓App应用的快速打包 ...

  5. 三步骤快速开发 iOS资讯类App

    CMSSDK为新闻创造者及自媒体人推出,微信自媒体,头条号,微博红人,简书等自媒体达人,仅需10分钟快速 集成SDK生成App,让粉丝使用您的专属App. 只要三步骤可快速开发出 iOS版本,下面看下 ...

  6. 五、Web App 基础可视组件属性(IVX 快速开发教程)

    五.基础可视组件属性 在 iVX 中各个组件存在不同的属性,这些属性用于设置显示的样式或者是自身具备的特征等,通过更改这些属性可以极大的方便我们进行项目的创作. 大多数组件都拥有相同的属性,相同属性在 ...

  7. 蓝牙BLE(协议栈、OSAL、蓝牙APP工具)

    目录 蓝牙配对和绑定 蓝牙4.0 BLE 信道(RF Channel) BLE协议栈分层 PHY层(Physical layer 物理层) LL层(Link Layer 链路层) HCI层(Host ...

  8. 蓝牙(BLE)应用框架接口设计和应用开发——以TI CC2541为例

    本文从功能需求的角度分析一般蓝牙BLE单芯片的应用框架(SDK Framework)的接口设计过程,并以TI CC2541为例说明BLE的应用开发方法. 一.应用框架(Framework) 我们熟知的 ...

  9. 汇承4.0蓝牙BLE串口助手HC-COM的使用方法及出错的原因和改正方法

       本文主要介绍在使用汇承4.0蓝牙BLE串口助手HC-COM,通过手机向蓝牙模块发送数据.或者通过手机向与蓝牙模块连接的单片机发送指令时,串口中断函数的编写方法及出错的原因和改正方法    我们怎 ...

最新文章

  1. python接口测试面试题及答案_100道接口测试面试题收好了!【建议收藏】
  2. fguillot json rpc_Hyperf 框架创建 JSON-rpc 服务
  3. Java工程师学习步骤
  4. typescript利用接口类型声明变量_TypeScript入门指南(基础篇)
  5. 【电子书类】C/C++电子书下载汇总
  6. 零配置初始化流程就一直过不去_uni-app从零开发影视小程序1——搭建开发环境构建项目
  7. rocketmq java实战_RocketMQ实战与原理解析 杨开元著 PDF下载
  8. HDOJ 2544(Dijkstra)
  9. 数据类型oracle,oracle的数据类型
  10. mysql安全模式什么意思_mysql安全模式指的是什么意思
  11. [你的灯亮着吗]读书笔记
  12. 基于MVC4+EasyUI的Web开发框架经验总结(5)--使用HTML编辑控件CKEditor和CKFinder
  13. Problem B: 取石子
  14. AI艺术的发展:让艺术通过人工智能变得更具创造力和人性化
  15. java pmt以及ipmt计算
  16. 无人车“看世界”的底层逻辑——概率密度与贝叶斯法则
  17. 关于schema文档
  18. 电子招投标采购系统之电子招标投标的全流程!企业电子招投标系统源码
  19. 白牌交换机有哪些特点?和传统交换机比有什么特别?—Vecloud
  20. android打开app白色页面,完美解决Android App启动页有白屏闪过的问题

热门文章

  1. 锁相环低杂散快锁定优相噪猜想之进阶版
  2. 解除B站区域限制插件观看视频卡顿
  3. 怎样拒绝公司的offer, 才显得不卑不亢
  4. JavaScript js写九九乘法表(两种方法)
  5. 移动网络打不开香港服务器网站,移动宽带打不开网站怎么办
  6. 系统方向学习9--android 10.0 去掉未知来源弹窗 默认授予安装未知来源权限
  7. STM32-custom usb
  8. 关于PS设计里的八个便捷小技巧
  9. Matlab完整教程专栏完整目录
  10. Java轻松解决百度文库复制、下载!程序员你能不掌握???