APP下载

基于Android和微信小程序的实验器材设计

2022-04-14

现代计算机 2022年2期
关键词:风扇蓝牙编程

龙 华

(广东理工职业学院,中山 528400)

0 引言

在2013年左右,Android开发在高校兴起,在教育系统的各种省培、国培中都开设了Android开发的培训项目,在软件专业的移动平台软件开发及物联网专业都讲授Android程序设计。因为Android开发是基于Java语言,所以最初的开发工具是使用Java语言的开发工具安装插件进行开发。到了2016年,高校开始引入Google公司的专门开发工具AndroidStudio软件。从就业层面来讲,几年前,学生找工作只要懂得Android四大组件,再懂一些常用的布局,那么找一份Android开发的工作是不成问题的,而现在公司招聘一个Android工程师不仅希望他能做好Android,还希望他能懂得一些前端和后台,或是直接要求公司现有的Java工程师同时进行Android的开发。

微信小程序自正式上线以来发展势头迅速,微信提供了完整的微信开发者工具开发环境,并可进行云开发,使用云函数直接把数据存入云数据库,为前端开发人员节省了环境搭建的工作量。小程序开发具有开发简单、无需复杂的专业知识、开发周期短等特点。相对于Android APP,微信小程序不必考虑机型配置,无论是在安卓,IOS平台,还是在不同屏幕条件下,微信小程序都可以通过MINA框架呈现一致的效果,除此之外,微信小程序是一款以主流社交软件微信为载体,并在其基础上拓展微信功能的软件,微信小程序相比于普通手机APP软件将更容易被用户所接受,也更符合互联网及社会发展的方向.

微信小程序适合开发一些业务逻辑简单、低频次使用、对性能要求不高的应用,对于复杂的功能,还是需要原生的APP来实现,所以对于高校毕业生如果同时掌握Android开发技术和微信小程序开发技术,将有效提高学生的就业竞争力,本文设计了一个实训装置,用于同时给学生讲授Android开发和微信小程序开发。

1 系统方案设计

本系统的框图如图1所示,手机运行Android APP通过蓝牙控制智能终端上的风扇和灯的状态,手机也可以运行微信小程序达到相同的功能,设计的界面可以做到一样。Android APP是基于Java基础编程来这实现的,微信小程序是基于网页和js编程来实现,但它们都属于移动端编程。本实验装置选取了经典的单片机型号89C52作为主控芯片,很多单片机教材都以它为对象进行讲解,便于学生查找资料,另一个原因它体型比较大,方便学生训练焊接技术。

图1 ?系统方案构成

2 系统硬件设计

2.1 STC89C52单片机

AT89C52是ATMEL公司生产的一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线。

本实验装置的CPU采用AT89C52,串口接BLE低功耗蓝牙设备,风扇由I/O口引出信号后经放大电路驱动,风扇的档位控制是通过使用定时器中断后软件编程实现,指示灯的控制是由I/O脚直接控制,电路板上引出烧写程序的插针,方便下载程序到CPU中运行,这个口也可以接串口助手,用于观看手机通过蓝牙下发的命令或模拟实验装置上传信息到手机上显示。

2.2 风扇模块和LED灯模块

89C52芯片的I/O输出电流不能直接驱动风扇转动,必须加驱动电路,如图2所示。本装置选取了可以承载大电流的8550三极管,这部分知识可以供给学生学习三极管放大电路,风扇档位的控制使用了定时器中断0定时产生中断,依照PWN调制思想,定义时间变量接收手机下发的值产生四种不同的电压供给风扇。

图2 实验装置电路图

2.3 蓝牙模块

本装置选用BT04蓝牙模块,它是BLE低功耗的蓝牙模块,使用Android APP和微信小程序都可以搜索到它,相对于标准蓝牙,BLE的功耗要低得多,这是因为BLE采用了许多降低功耗的方法,包括少量的广播信道数,更加宽松的射频参数和发送短数据包,以及可变的连接时间间隔,与标准蓝牙完成一次连接周期需要数百毫秒的时间相比,BLE完成一次相同的连接时间只需要3 ms,且数据同步成功率高,经测试在10 m范围内通过BLE蓝牙收发数据无丢包情况。在本装置中,BT04低功耗蓝牙的功能是接收来自手机Android APP或是手机微信小程序的数据,送到单片机89C52的串口,实现透传的效果,如图3所示,引发89C52的串口中断,89C52在串口中断处理程序中,对接收的数据进行处理,根据数据不同,控制风扇处于相应的档位或是控制指示灯的亮灭。

图3 BLE蓝牙和单片机的连接方法

3 系统软件设计

微信小程序和Android系统内置了BLE蓝牙API,通过调用BLE蓝牙API接口成功连接蓝牙设备后,可以通过Bluetoothsocket实现与BLE蓝牙模块的数据接收和发送,在控制系统硬件方面有很大的应用空间,Android APP编程和微信小程序编程通过蓝牙控制终端都经过以下步骤:①打开手机的蓝牙设备。②搜索蓝牙。③连接蓝牙。④发送数据或接收数据。流程如图4所示。

图4 手机控制智能装置

本实验装置使用的通讯协议如表1所示。

表1 手机和智能终端之间的通讯协议

4 测试

在硬件和软件调试完成后,开始手机控制智能终端,如图5所示。

图5 实验现象

在图5中,上面是智能装置,左下角是Android APP,右下角是微信小程序,可以在一定的距离内控制风扇转动和指示灯的亮灭,低功耗BLE蓝牙模块接收数据正常,实验现象具有较强的趣味性。

5 结语

目前来说,Android开发是基于Java语言的一种编程技术,是对JavaSE的高级应用,公司大量以前生产的APP也需要维护。微信在国内拥有大量的客户,基于微信的开发在高校的教学中有很大必要性。Android编程和微信小程序编程都属于移动端的编程,本文设计了一款简易的智能终端装置,可以使用Android APP控制和微信小程序控制,为高校移动平台软件开发课程同时讲授这两个技术作出了有益的尝试。本项目的特色如下:

(1)可以采购电子散件,让学生组装这个实验装置,利用上面的电子元器件和放大电路,训练学生的焊接技术和电路基础知识。

(2)本文的物联网终端是可编程的,使用的BLE蓝牙通讯技术在当前的智能穿戴、智能家居中应用非常广泛。另外,在终端上还设计了WIFI模块,可以使用开关进行切换,让学生自由在蓝牙和WIFI之间进行选择,终端有DHT11温湿度传感器,也可以让它采集到的温度、湿度显示在APP或微信小程序上。

(3)鉴于当前远程控制的火热,后续也可以对智能终端进行改进,使得Android APP和微信小程序可以远程控制相同的物联网终端设备,常用的技术如使用MQTT协议的阿里云物联网终端平台(或中移动oneNet平台),在智能终端使用ESP8266通过WIFI联网,在这方面的技术可以孵化出很多的创新创业的项目。

(4)Android程序设计的前导课是面向对象程序Java基础,而微信小程序是基于网页设计的,微信小程序开发和网页前端开发在技术上有许多相同构造,当一个对前端语言有相对了解的技术人员学习微信小程序开发会得心应手。所以本门课程建议设置在大二下学期或大三上学期,在学生学习完面向对象程序设计(java)和网页设计相关课程之后再进入移动平台软件开发课程的学习。因为一门课同时讲授两个开发技术,所以讲授的是它们的基础入门知识,对有兴趣深入学习的学生,教师要布置相应的拓展内容。

猜你喜欢

风扇蓝牙编程
蓝牙音箱的直线之美
夏日说“扇”
AirFan手持小风扇
玩游戏学编程,Blockly Games上手玩
纺织机上诞生的编程
帮你轻松找到AirPods的神奇工具
编程屋完成数百元万天使轮融资
学编程,先画画
电风扇
设计 创意风扇带来夏日凉风