# 蓝牙app **Repository Path**: Wind_to_valley/Bluetooth ## Basic Information - **Project Name**: 蓝牙app - **Description**: appinventor做一个简单的蓝牙app - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2022-04-04 - **Last Updated**: 2023-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README >App Inventor由谷歌实验室开发,移交麻省理工学院,是一款可视化编程环境,采用搭积木的方式快速搭建应用,用AI伴侣功能可以在手机上及时更新调试。 [APP INVENTOR](http://app.gzjkw.net/login/) 本文搭建了一个蓝牙遥控器,可配合hc05等蓝牙模块,对小车实现八方向遥控。**下载方式见文末** # 效果预览 ![及时遥控](https://img-blog.csdnimg.cn/11a5f276b25444a288a83b9a7d6509a9.gif#pic_center) ![第一视角](https://img-blog.csdnimg.cn/bf126ee03c7d4572bbfad070d0cba6a7.gif#pic_center)车上的jetson nano外接摄像头录下的第一视角,这是gif图压缩减帧后看起来有点卡,实际效果还是不错的。 # 新建项目 ![新建项目](https://img-blog.csdnimg.cn/2c4ed06df0284c5ba9cb1bc6724c88fb.png)![命名](https://img-blog.csdnimg.cn/8bd8c114d8de41dfaf2137b9c138e4bd.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5a2Q5rCa,size_20,color_FFFFFF,t_70,g_se,x_16)以英文字母开头,工程名只含**字母**、**数字**、**下划线** # app布局 ![表格布局](https://img-blog.csdnimg.cn/a1609c35dcd549b98b5d23d59cf676ce.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5a2Q5rCa,size_18,color_FFFFFF,t_70,g_se,x_16) 先放置一个方格表格,然后在右边组件属性调整为三行三列。 ![组件属性](https://img-blog.csdnimg.cn/574e79eda41f49b1977557fc28125bdd.png) 拖入八个方向键和一个蓝牙连接键、一个蓝牙断开键。 ![设置按钮](https://img-blog.csdnimg.cn/9814302e0d604c3c8163883ea64c334b.png)![效果](https://img-blog.csdnimg.cn/98471b32ea984c09a85b715f57362a95.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5a2Q5rCa,size_20,color_FFFFFF,t_70,g_se,x_16) # 蓝牙逻辑 在右上角切换到**逻辑设计**界面 在左边模块栏选择模块并组合,实现屏幕初始化事件和单击按钮事件。 ![初始逻辑](https://img-blog.csdnimg.cn/26dfebfba2c94b0da7df240e0c670045.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5a2Q5rCa,size_20,color_FFFFFF,t_70,g_se,x_16)这里实现的功能是,打开app时,可以点击连接,不可以点击断开; 点击连接后,弹出蓝牙列表,选择对应的蓝牙连接对象。对hc05,需要先在手机-设置-蓝牙,配对好蓝牙模块,蓝牙列表里才能找到它。 连接上蓝牙后,断开就可以点击了,点击断开即断开连接。 ![蓝牙效果](https://img-blog.csdnimg.cn/1d9a1acb1c694e16a4d4383ada5d88df.gif#pic_center) # 按键逻辑 小车上的逻辑是一直接受标志时起跑,一旦收不到了,或者接到了停止位,小车停止,对应到app上就是按下启动,松开停止。 回到组件面板,添加计时器 ![添加计时器](https://img-blog.csdnimg.cn/28e272bf224a415f90e2db3bd20bd9c2.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5a2Q5rCa,size_14,color_FFFFFF,t_70,g_se,x_16) 设置计时间隔 ![设置计时间隔](https://img-blog.csdnimg.cn/63fd3e7958044663bf8f4d38d9fe690d.png) 定义一个全局变量**while**,如果计时器计时,则一直发送这个变量 ![发送逻辑](https://img-blog.csdnimg.cn/463e8e73439a4828a4a69ff795f7b858.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5a2Q5rCa,size_20,color_FFFFFF,t_70,g_se,x_16) 对于一个按键,按下则把对应标志赋值给**while**,然后启动定时器,则发送启动,松开手就停止计时器,再发送一个结束标志。 ![按键逻辑](https://img-blog.csdnimg.cn/101e7e357b464778ac54bd90184e43bb.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5a2Q5rCa,size_20,color_FFFFFF,t_70,g_se,x_16) 其他七个按键同理,很快,一个蓝牙遥控app就做好了,修改蓝色框的数字值,可以更改发送命令。 ![整体逻辑](https://img-blog.csdnimg.cn/8d8863353d05491089b2e63d28bdbb31.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5a2Q5rCa,size_20,color_FFFFFF,t_70,g_se,x_16) # 调试 从文末方式获取文件,在手机上安装base.apk,即ai调试助手。 打开调试助手,点击**scan QR code**,此时开始扫描。 点击ai伴侣,用手机扫描二维码,即可将app在线更新到手机上,这时可以使用app所有功能,对其进行测试。 ![AI伴侣](https://img-blog.csdnimg.cn/3e438324df034d2aaa440001e0736c3b.png) ![扫码更新](https://img-blog.csdnimg.cn/f91ad216f16648dea1f501868b32d967.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5a2Q5rCa,size_20,color_FFFFFF,t_70,g_se,x_16) 将蓝牙模块接上usb转ttl,用串口助手可以对他进行测试。 # 工程打包 测试功能无误后,可以打包工程,生成apk。 ![app打包](https://img-blog.csdnimg.cn/e029432f61b94e2fb0dff5b2717d9811.png) # 获取工程 关注公众号**小电动车**,回复**蓝牙**获取工程和app文件。 ![小电动车](https://img-blog.csdnimg.cn/d2080eff438547ee9015760cebc4584f.jpg)