背景
课程作业需要,教师需求如下
- 具有维护模式和操作模式,在维护模式下测试员能够方便地通过软件和目标机器进行通信,读取一些必要的参数;
- 保证软件界面的独创性,不得使用受知识产权保护的他人商标、产品图案。
需求分析
功能分析
- 具有账号登录功能,能够自动检测账号密码的对错以及是否为管理员账号,登录成功后自动跳转对应操作界面(管理员->维护,用户->用户);
- 具有账号注册功能,能够对密码进行二次验证,确认成功后自动上报账号密码至网络用户服务器;
- 在维护模式下,具有如下功能:
- 模仿串口软件的显示界面,能够显示服务器下发消息、维护参数;
- 显示服务器连接状态;
- 供自定义腾讯云服务器连接参数、自定义上行消息的对话框;
- 电源开关、功能测试按钮,其中电源开关功能能够对设备进行远程启动;
- 数据库浏览页面;
- 一键收集网络微服务器下发的腾讯云服务器连接参数,并自动填入对应对话框;
- 一键补齐剩余可自动生成的参数。
- 在用户模式下,具有如下功能:
- 一键连接服务器并显示服务器连接状态;
- 电源开关、功能按钮,其中电源开关功能能够对设备进行远程启动。
数据链路
为了把老师发下来的材料全部(stm32F411、广和通L610、smart4418开发板等)都用上(为了用上广和通只能上云了),我们采用如下数据链路:
操作逻辑
实现方式\工具
- 安卓APP构建:APPInventor
使用APPInventor构建安卓APP,通过MQTT组件连接腾讯云进行上下行消息的收发。
- APPInventor介绍:百度百科:APPInventor
- MQTT协议介绍:百度百科:MQTT
- 腾讯云;
- 网络微数据库TinyWebDB:TinyWebDB服务器(在这里非常感谢这个网站,救本笨学生于水火之中)。
具体实现
由于时间安排原因,本人暂不能做到所有实现记录一次昨晚(红豆泥私密马赛~),所以将持续更新,请放心,在4月结束以前我会努力做完的。
结语
本文用于记录此类APP的构建方法以供本人总结学习,不奢求过高、过强、过牛*的技术,只希望在本人记录学习的同时,如果有一位朋友遇到同样的难题,能够垂眼这篇文章并能有所启发。
并且,受限于本人如同本人钱包那般干净(钱包比我家地板还干净)的学识库,在文章中不免存在谬误。在这里也希望浏览完本篇文章或者后续更新的记录并发现本人存在的错误的大佬能够不吝赐教,留下您宝贵的评论或者一步到位直接私信,非常感谢。