App Inventer制作蓝牙通讯软件

2 篇文章 2 订阅
订阅专栏

,前言
这段时间接触到了一些蓝牙通信的设计,大多想要实现的功能是将单片机采集的一些数据显示到手机上,或者是想要用手机来控制外部设备,比如点灯,蜂鸣器报警,加湿,除湿,小车前进,后退,停止等等,如果想要用手机来控制单片机来进行工作的话,制作一款符合要求的App是必不可少的了,昨天和今天这两天时间里我在学习这个App Inventer制作App的过程,想把经验和大家分享一下。
二,设计要求
本次设计目的是采用STM32单片机将电池电压,电池电量和电量设定下限值显示在LCD1602上,通过STM32串口1将3个值发送至手机App上,如果电量小于设定下限阈值,单片机将控制发出声光报警。
三,部件设计
先给大家看下软件页面。
在这里插入图片描述
连接蓝牙为列表选择框,启用蓝牙后,点击连接蓝牙选择需要连接的蓝牙设备。
电池电压,电池电量,电量下限阈值为三个文本输入框,显示来自于单片机采集的数据。
部件列表如下图:
在这里插入图片描述

四,逻辑设计
个人感觉App Inventer写逻辑代码这部分还是比较人性化的,代码语句比较通俗易懂,把整个逻辑代码分享一下,如下图:
在这里插入图片描述现在分析一下代码的逻辑。
在这里插入图片描述

第一部分是创建三个变量,分别为电池电压batteryVolt,电池容量batteryCap,设定电池容量下限阈值SetNum,用于存储接收来自单片机串口发送的数据,因为我使用了定时器用于1秒钟接收一次数据,在软件打开,屏幕初始化时,需将定时器关闭。
在这里插入图片描述在这里插入图片描述

第二部分是选择需要连接的蓝牙设备,如上图连接蓝牙为列表选择框,显示蓝牙名称和地址,连接状态为文本框,用于显示是否连接成功。首先我们需要打开手机的蓝牙,这样软件才能开始搜索,如果没有开启手机蓝牙的话,软件将提示我们“蓝牙未启动”。如果蓝牙启动完成了,设置列表选择框中的列表选项为外部蓝牙设备的地址和名称,
在这里插入图片描述
第三部分当外部蓝牙设备选择完成后,将列表选择框中选中项(外部蓝牙设备)与手机的蓝牙进行连接 ,此时关闭列表选择框,连接状态文本提示“正在连接”,如果手机蓝牙与外部蓝牙设备连接成功,连接状态文本提示“连接成功“,此时开启定时器开始定时,如果没有连接成功,连接状态文本提示“连接失败”,将列表选择框打开,可以尝试重新选择连接。
在这里插入图片描述
以上定时器部分代码块是比较重要的部分,光这一部分客户端代码块还不够清晰,将设备串口部分代码再发一下。

void USART1_IRQHandler(void)                	//串口1中断服务程序
{
	u8 r_buf;
#ifdef OS_TICKS_PER_SEC	 	//如果时钟节拍数定义了,说明要使用ucosII了.
	OSIntEnter();    
#endif
	if(USART_GetITStatus(USART1, USART_IT_RXNE)==1)  //接收中断
		{
			USART_ClearITPendingBit(USART2,USART_IT_RXNE); //清除中断标志
			r_buf=USART_ReceiveData(USART1);//(USART1->DR);	//读取接收到的数据
			if(r_buf==1)//接收到数据为1
			{
				USART_SendData(USART1,num1&0x00ff);//发送电池容量数据低8位
				while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==0);//等待发送结束
				USART_SendData(USART1,num1>>8);//发送电池容量数据高8位
				while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==0);//等待发送结束
			}
			else if(r_buf==2)//以下原理相同
			{
				USART_SendData(USART1,num2);//num2为电池容量值
				while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==0);
			}
			else if(r_buf==3)
			{
				USART_SendData(USART1,setNum);//发送电池容量设定值
				while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==0);
			}
		}			
#ifdef OS_TICKS_PER_SEC	 	//如果时钟节拍数定义了,说明要使用ucosII了.
	OSIntExit();  											 
#endif
} 

为了在对应框中显示正确的信息,建立起一一对应的关系,在接收数据之前先向设备端发送数据,通过蓝牙客户端发送数字1,2,3,发送1表示客户端想要接收电池电压数据,发送2表示客户端想要接收电池容量数据,发送3表示客户端想要接收设定电池容量下限阈值数据,当单片机接收到所对应的数字时,发送设备所采集的电压或电量或设定下限阈值,由于电池电压可能会带有小数部分,如果直接通过串口按8位发送,发送前单片机会对其进行取整,如果电压值为4.7V时,会直接按4V发送出去,客户端接收显示的数与实际值偏差有些大,所以在发送电池电压这部分代码上,我是将采集到的电池电压值放大100倍,放大100倍后,数据可能大于255(单片机通过串口发送,一次发送8位数据),就需要对数据进行两次发送,在客户端接收部分代码块中选择接收双字节无符号数字。
在这里插入图片描述发送16位数据就要考虑是先发送高8位还是先发送低8位了,经过试验,蓝牙客户端接收双字节数据是先接收低8位的(比较重要!),所以在单片机进行发送时,先发送低8位,后发送高8位,客户端这边接受到双字节数据后,将数据乘以0.01然后显示至电池电压文本中,电池电量和设定下限阈值皆为8位数据,串口发送一次即可,客户端也只用接收一次,接收单字节无符号数字即可,定时器内部代码块1秒执行一次,实现不断更新数据。
五,总结
App Inventer软件的功能还是很强大的,软件设计与32单片机写串口两部分学到的东西挺多的,将设计的一些经验与大家分享,后面的旅途大家一起加油!

App inventor:使用BLE蓝牙
INT_TANG的博客
05-17 1万+
一、前言 最近用NRF52832蓝牙SOC做了一个车用测速的板子,由于目前还没有安卓编程的基础,做不了蓝牙控制APP,后来想到在学校的时候使用App inventor做了一个蓝牙APP来控制小车,想着这里也可以做来搞搞,没想到蓝牙一直连接报错507,查阅网上不少资料才知道,App inventor本身的蓝牙组件支持蓝牙2.0和3.0,但NRF52832是蓝牙5.0,所以没法用。那么需要安装BLE扩展组件,才能使用,而且我发现,除了蓝牙组件,还有其他的MQTT组件,这意味着我们可以自制APP通过WIFI控制
使用APP inventor来制作一个属于自己的蓝牙串口软件
默铭
07-20 9829
使用APP inventor来制作一个属于自己的蓝牙串口软件 本文主要讲述蓝牙的发送和接收功能的制作 一、准备 1.APPinventor的网址:http://app.gzjkw.net/ 二、蓝牙APP界面的设置 首先我们新建一个项目,在这里我用的是本地服务器,如果没有本地离线版的可以用上面那个网址,用qq登录就行 接着...
物联网毕设 -- 智能LED(STM32+蓝牙+语音+APP
最新发布
herui_2的博客
04-17 1026
智能LED灯集成了多种控制方式和功能,以提供灵活的环境照明解决方案。硬件端包括STM32F103C8T6微控制器、0.96寸OLED显示屏、光敏电阻、旋钮按键、语音控制模块、LED灯和蓝牙模块。用户可以通过旋钮按键在自动和手动模式之间切换,自动模式下,灯光根据环境光照阈值自动调光,手动模式下,用户可以通过语音控制或APP远程调节LED亮度和开关状态。APP端支持蓝牙配对,允许用户轻松控制设备,调整模式和光照阈值,实现智能化的照明控制,提供便利和舒适的用户体验。
app inventor制作手机蓝牙遥控器
小电车没有名字
11-28 9303
App Inventor由谷歌实验室开发,移交麻省理工学院,是一款可视化编程环境,采用搭积木的方式快速搭建应用,用AI伴侣功能可以在手机上及时更新调试。 APP INVENTOR 本文搭建了一个蓝牙遥控器,可配合hc05等蓝牙模块,对小车实现八方向遥控。下载方式见文末 效果预览 车上的jetson nano外接摄像头录下的第一视角,这是gif图压缩减帧后看起来有点卡,实际效果还是不错的。 新建项目 以英文字母开头,工程名只含字母、数字、下划线 app布局 先放置一个方格表格,然后在右边组件属性调整为.
APP Inventor,蓝牙部分详解。
haofeng_ma的博客
03-17 2万+
前几天通过APP inventor制作了个有关智能窗户的APP--室内智能花园APP,https://blog.csdn.net/haofeng_ma/article/details/79587537,过程中认为蓝牙传送有点疑惑,所以就上网找教程。网上的教程较少,大多都是以前谷歌还在中国时候的教程,当我直接抄过来的时候发现根本它根本显示不了(可能是我哪方面和教程的不同,但我找不出),然后经过多...
Appinventor——蓝牙app(蓝牙遥控器、串口助手、温湿度显示、切换界面蓝牙依旧保持连接)
热门推荐
m0_59113542的博客
10-25 3万+
使用appinventor完全自主开发,功能:蓝牙遥控器、串口助手、温湿度显示;解决了切换界面蓝牙依旧保持连接问题
AppInventor中扫描蓝牙
qq_47770209的博客
04-03 2589
AppInventor中启动一个新项目,并将其命名为BasicIoTSetup。 首先,我们需要设置一些按钮来通过蓝牙查找和连接我们的 micro:bit。 从组件面板中的界面布局块菜单中拖动一个水平布局,并向其中添加3个按钮。 重命名按钮:ButtonScan、ButtonConnect和ButtonDisconnection。 将他们的文本改为“扫描”、“连接”和“断开”。 在水平排列下面添加一个标签。将其重命名为LabelStatus,并将其文本更改为“状态:”。 在用户界面下面拖动列表显示框,并将
APP Inventor的蓝牙扩展-BluetoothLE扩展组件
02-26
APP Inventor的蓝牙额外扩展,有多种多样与蓝牙有关的功能,非常适合蓝牙APP的开发。 功能包括蓝牙连接、数据传输、Rssi获取和蓝牙列表显示等等。 导入: 下载该文件之后,在APP Inventor的组件面板中,从Extension...
APP Inventor的低功耗蓝牙扩展-BluetoothLE组件
02-01
APP Inventor的低功耗蓝牙扩展-BluetoothLE组件
MIT App Inventor 最简单蓝牙连接.docx
06-07
MIT App Inventor 最简单蓝牙连接教程,对于一些初学者,不知道怎么实现蓝牙连接可以快速入门蓝牙APP的开发,大大缩减了开发时间,可之间进入下一步骤。
app inventor 人脸识别插件
08-27
app inventor 人脸识别插件
App Inventor蓝牙BLE的连接
weixin_45400695的博客
07-21 7658
上篇博客粗略讲了一下App Inventor的运用,现在来看看蓝牙连接的实现。 首先我们要导入一个蓝牙BLE模块,点下面这个链接下载http://iot.appinventor.mit.edu/assets/resources/edu.mit.appinventor.ble.aix 之后看App Inventor组件面板最下方有一个Extension 点Import extension,之后选择文...
AppInventor自制app通过蓝牙与pyboard nano做通信(下)
毛哥马利的博客
10-12 2408
AppInventor自制app通过蓝牙与pyb nano做通信(下) 下面是pyboard部分。 Pyboard上的蓝牙模块选用的hc-06,hc-06通过UART与pyboard连接。注意TX、RX引脚要交叉连接。 代码: from pyb import UART uart = UART(1) uart.init(9600, bits=8, parity=None, stop=1) ...
App inventor arduino 手机蓝牙通信实现
qq_51016484的博客
04-07 6660
写下这篇文章是为了记录我学习App inventor及制作蓝牙通信app的过程,接下来我会从零开始一步一步搭建这个app,本篇文章适用于刚刚接触app inventor的人。 第一步,首先点击屏幕右上角的新建项目,并命名。 然后进入我们刚刚新建的项目,这个时候界面是这样的 在屏幕左边是我们的组件面板,在这里我们可以将所需要的组件拖进中间的屏幕当中。在屏幕右边是我们的组件列表和属性面板,在组件列表中你可以对组件进行重命名和删除操作,在属性面板当中可以更改组件的属性值。 第二步,我们拖入一个垂直布局,将
自制 APP Inventor 蓝牙接收数据接收模板 自制遥控小车App的必经之路~
一个学长的博客
01-28 1万+
App Inventor 2 WxiBit 汉化增强版 蓝牙接收数据接收模板 写了好多Arduino 硬件的文章 也有物联网的 也有PID 的 这回来分享一下软件 介绍一下我们使用的平台 App Inventor 2 WxiBit 汉化增强版 是华南理工大学 杨道全 老师开发并维护的 一个安卓App 开发平台 相比虽然功能更为强大,需要掌握JAVA且操作难度较高的Android Studio 连C语言基础都不需要有的 具有丰富功能的App Inventor 模块化编程 对于我们大多数同学来说 是非常
APP Inventor练习——蓝牙通信
qq_53715621的博客
12-29 3809
练习APP Inventor中蓝牙的使用,并为之前的项目APP小游戏——一个都不能死增加了蓝牙对战功能。
APP Invertor 蓝牙BLE 个人案例分享 快速开发自己的蓝牙APP
Luminuos_的博客
07-31 1万+
APP Invertor 2 蓝牙BLE 个人案例分享 快速开发自己的蓝牙APP 经过几天的学习,期间查找了许多的文章资料。经过研究和总结加实践,终于做出了一个实现简单的接收和发送的Demo。下面将分享个人制作的过程。 在此之前需要声明的是所用不同版本的APP Invertor 2,其中的组件的信息以及用法都会稍有不同,本文讲解使用到的版本是 App Inventor 2 WxBit 汉化增强版。...
app inventor 蓝牙源码
09-28
App Inventor是一个由麻省理工学院推出的用于开发移动应用程序的可视化编程平台。它允许用户使用积木式编程环境来创建应用程序,无需具备编程经验。在App Inventor中,我们可以使用蓝牙模块来实现与其他设备的通信。 在App Inventor中,蓝牙模块可以通过一些源码来使用。例如,我们可以使用"设置蓝牙客户端"的源码来设置蓝牙模块作为客户端设备连接到其他蓝牙设备。我们可以在应用程序中定义必要的事件和过程,如当蓝牙已连接或断开连接时触发的事件,以及发送和接收数据的过程。通过这些源码,我们可以通过蓝牙模块来与其他设备进行数据交互。 除了设置蓝牙客户端外,App Inventor还提供了其他蓝牙源码,如设置蓝牙服务器和蓝牙连接的源码。这些源码可以帮助我们更好地控制蓝牙模块的行为和功能。 使用App Inventor的蓝牙源码,我们可以开发各种与蓝牙相关的应用程序。例如,我们可以创建一个应用程序,用于与蓝牙音箱连接并控制音乐播放,或者创建一个应用程序,用于与蓝牙传感器连接并获取实时数据。无论是与硬件设备通信还是与其他移动设备通信,App Inventor蓝牙源码都为我们提供了丰富的功能和灵活性。 总之,App Inventor蓝牙源码使得开发基于蓝牙的应用程序变得更加简单和可行。通过使用这些源码,我们可以轻松地实现与其他蓝牙设备的通信和数据交互。无论是作为蓝牙客户端还是蓝牙服务器,App Inventor提供的源码都可以帮助我们快速开发出功能丰富的蓝牙应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 51单片机温湿度测控系统设计 11487
  • App Inventer制作蓝牙通讯软件 6229

分类专栏

  • 笔记 2篇

最新评论

  • 51单片机温湿度测控系统设计

    qq_52670451: 大佬可以发下仿真图吗 1138194870@qq.com

  • 51单片机温湿度测控系统设计

    be siven: 恒温值有什么用 ,为什么灯没有反应

  • 51单片机温湿度测控系统设计

    be siven: 后面怎么解决

  • 51单片机温湿度测控系统设计

    weixin_51470254: 通过计算PID输出的pwm么

  • 51单片机温湿度测控系统设计

    m0_61635814: 将芯片引脚、排阻、LCD引脚直接相连

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 51单片机温湿度测控系统设计
2020年2篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

聚圣源太平洋电话车险启路文具邢台市天气学习方面去哪儿网机票预订k2韩剧亚当·斯密attachmovie三国之天二手车公司起名参考网页按钮宝宝取名免费起名大全关姓起名秦皇岛建材市场揭姓起名字路灯照明工程有限公司起名字重庆到北京火车票水机店起名美女丝袜诱惑起点历年年度小说排名给女宝宝起个名字好免费风声六爷三藏起名字测试男孩姓谷起什么名字好网上起名靠谱没叶昊叶紫烟小说陆家嘴金融城人才公寓聚财的店名起什么属牛晟字起名中英文起名php淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化