如何通过rs232 android进行串口通讯?(How to do serial communication via rs232 android?)

我有一个Android设备'Micronet A317',它有rs232 44针串口。 我还有另一种设备,即具有9针D-pad连接器的读卡器。 我已经使用一些转换器将两个设备(Android和读卡器)相互连接。 现在我的任务是在这两个设备之间进行串行通信。 请建议我这样做。

I have an android device 'Micronet A317' which has rs232 44 pins serial port. I have also another device i.e a card reader which has 9 pin D-pad connector. I have connected both device(Android & Card Reader) with each other by using some converter. Now my task is to make serial communication between these two device. Please suggest me to do it.

原文:https://stackoverflow.com/questions/29633860

更新时间:2020-01-03 23:20

最满意答案

你可以使用usb-serial-for-android库通过Android上的串口传输数据。 我已经使用插入Nexus 7 USB端口的USB转串口适配器+ USB主机线测试了这个库。

您的RS232端口应在内部表示为USB设备,否则此库将无法工作。

您还需要知道您的串行适配器类型(FTDI / Prolific / CdcAcm)并将USB设备VID / PID添加到相应的驱动程序文件以运行getSupportedDevices()。

您可以通过从设备上的root shell运行cat /proc/kmsg ,或通过检查目录/sys/class/tty来找到您的串行适配器类型和VID / PID

You can use usb-serial-for-android library to transfer data via serial port on Android. I've tested this library with USB-to-serial adapter + USB-host cable plugged into Nexus 7 USB port.

Your RS232 port should be represented as USB device internally, otherwise this library won't work.

You will also need to know your serial adapter type (FTDI/Prolific/CdcAcm) and add USB device VID/PID to the appropriate driver file to function getSupportedDevices().

You can find out your serial adapter type and VID/PID by running cat /proc/kmsg from root shell on your device, or by inspecting directory /sys/class/tty

2015-04-14

相关问答

看看线条学科 。 您可以使用它将tty设备附加到内核空间中定义的某些读写例程,从而使用串行线写入驱动程序。 行规则从用户空间附加到它,内核将完成所有其余工作。 一个很好的例子是slcan (drivers / net / can / slcan.c)。 可以在can-utils( https://gitorious.org/linux-can/can-utils )中找到处理此问题的libc调用的示例。 如果您更喜欢按照本书第18章的方式工作,那么Linux设备驱动程序将提供良好的第一步: htt

...

如果您正在开发Windows,则com0com项目可能是您正在寻找的。 它提供了通过nullmodem连接链接的虚拟COM端口对。 然后,您可以使用您喜爱的终端应用程序或任何您喜欢的数据发送到一个COM端口,并从另一个COM端口接收。 编辑: 正如托马斯指出,该项目缺乏一个签名的驱动程序,这在某些Windows版本(例如Windows 7 x64)上特别有问题。 有几个非官方的com0com版本,包含一个签名的驱动程序。 最近的一个版本(3.0.0.0)可以从这里下载。 If you are de

...

Android 2.2 API没有USB主机功能。 在Android 3.1之前,主机功能尚未提供。 这意味着您无法在v2.2手机上编写可控制USB通信的Android程序。 我也猜测即使您确实更新了操作系统,手机也没有为总线供电所需的USB-A端口。 Android 2.2 API does not have USB host capabilities. Host capabilities was not made available until Android 3.1. This means

...

我用了几天,但我认为这只是一个30天的版本,所以你将不得不购买更长时间的使用... 然而,对我而言,不同的选择似乎相当不错,特别是因为你有不同的观点,取决于你想深入沟通的深度。 I used this for a couple of days, but I think it is only a 30 day version, so you would have to purchase it for longer use... However, the different options seeme

...

问题是RTS和DTR线的默认设置是高,所以我需要使用另一个setParams方法,并根据设备的需要将RTS线设置为false。 解: serialPort.setParams(9600, 8, 1, 0, false, true);

The problem was that the default setting of RTS and DTR line is High so i need to use another setParams method and set the RTS line t

...

你可以使用usb-serial-for-android库通过Android上的串口传输数据。 我已经使用插入Nexus 7 USB端口的USB转串口适配器+ USB主机线测试了这个库。 您的RS232端口应在内部表示为USB设备,否则此库将无法工作。 您还需要知道您的串行适配器类型(FTDI / Prolific / CdcAcm)并将USB设备VID / PID添加到相应的驱动程序文件以运行getSupportedDevices()。 您可以通过从设备上的root shell运行cat /pro

...

在意识到“Prolific和FTDI是竞争对手”后,我购买了Ftdi US232R-10 ,这是一款基于FT232R的设备,并规定了1 MBd的传输速率。 使用这个适配器,我成功通过传输一些GiB数据而无任何错误(包括使用Rts / Cts硬件流量控制),以1 MBd测试通信。 使用stty配置此设备,如下所示: $ stty -F /dev/ttyUSB0 1000000 raw

成功运作。 After the realization that »Prolific and FTDI are c

...

我们没有太多要继续下去,因为我们没有您正在与之通信的设备的文档,所以我们无法检查串口设置,或者您写入端口的4字节数据是要发送给它的正确消息。 由于您将握手设置为无,因此您可能希望将DtrEnable和RtsEnable设置为要发送的设备的真实典型设置。 检查可能是一个问题的另一件事是数据的“终结性”。 如果您发送的数据包含多字节值且一个设备是big-endian而另一个设备是little-endian,那么发送字节的顺序很重要,请参阅以下更详细的说明 。 不幸的是,它通常归结为尝试设置,甚至使用H

...

是的,waitForBytesWritten()不会解决这个问题。 只有你可以做的其他事情是在等待调用后休眠一段时间,从而给设备一些时间来处理你刚才写的命令。 究竟睡多长时间当然是盲目猜测,它不一定是常数。 首先关注启用握手,通常会经常忽略。 QSerialPort :: setFlowControl()函数。 一个不错的设备将使用其RTS信号关闭您的CTS输入(清除发送),当它还没有准备好接收任何东西时。 Qt支持CTS / RTS握手,您使用QSerialPort :: HardwareCon

...

您必须使用硬件解决方案。 像这样的东西。 鉴于它非常昂贵,您可以考虑使用Rasperry PI或甚至基于Arduino的解决方案。 You must use hardware solution. Something like this. Given it's quite expensive, you may consider looking at Rasperry PI or even Arduino-based solution.

android设备rs232数据格式,如何通过rs232 android进行串口通讯?(How to do serial communication via rs232 android?)...相关推荐

  1. 是否有唯一的Android设备ID?

    Android设备是否具有唯一的ID,如果是,则使用Java访问它的简单方法是什么? #1楼 有许多不同的方法可以解决这些ANDROID_ID问题(有时可能为null或特定模型的设备总是返回相同的ID ...

  2. 以wifi为媒介,linux系统与android设备交互

    -.通过hostapd.dhcp和iptables创建wifi热点 我早在三年前,就注意android了.不过最近才买了台天宇w719,而之前我一直在用MTK平台手机. 买手机之前一个星期内,我通过互 ...

  3. android chrome html,在桌面chrome中调试android设备中的web页面

    准备工作 1, 桌面版chrome 2, Android设备(安装有chrome浏览器) 3, Android-sdk Android-sdk安装及设置 SKD安装 从http://developer ...

  4. ubuntu调试android设备不识别

    ubuntu14.04 调试android设备不识别 adb devices List of devices attached7b55de83 no permissions (verify udev ...

  5. iOS上架之android设备uuid、udid使用教程

    前言 udid: UDID是Unique Device Identifier的缩写,中文意思是设备唯一标识. uuid: UUID是Universally Unique Identifier的缩写,中 ...

  6. Android设备获取唯一识别码

    Android系统以及设备都有很多的"标识"号,比如常见的IMEI,SerizalNumber,UUID等概念,但是这些都存在一定程度上的不可靠性,到底如何标记一台Android设 ...

  7. 连接android设备

    一,WIFI连接 1,将android设备接入wifi 2,查看设备IP:设置-->无线和网络-->WLAN-->WLAN设置(在右上角)-->IP地址 :192.168.13 ...

  8. Android设备的USB通讯

    摘 要: AOA协议是Google公司推出的用于实现Android设备与外围设备之间USB通信的协议.该协议拓展了Android设备USB接口的功能,为基于Android系统的智能设备应用于数据采集和 ...

  9. Android设备通过USB线连接PC进行Socket通信

    Android设备分别作为客户端和服务端与PC通讯 背景简介 核心原理 整体思路 代码讲解 1.创建广播监听类ConnectStateReceiver 2.建立Socket连接 3.Socket连接成 ...

最新文章

  1. 如何检查密钥库文件中的证书名称和别名?
  2. ASP.NET页面的生命周期
  3. 忍一时得寸进尺, 退一步变本加厉。
  4. 团队开发个人总结05
  5. 节约里程法java代码_患者,男,70岁,有多年排尿困难,呈淋漓状,近2年来双侧腹股沟区出现半年圆形肿块,站立时明显,平卧后消失,体检时压迫内环肿块仍出现,诊断为...
  6. 年底求职难?起薪28万的数据岗位,人才缺口达150万,不限专业学历……
  7. python dataframe 新列_Python第二十四课:Pandas库(四)
  8. python程序框架的描述_简单介绍Python下自己编写web框架的一些要点
  9. 在debian上安装vmware tools的问题
  10. 你是否理解js的Object与Function与原型链
  11. Spring定时器corn表达式详解
  12. 苹果Mac电脑配置flutter开发环境
  13. ckpt下载 deeplabv3_Ubantu下 用deeplabV3+训练自己的数据集 你可能遇到的所有坑都在这了...
  14. 南京地图全图 南京卫星地图下载 百度高清卫星地图含道路、标签信息叠加
  15. UG基础知识学习视频目录整理(制图篇)
  16. ES异常 : Validation Failed: 1: no requests added
  17. 夜曲 文/江湖一劍客
  18. pyrouge和rouge在Linux上的安装方法以及结果比较
  19. scrapy爬虫 出现10054错误 远程主机强迫关闭了一个现有的连接
  20. JDK与JER的区别

热门文章

  1. gitlab下载地址
  2. 前置器330780-50-00
  3. 智慧路灯的定义及功能有哪些?
  4. ClearType使用的问题
  5. Windows下创建隐藏账户、影子账户
  6. 情人节程序员用HTML网页表白【做我女朋友】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
  7. 长三角如何成为人才净流入最高的城市群?
  8. C语言二分法查找详解
  9. 资源的最小单位是什么
  10. 如何学习python数据分析?