Android双应用进程Demo程序设计

本文介绍了Android工控应用方案,采用双应用进程,包括一个C/C++控制进程和Java人机界面进程。控制进程独立运行,两者通过本地IP通讯。设计目的是验证方案可行性,提供源码供参考。
摘要由CSDN通过智能技术生成

  Android是移动设备的主流操作系统,近年来越来越多的工业领域的客户开始关注基于Android操作系统的设备在工控领域的应用。鉴于Android是基于Linux内核的事实,我们发展了一种以双应用进程为特色的Android工控应用方案,并在ESM6802工控主板上加以实现。具体说来,就是在Linux平台上运行一个直接操作硬件接口的控制通讯管理进程,为保证运行效率,该进程采用C/C++语言编写(以下简称C进程或控制进程);另一方面在Android平台采用标准Java语言编写一个人机界面进程(以下简称Java进程)。底层的控制进程并不依赖与上层的Java进程而独立运行,两个进程之间通过本地IP进行通讯,控制进程处于服务器侦听模式,Java进程则为客户端模式。本方案的主要优点是客户可以直接继承已有的现成应用程序作为底层控制进程的基础,仅仅增加标准的Socket侦听功能,即可快速完成新的底层应用程序的设计。而界面的Java程序,由于不再涉及具体的工控硬件接口,属于单纯的Android程序,编程难度也大大降低。

 

  设计Android双应用进程Demo程序的目的就是验证“双应用进程”Android工控应用方案的可行性,同时起到一个抛砖引玉的作用。本设计文档将具体讲解设计思路,约束通信协议和接口。

 

1、总体描述

 

  总体要求如下:

  ● 采用C/S(客户端/服务端)模式,通过socket连接,通信需要自定义通信协议

  ● 客户端使用Java语言开发,主要是人机交互,查询以及简单的设置功能

  ● 服务端使用C/C++语言开发,主要是各个功能模块的业务逻辑正常运行,以及接收处理客户端的人机交互请求

  ● 服务端各个功能模块的业务逻辑部分始终正常运行,客户端连接与否,不影响各个模块的工作

  ● 客户端接入后,固定周期向服务端发出刷新数据请求,服务端响应后,客户端仅刷新有改变的UI部件

 

Android双应用进程Demo程序设计.gif

图1 C/S工作模式示意图

 

  如图1所示,Android开机后,服务端C/C++程序自动运行,此时整个控制系统已经运转起来,各个功能模块下的设备都已进入正常工作模式。这里以GPIO和串口设备作为示例,其中GPIO模拟开关状态变量,串口模拟通信设备。server模块监听client的连接,当有client接入后,响应client的请求,将GPIO状态、串口的数据统计信息,按照自定义的通信协议封装成协议包,通过socket发送给client。如果没有client接入,或者client接入断开,各个功能模块依然正常工作。也就是说,服务端C/C++程序完全可以在没有客户端的情况下,自

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值