智能小车七《上位机android》

接着上文的串口协议,本文再介绍下android端如何实现。现在程序员分工很明确,很多会C的不会java,会java不一定会开发android。而我的本职工作是开发java后台的,android的开发只能算个业余选手,但开发一个小车的控制程序还是可以的。

先介绍一下android的开发环境,Android Studio。如下图:

我们新建一个项目后,主要的要改的文件都在这个main文件夹中。java文件夹是.java文件,放程序逻辑。res文件放用于界面展示的配置文件,AndroidManifest.xml是配置整个项目的权限,入口代码等。

我的设计是这样,进去的第一个界面先展示蓝牙列表与控制按钮。选择蓝牙连接上后,隐藏蓝牙列表,界面就只有控制按钮了。下面的进度条样子的控件是用于利用android的pwm功能来设置速度。

连接上蓝牙后:

这里面设置很多小的技术点,如设置横屏,如何隐藏控件,控件如何自适应屏幕大小。这些在专业的android程序员眼可能都不是事,但我做时还是用了不少时间查的。比如隐藏后如何自动适应屏幕,我用的是相对布局。这个可以看黑马程序员的android的视频课程。

这里介绍一个简单而重要的技术点,蓝牙如何保持连接?在实际的操作过程中,使用者可能会发现蓝牙会无缘无故断掉。一开始我只有重启app再连接,真到改了如下几行代码:

try {

os.write(msg.getBytes());

} catch (IOException e) {

e.printStackTrace();

//发送发生异常,重连Socket

System.out.println("发送发生异常,重连Socket");

connectSocket(lvDevices);

}

解释一下os是OutputStream,蓝牙的输出流。msg是要发送的消息内容。如果发生异常就再去连接蓝牙。其实最好的是连接之后再发送一次内容。

好了,一个简单的控制程序就介绍完了。

时间: 2024-10-24 23:03:00

智能小车七《上位机android》的相关文章

局域网控制系统-上位机-Android手机

.java文件源码(供参考,请使用前自行作修改): 1 package com.example.hello; 2 3 import java.io.DataInputStream; 4 import java.io.DataOutputStream; 5 import java.io.IOException; 6 import java.net.Socket; 7 import java.util.Timer; 8 import java.util.TimerTask; 9 10 import

局域网控制系统-上位机-PC机

C#程序代码: 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 using System.IO.Ports; 10 //using System

Arduino智能小车制作报告

Arduino智能小车制作报告 制作成员:20135224陈实  20135208贺邦  20135207王国伊 前提: Arduino,是一个开源的单板机控制器,采用了基于开放源代码的软硬件平台,构建于开放源代码 simple I/O接口版,并且具有使用类似Java,C语言的Processing Wiring开发环境.选择Arduino作为智能小车的控制板,因为它的小巧但功能强大,能够方便的和传感器还有各种电子元件连接,而且还能和很多软件如Flash.Processing进行连接互动,但是最重

stm32智能小车之路

       最近学习了stm32,带着兴趣想做一个智能小车.不得不承认自己还是一个实实在在的菜鸟,好多知识到了用处都不会了,看了半天,才看懂.在网上看了下,全是关于51的,stm32的很少,而且也是很详细,看了还是不懂,自己既然做完了,拿出来和大家分享下,互相学习,希望大家提出点意见.         非常感谢CSDN,让我学到了很多的知识,里面的牛人太多了,给我提供了丰富的资源,作为回报,我也把自己的想法和一些经验(我自认为的)写出来,给没有头绪或不会的人来学习下,希望你们不要走我走过的弯路

第二天:SLAM智能小车DIY乐趣-小车控制stm32软件基础

SLAM智能小车DIY乐趣-小车控制stm32软件基础 ####写在前面#### 前面介绍了小车控制stm32硬件基础,本文就来介绍配套的小车控制stm32软件基础.关于stm32开发相关的基础知识这里就不多说了,有需要的小伙伴可以查阅相关资料进行学习,这里重点从小车控制项目入手,直接进行跟实际需求相关的开发.本文主要内容: 1) 电机控制 2) 编码器数据读取 3) 串口数据收发 4) 电机速度PID控制 5) 周期性控制 6) 小车控制软件整体框图 ####正文#### 1.电机控制 电机控

自己动手做个智能小车(1)

自己动手做个智能小车(1) --介绍及工具材料准备 目前物联网发展很迅速,软硬结合也越来越流行.对硬件有些兴趣的我,也想来做点业余玩具. 这是个业余小作品,可以学习一些基本硬件.单片机,底层软件,Android编程等知识,同时不失趣味性. 直接上图: 怎么每张图有个手机?-- 哈哈那是遥控器. 介绍: 这个小车是一个三轮车,为啥采用三轮:方便.灵活.控制简单,比如要转个弯,只需要把这边的轮子速度降下来,就转过去了:还可以原地旋转,两个轮子速度相同,方向相反即可,这是四轮车办不到的. 问,边上的手

51采集PCF8591数据通过ESP8266上传C#上位机

效果    如果想用手机做可以参考这篇文章,自己的协议规定在文章中 android 之TCP客户端编程 ---恢复内容开始--- 请问一下博客为什么又不能直接复制粘贴图片了呢............ 先看8266的配置,8266我是用的Lua语言写的,,因为方便快捷....这次写的当然比以前完善...... 关于WIFI模块可以看这几篇 ESP8266使用详解 NodeMCU初探 ESP8266刷AT固件与nodemcu固件 (一)Lua脚本语言入门 (二)Lua脚本语言入门 (三)Lua脚本语

WiFi智能小车

WiFi智能小车是利用本APP作为控制端,通过手机连接wifi模块(路由器)以获得wifi信号,同时车载也连接wifi模块以获得和手机相同的IP地址,实现手机和小车的连接,然后利用PC或手机上的控制软件以wifi网络信号为载体发送相关信号,wifi模块接收PC或手机端发送来的相关信号并分析转换成TTL电平信号,然后发送给单片机,单片机接收到的电平信号处理.分析.计算,转化成控制指令并发送给电机驱动模块以实现小车的前进.后退.左拐.右拐以及实时视频传输等功能,从而达到控制小车和视频监控.本软件视频

基于uFUN开发板的心率计(三)Qt上位机的实现

前言 上两周利用周末的时间,分别写了基于uFUN开发板的心率计(一)DMA方式获取传感器数据和基于uFUN开发板的心率计(二)动态阈值算法获取心率值,介绍了AD采集传感器数据和数据的滤波处理获取心率值.这篇文章主要是介绍Qt上位机如何实现波形的显示,串口数据的解析,以及一些小细节实现.这篇文章写完,uFUN心率计这个小项目就算结束了,最近又做了个uFUN开发板的扩展板,在微信群里的朋友都已经看到了,后面会做一些好玩的东西,大家要保持关注哈! 关于Qt Qt是一个1991年由Qt Company开