- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android双应用进程工控方案(二).PDF
成都英创信息技术有限公司 Android 双应用进程Demo 程序设计
Android 双应用进程工控方案(二)
Android 双应用进程Demo 程序设计
英创公司
2017 年12 月
Android 是移动设备的主流操作系统,近年来越来越多的工业领域的客户开始关注基于
Android 操作系统的设备在工控领域的应用。鉴于Android 是基于Linux 内核的事实,我们
发展了一种以双应用进程为特色的Android 工控应用方案,并在ESM6802 工控主板上加以
实现。具体说来,就是在Linux 平台上运行一个直接操作硬件接口的控制通讯管理进程,为
保证运行效率,该进程采用 C/C++语言编写(以下简称 C 进程或控制进程);另一方面在
Android 平台采用标准Java 语言编写一个人机界面进程(以下简称Java 进程)。底层的控
制进程并不依赖与上层的 Java 进程而独立运行,两个进程之间通过本地 IP 进行通讯,控
制进程处于服务器侦听模式,Java 进程则为客户端模式。本方案的主要优点是客户可以直
接继承已有的现成应用程序作为底层控制进程的基础,仅仅增加标准的 Socket 侦听功能,
即可快速完成新的底层应用程序的设计。而界面的Java 程序,由于不再涉及具体的工控硬
件接口,属于单纯的Android 程序,编程难度也大大降低。
设计Android 双应用进程Demo 程序的目的就是验证“双应用进程”Android 工控应用
方案的可行性,同时起到一个抛砖引玉的作用。本设计文档将具体讲解设计思路,约束通信
协议和接口。
一、总体描述
总体要求如下:
采用C/S (客户端/服务端)模式,通过socket 连接,通信需要自定义通信协议;
客户端使用Java 语言开发,主要是人机交互,查询以及简单的设置功能;
服务端使用 C/C++语言开发,主要是各个功能模块的业务逻辑正常运行,以及接收处
理客户端的人机交互请求;
服务端各个功能模块的业务逻辑部分始终正常运行,客户端连接与否,不影响各个模块
1 / 11
成都英创信息技术有限公司 Android 双应用进程Demo 程序设计
的工作;
客户端接入后,固定周期向服务端发出刷新数据请求,服务端响应后,客户端仅刷新有
改变的UI 部件。
Android界面
客户端 人机交互 JAVA
Client
Socket
C/C++
服务端 Server
Server
Register device pointer
GPIO设备 串口设备 其他设备
图1 C/S 工作模式示意图
如图1 所示,Android 开机后,服务端C/C++程序自动运行,此时整个控制系统已经运
转起来,各个功能模块下的设备都已进入正常工作模式。这里以GPIO 和串口设备作为示例,
其中GPIO 模拟开关状态变量,串口模拟通信设备。server 模块监听client 的连接,当有
client 接入后,响应client 的请求,将GPIO 状态、串口的数据统计信息,按照自定义的通
信协议封装成协议包,通过socket 发送给client 。如果没有client 接入,或者client 接入断
开,各个功能模块依然正常工作
文档评论(0)