android 串口调试助手源码,GitHub - Michelle0716/SerialPortHelper: Android 串口调试助手

本文介绍了一款名为SerialPortHelper的Android串口调试助手的开发过程,涉及物联网开发中串口通信的重要性,以及如何进行开发前的准备工作,如硬件连接、系统定制等。通过讲解如何使用JNI和多线程进行串口通信,展示了如何打开、关闭串口,以及发送和接收数据的线程管理。文章还提供了实战案例,展示如何在应用中实例化和使用该助手,并分享了关于不同Android Studio版本下JNI配置的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SerialPortHelper

Android 串口调试助手

前言

物联网开发开发是时下热门的行业。Android系统自然也能进行物联网开发。除开Android本身自带的模块还有一类通过外部链接的设备需要通过串口来进行通信。本人在做完两个相关的抓娃娃和寄存柜项目之后觉得需要总结一点东西给大家。

一些预备知识

关于串口

串口通信指串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。

在串口通信中,常用的协议包括RS-232、RS-422和RS-485。

当然具体是那种协议和你选择的硬件有关,将你的硬件插到对应协议的串口口即可。

开发前的准备

1.检查你的开发板设备,包括开发板信息,开发板上面包含的模块信息。是否有Wifi模块 蓝牙模块 指定接口等。还有一方面就是关于开发板系统的信息,开发板的系统版本。如果需要特别定制,可以和厂商商量。

关于系统定制

某些特殊的板块需要隐藏状态栏不能被下拉,否则会被退出应用。还有一方面就是可以定制取消掉下导航栏。

2.检查你的硬件装备

正确连接你的设备,向你的硬件提供商索要开发资料。基本的资料包括硬件的通讯命令格式。当然更好的是如果能要到开发程序资料。比如android程序或者源码那就更好了。

3.正确的连接,测试你的硬件与系统

Android串口助手

下载一个串口调试助手,按照资料输入命令。测试是否能够成功的启动设备。并且收到对应的返回数据。

开发阶段

需要一点点的JNI知识和一点点Android多线程开发经验

整体的开发流程如下:打开指定串口-->开启接收数据线程(readthead)-->发送串口数据-->接收数据处理返回信息-->关闭接收数据线程(readthead)-->关闭串口。

导入so库

里面封装了c层代码调用底层代码的通信方式,如果你们喜欢改东西的话。可以自己改着玩,不过我觉得没有必要,因为这些代码已经封装的很好了。直接使用即可。

至于通过c代码如何生成相应的so文件,以及如何java层调用c层代码都是很基础的东西啦。

我不想在这里展开大篇幅的讲JNI,因为串口通信其实用的JNI知识不多。

首先把JNI相关代码导入到自己的工程里面:

先看下目录结构吧:

jni目录

9f05a9d94cb69ad8f3611b5644701b28.png

java 目录

cfe2249b834770fd87f00676258fc037.png

SerialPort.java

了解JNI的同学都知道的,这个SerialPort.h对应的就是SerialPort.java层的native 方法。

这里用两个方法

private native static FileDescriptor open(String path, int baudrate, int flags);

public native void close();

很显然一个是打开串口 一个是 关闭串口 方法

打开串口之前,程序需要获得最高权限,SerialPort.java的构造函数里面需要获得设备的超级root权限,也是通过输入su命令完成。

if (!device.canRead() || !device.canWrite()) {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值