Android串口开发之SerialPort工具封装
一. 什么是串口
串口通讯(Serial Communication),是指外设和计算机间,通过数据信号线、地线等,按位进行传输数据的一种通讯方式。
串口是一种接口标准,它规定了接口教程的电气标准,没有规定接口插件电缆以及使用的协议。
在Andjava环境变量配置roid开发这一块来说,串口通信应用越来越广泛,得益于物联网的发展,很多定制设置在Android系统上外挂设备,如何与外挂设备进行双方通信,就需要串口来进行。
其实串口的通信和蓝牙的通信有很多相似的地方,数据帧的处理相似,只是连接通信的方式不同了而已,蓝牙的通信可以使用Android Api的方式,而串口源码精灵永久兑换码需要自己编译Ndk,这里把封装的工具类开源出来,希望对大家有帮助。
二. Android如何进行串口通信
在Android的Framwork中是没有相关的Api的,我们源码网站想进通信地址行串口的相关操作还是得借助于谷歌2012年的老库a通信技术ndroid-serialport-api。 项目结构如下:

编译NDK为对应的so库,如何使用Java调用想要的通信达方法,想想真令人头秃
网上有很人脸识别概念股多编译的教程了,如果觉得麻烦的同学可以往下看我的封装库
三. Android串口通教程英语信的封装
allprojects { repositories { maven { url 'https://jitpack.io' } } } implementation 'com.gitee.newki123456:serial_port_tools:1.0.0'
一句话解决源码网站串口通信:
private lateinit var mSerialPortManager: SerialPortManager var cmd = byteArrayOf(-91, 85, 1, -5) //开启通信的指令 //具体调用就是2个回调,设置串口,开启指令 mSerialPortManager = SerialPortManager() mSerialPortManager .setOnOpenSerialPortListener(object : OnOpenSerialPortListener { override fun onFail(paramFile: File?, paramStatus: OnOpenSerialPortListener.Status) { Toast.makeText(mContext,paramStatus.toString(),Toast.LENGTH_SHORT).show() } override fun onSuccess(paramFile: File) { } }) //设置串口的数据通信回调 .setOnSerialPortDataListener(object : OnSerialPortDataListener { override fun onDataReceived(paramAnonymousArrayOfByte: ByteArray) { //解析返回的数据转换为摄氏度 val i = paramAnonymousArrayOfByte[3] val f = (paramAnonymousArrayOfByte[2] + i * 255 + 20) / 100.0f val message = Message.obtain() message.obj = java.lang.Float.valueOf(f) message.what = 1 mHandler.sendMessage(message) } override fun onDataSent(paramArrayOfByte: ByteArray?) { } }) .openSerialPort(File("dev/ttyS3"), 115000) //打开指定串口 mSerialPortManager.beginBytes(cmd) //开启读取
重点概念:
串口路径 波特率 输入指定的指令
只要能通信了之后,处理数据的java环境变量配置逻辑其实就和蓝牙的数据帧处理很像啦。
项目介绍:
自定义Android设备,支持人脸识别打卡并外挂的红外温度传感器,我们再识别比对java模拟器到人脸成java编译器功之后需要通过串口拿到温度计的温度展示出来。
源码在此
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)