《基于STM32的共享单车智能锁系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于STM32的共享单车智能锁系统的设计与实现.docx(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘 要进入 21 实际,人们的生活质量与消费水平日益提高,交通出行也越来越便捷,随着生活质量的的提高,家家户户也开上了私家车。方便来到的同时,也对地球的环境造成了很大的影响,为了低碳环保, 共享单车深受上班族的青睐。然而对共享单车进行管理与计费,同样是一个很复杂的问题。该设计实现了对共享单车管理以及计时收费的功能,用户可以用手机通过蓝牙模块实现对共享单车的解锁缴费功能,就可以使用。由于实际资源的缺乏,该设计选择用一个led 来指示共享单车的车锁开闭情况,当系统上电时,led 灯点亮,表示车锁上锁。手机 APP 与单片机配对成功以后,选择解锁,用户使用完毕以后即可缴费然后上锁。整个过程涉及到的模
2、块包括3 部分: TI cc2541BLE 蓝牙模块还有STM32F103C8T6 模块,还有开关电路连接在led 灯上,单片机通过蓝牙模块与手机 APP 进行通信,然后连接电子锁开关电路实现功能,该系统满足了设计的需求以及物联网通信的理念。关键词: 通信, STM32F103C8T6 , TI cc2541BLE 蓝牙,智能电子锁Entering the 21st, peoples quality of life and consumption levels are increasing, and transportation is becoming more and more conven
3、ient. With the improvement of the quality of life, every household has also opened a private car.When it comes to convenience, it also has a great impact on the environment of the earth. For low-carbon and environmental protection, shared bicycles are favored byofficeworkers.However,managingandbilli
4、ngsharedbicyclesisalsoa very complicated issue. The design realizes the function of sharing bicycle managementandtimingcharging.TheusercanusethemobilephonethroughtheBluetooth module to realize the unlock payment function of the shared bike, and can be used.Due to the lack of actual resources, the de
5、sign chooses to use a led to indicate the opening and closing of the shared bicycle. When the system is powered on, the ledlightison,indicatingthatthelockislocked.AfterthemobileAPPandthe single-chipmicrocomputerare successfullypaired,you can chooseto unlockit. After the userfinishes using it,you can
6、 paythe fee and thenlock it.The module involvedin the wholeprocessincludes3 parts:TI cc2541BLEBluetoothmodule and STM32F103C8T6 module, and the switch circuit is connected to the led lamp.8The MCU communicates with the mobile phone APP through the Bluetooth module,and thenconnectsthe electroniclock
7、switchcircuitto realizethe function.Meet the needs of design and the concept of IoT communication.Keywords: Communication,Stm32f103c8t6,Ticc2541ble bluetooth,Intelligent electronic lock目 录前 言.31 绪 论.51.1 选题背景 .51.2 课题意义 .51.3 国内外发展概况 .51.4 指导思想 .52 开发工具与 MCU 简介 .62.1 MCU 简 介 .62.2 KEIL MDK 开发环境 .73
8、总体分析与设计 .93.1 方案分析 .93.1.1 整体系统方案分析 .93.1.2 通信方案设计 .103.1.3 显示方案分析 .103.2 功能设计 .114 详细设计与实现 .124.1 手机 APP 界面设计 .124.1.1 TI cc2541 蓝牙配置状态界面 .124.1.2 智能电子锁的控制界面.134.1.3 APP 发送数据界面 .144.2 硬件部分原理图设计 .144.2.1 LED 开关控制模块电路设计.144.2.2 MCU 主控模块电路设计 .144.2.3 开关电路模块电路设计.154.2.4 TIcc2541 蓝牙模块电路的设计 .164.3 软件部分设计
9、 .164.3.1 单片机程序设计 .164.3.2 安卓开发部分 .184.3.3 软件仿真设计 .195 结果分析 .215.1 硬件设计的结果分析 .215.1.1 主控性能分析 .215.1.2 外围电路稳定性分析.225.2 整体设计的结果分析 .22结 论.23致 谢.错误!未定义书签。参考文献 .23前 言近几年来,物联网大数据人工智能等字眼火遍了互联网界内,随着科技的不断发展与进步, 又正值 5G 时代的来临之际, 我们身边越来越多大大小小的事情正在不断地走向智能化。小到一个智能垃圾桶,大到整个自动化互联化的网络,极大的改变了人们的生活方式。交通出行是人们生活中必须的行为,进入
10、21 世纪以来,经济大幅增长,私家车的使用数量也越来越多,随之而来的是空气的污染,资源的过度开采,还有市中心交通紧张,堵 车现象严重等问题。为了更加低碳环保的出行以及减轻交通压力,共享单车应运而生。然而为了对共享单车进行更好的管理,我们可以选用 智能电子锁这样一个嵌入式型系统进行管理与使用。该装置可以让用户用手机 APP 与电子锁进行蓝牙配对,然后用户发送密码,即可在手机APP 上的界面中对该智能电子锁进行操作。该装置实现了解锁的功能,上锁的功能,并且在手机 APP 中可以进行时间和距离的记录,当用户用完共享单车后即可调用支付程序让用户进行支付,该系统易于操作,为用户提供了极大的便利。该装置的
11、主控模块采用了32 位数据处理的 stm32 单片机,然后通过 TI 公司的蓝牙模块 TI cc2541 来进行单片机与手机之间的通信,通过这个蓝牙模块,用户就可以使用手机APP 来操作单片机,进而控制开关电路,实现电子锁的解锁与开锁。 手机 APP 的编写用 eclipse 用 JAVA 语言进行编写, 在编写过程中要调用云端的时钟来实现该系统的计时缴费功能。由于时间上的不足以及各种因素的限制, 所以没有直接拿一辆共享单车来设计系统,而是采用了模拟的方式, 用一个发光二极管来模拟电子锁的开关情况,当用户点击APP 控制界面的“解锁”时开关电路会控制led 关闭,当用户点击 APP 控制界面的
12、“上锁”时,开关电路会控制 led 打开,用于指示电子锁的开闭情况。目前,这种智能电子锁的系统已经比较成熟,市面上的产品较多,但是没有采用蓝牙的方式。该设计通过蓝牙来连接手机APP 与 STM32 单片机,为以后智能电子锁的开发提供了一种思路与方向,满足物联网的思想,在后期的使用中,该设计的前景是不可限量的。1 绪 论1.1 选题背景进入 21 世纪,科技发展速度越来越快,然而对环境的危害也越来越大,人们为了出行方便,很多都选择了买私家车用于出行,而随着车辆的增多二氧化碳的排放量越来越多,不符合低碳环保主题的 新时代。于是兴起了符合低碳环保理念的共享单车项目,即人们可以共享自行车。为了让不法分
13、子不钻漏洞,所以共享单车需要一块方便安全的智能电子锁的维护。而我们平时的出行是离不开手机的,因此该系统的实现主要依靠于蓝牙通信对单片机进行控制,控制电子锁的开关以及计时缴费的功能。1.2 课题意义由于该系统设计符合新时代低碳环保的思想,并且为了对共享单车的智能电子锁进行维护,该系统利用蓝TI cc2541 模块与手机 APP 进行通信从而实现开锁的功能,该 APP 可以直接在手机上进行计时然后调用手机的程序来实现缴费的功能,该设计实现了功能,且使用方便满足新时代互联网的思想。随着 5G 技术的到来,其应用将会得到广泛的提高。由于手机 APP 是用 eclipseJAVA 进行编写的,因此可开源
14、性较高,后期可以不断的进行维护。1.3 国内外发展概况纵观国内物联网企业的发展之路,在发展到一定规模后,“出海”几乎成为必然的“套路”。从整体趋势看,目前全国多个大中型城市共享单车保有量达到了较高的水平, 市场增速将逐步放缓。 海外市场成为各大车企转攻的方向。1.4 指导思想本系统的设计基于 STM32F103C8T6 单片机,利用 c 语言与集成的开发环境keil 进行项目的开发,由于使用的时32 位的单片机,所以数据处理速度较快, 且运行稳定。除此之外,利用蓝牙模块与手机APP 进行通信,蓝牙模块使用了德州仪器 TI 公司推出的 TI cc2541 蓝牙模块, 并用 JAVA 进行手机 A
15、PP 的编写, 在 eclipse 中实现计时缴费的功能,总体来说该系统使用起来非常方便,且易于上手,操作简单。2 开发工具与 MCU 简介2.1 MCU 简介顾名思义, MCU 即为 Microcontroller Unit ,通常是指我们的嵌入式系统中的主控部分,也就是单片机或者微型处理器,目前市面上最主流的单片机有以下几种:( 1) 51 单片机: 51 单片机是一款 8 位数据处理的单片机,同时支持汇编跟 c 语言两种编程方式,但是在处理大数据以及一些视频资料时,很明显51单片机的速度与内存收到了极大的限制。(2) ) AVR 单片机: AVR 单片机是 Atmel 公司推出的一款单片
16、机,它取消了机器周期,而是直接采用时钟周期作为它的指令周期,但是相对于STM32 以及51 单片机来说,编程较为复杂。(3) )STM32F1XX 系列单片机: STM32 系列的单片机性能好,且性价比较高,且目前 STM32 的开源例程较多,开发起来非常方便,直接调用库函数实现相应地功能,可以直接用最小系统板进行开发。因此综合上述 MCU 选型来考虑,用 STM32F1XX 系列的单片机来实现共享单车智能锁系统的设计是最好的选择。且选用 STM32F103 最小系统板。以下是对STM32F103 单片机的简要介绍:(1) )内核:拥有 32 位 mcu 处理器,频率为 72MHz ,采用单周
17、期乘法, 不容易受到其他设备电流的干扰,稳定性比其它类型单片机更好。(2) )存储器:拥有片上集成 32-512KB 的闪存和 6-64KB 的只读存储器。(3) )时钟、复位和电源管理:晶振为16MHz (频率是可以设置的,可根据外部设备而定)。 8MHz RC 电路,上电使电路自动复位40 kHz 的 RC 振荡电路(可外接振荡电路,也可以利用自身有的振荡电路)。CPU 时钟的校准功能是由 32kHz 的晶振单独完成。(4) )低功耗模式:三种低功耗模式,分别是:停止,休眠和待机模式。(5) )调试模式:串行调试接口和JTAG 接口。(6) )支持的外设:包括定时器, ADC , DAC
18、, SPI , IIC 和 UART 。( 7)3 个 12 位的 us 级的 A/D 转换器: A/D 测量范围为 0-3.6V ,具有双采样和保持能力。(8) ) D/A 转换器的种类多,可根据外部设备进行选择,可变性强。(9) )快速 I/O 端口:所有端口都可以链接到外部中断。在排除模拟量的输入的情况下,所有的端口都可以接受输入5V 以内的信号。(10) )定时器: 4 个 16 位定时器,每个定时器都配有4 个 IC/OC/PWM 或者脉冲计数器。 2 个 16 位控制定时器:最多6 个通道可用于 PWM 输出除此还有 2个看门狗定时器,可满足不同外设的不同需求1 。(11) )拥有
19、 3 个 SPI 接口和两个 IIS 复用端口。包含一个 2.0B 的 CAN 接口,一个 2.0USB 接口含 5 个 USART 接收端口, 13 个通信接口, 2 个 IIC 接口和一个 SDIO 接口。2.2 KEIL MDK 开发环境当然,选定了单片机以后我们需要对硬件进行编程,常见的对STM32 编程的 IDE 有 KEIL5 还有 STM32CubeIDE 1.0.0 等,由于 STM32 的开发模式分为库函 数与寄存器两种, 而 ST 公司为我们提供了标准库与HAL 库两种方式, 所以考虑到代码的可移植性,该设计选用Keil MDK 来开发, Keil MDK ,也称 MDK-
20、ARM , Realview MDK 、I-MDK 、uVision5 。MDK-ARM 软件为基于 Cortex-M 、Cortex-R4 、ARM7 、ARM9 处理器设备提供了完整的开发环境,并且用户可以根据芯片的型号来选择相应的包进行下载以及调用,它可以应用在多个方面,为工程师在不同项目不同程序的编写提供了极大的便利,不用多次熟悉开发工具2 。因此 MDK 开发环境自打面世以来便受到了广大工程师的喜爱, MDK-ARM 是一款专为微控制器应用而设计生产的,因其界面简单明了,不仅通俗易懂,而且能够满足大多数的嵌入式应用,总得来说就是最佳选择。MDK-ARM 有四个可用版本,每一个版本都支
21、持 C/C+ 以及汇编语言的编写, 并且可以实现多界面,多机型,多语言集于一身的高性价比产品,不仅 如此, MDK-Professional 还包含大量的库函数,为工程师的开发节省了时间 3 。下面是使用 Keil5 开发嵌入式软件时候的步骤:(1) )创建工程,添加库函数以及.c 文件(2) )编写需要实现各个功能的.c 和.h 文件(3) )编译工作代码(4) )编译通过以后进行软件仿真(5) )下载程序调试uVision4 开发环境,我们可以做到编辑,编译,项目管理等多个程序调试步骤,窗口设计十分人性化,出错时的显示十分清晰,改正起来也十分省力。uVision4 的特点:支持多系列单片机
22、 ( Cortex-M 、Cortex-R4 、ARM7 和 ARM9 );多语言( C/C+ )的工具链,操作系统内提供了源码,封装模块化数据;不仅提供编译,调试功能,还具备仿真环境;网络套件提供多种协议应用;拥有标准的 USB 设备连接的可能,与外设交互友好;可以处理程序代码,图形等;程序运行一次便会被覆盖;符合国际公认的软件接口标准。此外,还有 ULINK USB-JTAG 界面适配器,以下是对此界面适配器的简介: ULINK USB-JTAG 是一个小硬件适配器,用于连接PC USB 口和开发板 JTAG口。通过 JTAG 可以很方便的将程序下载到目标板上测试和验证程序运行的效果。 U
23、LINK 支持的操作如下:(1) )下载目标程序(2) )检查存储器和寄存器(3) )单步运行程序(4) )插入多个中断点(5) )实时运行程序(6) )烧写 FLASH 存储器3 总体分析与设计3.1 方案分析3.1.1 整体系统方案分析为了实现用户用手机APP 蓝牙控制智能电子锁的功能,最终方案选择蓝牙的方式在用户与共享单车之间搭成一个桥梁,使用的人可以通过手机APP 来控制共享单车智能锁的开启与关闭4。最主要的部分是MCU ,控制芯片模块最终选择时钟主频为 36MHZ 的 STM32F103C8T6 实现对开关电路的控制部分,开关电路模块选择一个驱动电路来控制电子锁的状态,蓝牙通信模块选
24、择 TI 公司新推出的 TI cc2541 蓝牙模块来实现通信。硬件电路搭建好以后即可编程,编程共分为一下两个模块:单片机模块:单片机模块的程序设计在Keil5 中基于 c 语言进行编写,首先编写 led 的驱动程序,然后编写串口通信程序,再然后就是对中断服务函数以及主函数的设计,然后编译下载到硬件电路上。手机 APP 模块:手机 APP 以及上位机的编写用JAVA 进行编写,在 eclipse 中定义好相应的对象,再面向对象实现功能。整体系统方案的流程图如下图所 示:图 3.1 整体系统方 案流程图Fig.3.1 Overall system scenario flowchart93.1.2
25、 通信方案设计该设计需要遵循智能物联网的设计思想,而且为了让人们使用起来更加方便,要用一种专门可以随身携带的移动的通信。目前市面上的通信方案有好多种,第一种通信也就是平时小的工程中应用较多的通信方式, 也就是串口通信, 串口通信使用以根 USB 线连接到 PC 与单片机从而实现数据的传输, 显然不适合该系统的设计。第二种通信方式就是利用单片机上的网口,传到云端 进行数据传输,然后在在云端进行数据的传输与处理,该通信方案虽然性能强,而且处理速度快,适合大的项目以及运算,但是不适合随身携带。第三种通信方案就是利用 WIFI 通信,众所周知,现在的网络技术越来越发达,伴随着5G 时代的来临, WIF
26、I 的应用更加的广泛,因此我们可以利用WIFI 实现通信,比如说使用 ESP8266 模块,但是在外出的时候我们不能保证随时随地都有WIFI ,因此该通信方式也不适合用于外出时候的通信。最后一种通信方式就是蓝牙通信,该通信方式不但可以随身携带,只要配对成功以后即可用手机APP 与单片机之间实现通信从而控制实现相应的功能,由于手机现在我们都随身携带,因此选择蓝牙通信的方式来进行通信是该方案的不二之选。3.1.3 显示方案分析对于显示方案,现在的市场上层出不穷,由于该系统使用了单片机作为整个系统的主控芯片,所以该系统可选择的显示方案就有很多种。首先考虑数码管,数码管是一种操作简单的显示策略,但是由
27、于我们需要显示的数据较多,并且数码管只能显示数字的信号,所以该系统不做考虑, 其次考虑用 OLED 显示屏, OLED 显示屏的性价比较高,即可显示数字又可以显示字符,但是由于市面上的 oled 大多数屏幕尺寸较小而且 不支持触摸, 所以不考虑应用此方案作为显示,作为显示屏的同样还有STM32 单片机自带的 TFTLCD 作为显示屏显示参数, 但是该系统的 MCU 选用了性价比较高的STM32F103C8T6 ,引出 IO 口较少,所以接 LCD 非常不方便,然而该系统在手机APP 上具备显示功能,所以考虑直接在手机 APP 上做一个界面进行显示, 用 JAVA 开发 APP 让其具备显示的功
28、能, 这样蓝牙配对成功以后即可在界面上看到相应的参数,非常的方便。综上所述,该系统直接选择在手机APP 上作为显示。103.2 功能设计该系统实现了共享单车智能锁的管理与使用功能, 用户可以通过在手机APP 上进行与蓝牙模块进行配对连接,配对连接陈成功以后,在手机APP 的界面上就会出现相应的步骤提示,点击解锁,led 灯就会熄灭,指示共享单车车锁的开锁。当用户用完自行车时,点击上锁,led 灯就会点亮,来指示上锁, 同时手机 APP 会根据计时以及收费标准生成用户使用的订单,再从手机里调用支付宝或者微信的程序,让用户进行支付,这样就实现了共享单车车锁的管理与使用的功能,贴近生活,使用起来非常
29、方便。14 详细设计与实现4.1 手机 APP 界面设计4.1.1 TI cc2541 蓝牙配置状态界面在实现解锁功能之前首先要配对蓝牙,因为TI cc2541 用来连接单片机与手机 APP ,所以首先打开用 JAVA 编写好的手机 APP ,此时界面就会显示正在拼命搜索设备,因为蓝牙配对的时候必须要保证两方工作正常,所以要先对单片机进行 USB 的上电,上电以后等待一会即可搜索到设备,蓝牙配对成功,配对界面如下如所示:图 4.1 蓝牙扫描设 备界面Fig.4.1 Bluetooth scanning Device Interface164.1.2 智能电子锁的控制界面蓝牙配对成功以后用户就可
30、以用手机来控制该系统,因此在设计控制界面的时候必须要包括以下几个部分:骑行时间显示部分,骑行距离显示部分,控制解锁部分,控制上锁部分,缴费部分。骑行时间显示部分与骑行距离显示部分可以不但要显示在界面上,而且要随着时间的改变而改变,因此在编写JAVA 的代码的时候要注意调用手机系统里的计时功能以及距离检测功能;控制电子锁开关的时候,点击解锁按钮,单片机就会收到蓝牙传输的数据,触发中断服务函数,在中断服务函数中控制开关从而控制IO 口输出高电平,让 led 熄灭, 用于指示电子锁解锁当用户点击上锁的时候, 同样数据从手机 APP 传到TIcc2541 蓝牙模块,蓝牙模块控制单片机IO 口输出低电平
31、让 led 点亮,用于指示电子锁上锁。此外,控制界面还应该包括数据发送用于测试,手机APP 控制界面如下图:图 4.2 手机 APP 控制界面Fig.4.2Mobile APP Control Interface4.1.3 APP 发送数据界面由于该设计初步设计了电子密码锁的功能,此功能也要体现在手机APP 上, 功能是一开始配对蓝牙时,可以通过手机APP 以串口的形式发送数据,当接收到正确的数据时,就会蓝牙配对成功且正常工作,然后用户即可解锁执行其他操作。4.2 硬件部分原理图设计4.2.1 LED 开关控制模块电路设计该系统设计是基于 STM32F103C8T6 单片机的智能电子锁模拟系统
32、,由于该系统在设计过程中需要不断地进行调试,如果直接放在共享单车上不宜进行调试工作且会耽误其他人的使用因此我们选择用一个 LED 指示灯来指示该智能电子锁的解锁与开锁的状态,因此就需要一个开关电路与 LED 进行连接作为该系统中指示灯的驱动模块, led 的驱动本身比较简单,可以用 STM32 单片机的一路 IO 口来连接开关电路,其硬件电路图设置如下图所示:图 4.3 STM32 电路图Fig.4.3 STM32 circuit diagram4.2.2 MCU 主控模块电路设计电路的 MCU 模块选择 STM32F103C8T6 作为主控芯片,最小系统直接采取模块,最小系统包括复位电路,振
33、荡电路,电源电路,并将各路IO 口通过排针引出,其电路原理图如图所示:图 4.4 STM32F103C8T6电路原理 图Fig.4.4 STM32F103C8T6 circuit schematic diagram4.2.3 开关电路模块电路设计考虑到电路的稳定性,该系统并没有将LED 直接接在 STM32 单片机上,而是通过一个开关电路来驱动led ,这样后期如果开关电路坏了可以直接更换开关电路,比较容易操作,原理就是当蓝牙模块收到解锁的信号时,单片机就会被触发中断然后执行中断服务函数,控制IO 口输出低电平使开关闭合令led 灯熄灭,当蓝牙模块收到上锁的信号时,单片机就会被触发中断然后进入
34、中断服务函数, 控制 IO 口输出高电平使开关断开令led 灯打开, 开关电路的连接图如下图所示:图 4.5 开关电路连 接图Fig.4.5 Switch Circuit Connection diagram4.2.4 TI cc2541 蓝牙模块电路的设计由于蓝牙通信方式较方便,可用手机APP 与单片机之间实现通信,从而控制共享单车的开、关锁。在此设计中,我们选用TI cc2541蓝牙模块进行设计。cc2541 非常适合应用于这种像共享单车智能锁这种需要超低能耗的系统。其电路原理图如图所示:图 4.6 TI cc2541 蓝牙模块原理 图Fig.4.6 TI cc2541 Bluetooth
35、 module schematic diagram4.3 软件部分设计4.3.1 单片机程序设计单片机的程序设计主要分为三部分,第一部分就是led 的驱动程序,当系统收到手机 APP 的信号要对 led 灯执行操作,程序设计时应当先初始化IO 口, 然后使能时钟,再控制IO 口输出高低电平;第二部分就是main 函数的程序设计,在主函数里面要用三个循环来检测中断标志位然后进入中断服务函数;第三部分就是蓝牙模块与中断服务函数的程序设计,中断服务函数的接收中断应该是手机 APP 传回的信号;部分代码如下:#include delay.h #include sys.h #include usart.
36、h#include led.hvoid RCC_Config(void)RCC_DeInit(); RCC_HSICmd(ENABLE);while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) = RESET); RCC_HCLKConfig(RCC_SYSCLK_Div1); RCC_PCLK2Config(RCC_HCLK_Div1); RCC_PCLK1Config(RCC_HCLK_Div2); FLASH_SetLatency(FLASH_Latency_2); FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Ena
37、ble); RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_16); RCC_PLLCmd(ENABLE);while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) = RESET); RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); while(RCC_GetSYSCLKSource() != 0x08);int main(void)RCC_Config(); delay_init(); NVIC_Configuration(); uart_init(9600); delay_ms(5
38、0); Control_GPIO_Init(); LED_Init(); delay_ms(50);while(1)void USART1_IRQHandler(void) /串口中断服务函数19static u8 i=0; u16 Res=0;if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)Res = USART_ReceiveData(USART1); Uart_ReBuffi = Res;if(Res = A) Work_LED_OFF; if(Res = B) Work_LED_ON;#endif4.3.2 安卓开发部分由于该设
39、计需要我们在手机APP 上显示出来,所以在完成了单片机模块的设计以后就要进行手机APP 软件的开发, 开发 APP 的语言基于 JAVA 语言,开发过程中首先定义需要用到的对象以及类,手机APP 的显示界面一共有以下三个部分:首先要对解锁密码的界面进行显示;在该界面的程序设计中,要实现两个功能,第一个功能就是具备数据发送的作用,并用这种字符串发送的方式作为我们要输入的密码,第二个功能就是要对APP 发动的字符以及数字进行自我识别,然后打开蓝牙,再进行接下来的操作。第二个功能就是要实现解锁与上锁; 在进行 JAVA 的可视化编程中要对解锁与上锁两个功能进行界面编程,同样首先要对对象以及类进行定义
40、,然后基于JAVA 写出要满足的算法,代码编写完成后还要进行通信协议的代码编写,以达到用手机控制硬件电路的目的。第三个功能是进行计时以及缴费;在这个模块中要调用手机内部的时钟以及定位来实现计时与记距离的功能,当用户使用完共享单车时,手机APP 要自动调用支付小程序进行支付,由于此项功能在目前已有的APP 中已经实现了, 且技术较为成熟,所以这部分可以参照其他APP 开发时候的例程。首先,android studio 是官方提供的专门针对android 开发者的开发环境,它是基于 IntelliJ IDEA 的,现在 JAVA 的集成开发环境很多, 但是对比 eclipse 开发环境,同样作为java 语言开发的集成环境, IntelliJ 在业界的认可度非常高,该开发环境错误少,且开源例程多,在启动速度、智能代码助手、代码自动提示、重构、 J2EE 支持、 CVS 整合、代码审查、 创新的 GUI 设计等方面的功能可以说是 java 开发的神器,而旗下的webstorm 开发工具,也同样被称为javascript 开发神器,因此该系统在编写手机APP 的程序时使用了android studio 作为开发 IDE 。以下官方列出的 android studio 的几个特点 :(1) )开发灵活,因为 an