切换到宽版
爱科技/爱创意/爱折腾/爱极致;技术知识分享平台,点击进入新版数码之家网站
  • 45626阅读
  • 95回复

[其他]教你20分钟快速制作安卓蓝牙上位机APP [复制链接]

上一主题 下一主题
离线w7767896789
 

发帖
92
M币
1633
专家
22
粉丝
56
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2018-05-06


大家好久不见啦,我又来给大家分享教程了,哈哈,之前给大家做的都是单片机方面的,有些人可能觉得很难,看得毫无头绪.没事这我次给大家带来的是20分钟快速制作蓝牙上位机APP的方法,一说到这有人会觉得这不更难了吗,C语言都没学会还学java安卓,老哥我在这里保证本次教程中没有任何专业知识,老少皆宜,小学生初中生看一遍都会啦,只要你有一台能上网的电脑和一个测试用的蓝牙模块(HC05之类的),最后还有部安卓带蓝牙手机(废话了大家都有手机).论坛里的Android Stdio和eclipse大神看到本教程可能会觉得Low爆了,也请你高抬贵手啦,小弟在此谢过.
      我喜欢在讲解之前说下原理,为什么本教程会老少皆宜呢,因为我使用的是一款叫做APP Inventor的模块化编程平台制作的本次蓝牙上位机,说到模块化编程不知道大家是否有接触过创客教育那些Arduino小车的模块化编程,之前国内比较火的makeblock小车,其实这和我的教程都差不多,就是一堆堆的通俗的软件语言块堆积在一起做成工程,后台处理成安卓apk包,只不过makeblock编译的是小车的程序,APP inventor编译的是安卓app.模块化编程都是国外传过来的,国内那些基本上只是汉化了一下.
     好了,啰嗦了这么多,开始正文.
准备材料:
1.硬件:蓝牙模块HC-05(其他款蓝牙模块也可以,能用就行),USB转串口CH340,PL2303.cp2102等等,一部有蓝牙功能的安卓手机


2.软件APP Inventor平台,我用的是在线版http://app.gzjkw.net/login/,注册登录即可使用免费的.也有离线版这里就不多说了
     我们进入网址登陆进去以后,你的界面肯定是空白的,点击我的项目->新建项目,重命名为你想要的名字,只能英文


接着进入组件设计界面,就是你打开app时候看到的人机交互界面了,旁边是逻辑设计界面即模块化程序设计,等下再说


     我们先设计组件,有了组件才能有逻辑设计,我根据大家以往使用蓝牙上位机的用途选择了智能遥控小车和RGB台灯功能来设计界面,遥控小车必定有方向键4个,我还设计了5个功能按键,RGB台灯就是3个滑动条0-255数值,滑动条移到多少位置就把对应颜色的灰度级发送出去,当然这个界面是可以任意修改的,支持横屏.
    首先要放置上面的蓝牙设备选择框和连接设备按钮,先在组件面板中的界面布局选择水平布局,按住拖动到工作面板中,设置水平布局的高度和宽度为9比例和100比例


接着我们在用户界面选择列表选择框拖入到水平布局1中,然后将一个按钮也拖入到水平布局1,并同时将显示的文字改成图片上的内容,改成其他字都可以的


然后是下面功能按键布局,原理同上,这次先插入表格布局行数3x列数3的,表格布局中放置9个按钮,表格布局的比例为高62,宽100比例,考虑到按钮之间的间隙,按钮高度比例为20,宽32比例,还有为什么用比例不用像素来设置按钮大小,这是因为大家手机分辨率不用,有的1080p有的720p,用像素设置界面会乱


接下来放置最下面的RGB灯的3个滑动条,并将滑动条的颜色,宽度,最大值最小值滑块位置设置好,不强求跟我设置一样,我是考虑大家的RGB灯都是所谓的1600万色,即8位灰度级255的3次方=1600万,所以我将滑动条的数值范围设置为0-255.宽度100比例


最后放置功能组件-需要的组件如图,需要的功能组件都在左侧组件面板中能找到,这里不累赘,同时我也将按钮美化了一下,其中方向键的显示的是图片,图片素材我会在本文最后资料共享,aia工程和apk文件都会共享


好了,组件设计到此结束,开始最重要的逻辑设计,点击逻辑设计按钮进入,逻辑设计中按钮的名字和组件设计的是配套的,建议将按钮名字修改成与我一样,后面好理解



好了,开始设计第一段模块化程序,这段程序负责界面上面两个按钮的功能设置,那些对应的语言模块都在左侧能找到,红色框的是文本,蓝色框的是数学,橙色是变量,按照颜色分类的很好找到,模块与模块之间靠近会自动吸附在一起,


拼起来的模块可以随意摆放,不会影响逻辑,好了,最重要的一段程序编译完成后,开始第二段,放置全局变量文本,即是按钮按下和松开后要发送的数据,如图修改好


接着放置按键控制蓝牙发送数据的部分模块代码,蓝牙的功能块在蓝牙模块中找,震动功能在音效1,代码理解起来不难就是按键按下发送数据并震动


最后放置RGB滑动条的代码块,由于滑动块的数据是精确到小数点后2位,需要做--下取整,取整在数学模块中


好了,程序编译完成,上图的各部分模块程序很散,但是不影响逻辑,只要代码块还复合在一起就行,最后完整程序给大家看下


那么如何生成apk文件呢,在打包apk-我用的是下载到电脑,二维码功能有兴趣你可以试试


最后进行硬件测试,首先先在手机中的蓝牙界面搜索到你蓝牙模块并配对好,配对好的蓝牙模块的mac地址才能出现在app的设备选择框中.
在设备选择框中选择好设备后,点击连接设备按钮,等待5秒会有提示,就是逻辑设计中的提示内容.


连接成功以后,打开电脑串口助手,尝试按下所有按键,测试全部功能实现


演示视频
[url=http://<embed src='http://player.youku.com/player.php/sid/XMzU4ODI0OTczNg==/v.swf' allowFullScreen='true' quality='high' width='480' height='400' align='middle' allowScriptAccess='always' type='application/x-shockwave-flash'></embed>]http:// flash: http://player.youku.com/player.php/sid/XMzU4ODI0OTczNg==/v.swf[/url]

ok,终于结束了,工程资料,图片声音素材都分享给大家,aia工程通过app inventor中的项目->导入aia工程导入进去
链接:https://pan.baidu.com/s/1IHMpSZenPlNyjKkpT9BwGA 密码:zbcj










[ 此帖被w7767896789在2018-05-07 19:34重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共20条打赏M币+237专家+1
xiao_hui_hui M币 +8 謝謝分享 2019-03-14
xuekaiguang M币 +30 優秀文章 2019-03-11
mousebat04 M币 +1 学习下,以后备用。 2019-02-21
smfox10 M币 +15 百度链接过期了,麻烦更新一下 2018-12-27
wenxueroom M币 +20 原来还能这么玩 长知识了 2018-09-19
geek云中漫步 M币 +20 原創內容 2018-09-11
haiyang4060 M币 +8 謝謝分享 2018-07-10
铁皮屋 M币 +1 熱心會員,不会编程的来看看。 2018-07-10
链接 M币 +11 謝謝分享 2018-05-24
sis620 M币 +8 始终找不到“活动启动器1” 2018-05-12
12
离线ksj197706

发帖
1084
M币
4
专家
2
粉丝
33
只看该作者 1楼 发表于: 2018-05-06
请登录后查看
离线xiaodaishu

发帖
1624
M币
1457
专家
12
粉丝
85
只看该作者 2楼 发表于: 2018-05-06
请登录后查看
离线a268295

发帖
1287
M币
125
专家
5
粉丝
17
只看该作者 3楼 发表于: 2018-05-06
请登录后查看
离线cbass120

发帖
993
M币
1986
专家
1
粉丝
32
只看该作者 4楼 发表于: 2018-05-06
请登录后查看
离线panfei0914
发帖
532
M币
381
专家
0
粉丝
6
只看该作者 5楼 发表于: 2018-05-06
离线zzw0912

发帖
3321
M币
1231
专家
2
粉丝
40
只看该作者 6楼 发表于: 2018-05-06
请登录后查看
离线ztrdiy

发帖
3687
M币
417
专家
3
粉丝
64
只看该作者 7楼 发表于: 2018-05-06
请登录后查看
离线tntzpq

发帖
12287
M币
44328
专家
536
粉丝
470
只看该作者 8楼 发表于: 2018-05-06
请登录后查看
本帖最近打赏记录:共1条打赏M币+2
bhzjr M币 +2 認真發帖 2018-05-11
离线维超

发帖
1187
M币
3890
专家
1
粉丝
14
只看该作者 9楼 发表于: 2018-05-06
请登录后查看
快速回复
限80 字节
“新手上路”发帖需审核后才能显示(请认真发帖),达到数码9级后取消此限制
 
上一个 下一个