您的位置:首页 > 移动开发 > Android开发

只需java编程,就可实现工业自动化控制的Android工业平板电脑开发

2014-10-11 09:44 627 查看


产品特性

品牌:深圳扬创科技有限公司

液 晶 屏:10.4" TFT真彩液晶屏(4:3比例),分辨率 800×600

触摸规格: 100万次以上(笔尖0.8m㎡打键荷重250克力,打键速度2次/秒)

中央处理器:Cortex
A8 嵌入式ARM低功耗CPU,主频1G Hz

内  存: 512MB DDR2 SDRAM

存储设备:512MB Flash电子盘

扩展存储: SD卡存储最大支持扩展到32G

实测功耗:4.68W (未接任何外设,12V输入,实测390mA);

电源输入:DC 9V-24V宽压输入,建议DC 12V或者24V输入;

接  口:

2路RS-232接口;(带隔离),,1路调试串口RS-232(可开放给客户使用)

1路RS-485接口;(带隔离)

  2路USB 主口;

1路USB 从口;

1路网络接口;

8路 24V IO输入,带光电隔离;(选配)

8路 24V IO输出,带光电隔离;(选配)

其它:

内置RTC实时时钟(可断电保护)

看门狗管理(可调节看门狗时间)

内置蜂鸣器,提供函数控制发声;

防浪涌、防雷击、防反接、过流保护、宽电压;

应用环境

工作温度:-10℃-60℃

存储温度:-20℃-70℃

工作湿度:20%RH –95%RH,不可结露

产品规格

结  构:工业塑料结构

安  装:嵌入式

重 量: 1kg

1.3 软件规格

Android系统4.0.3版本,Linux内核版本采用3.0.8。

在ePC-A中编写应用程序,需要用到光盘中的库文件libycapi.so(在文件系统/system/lib下面存放有此文件)和com文件夹(为了用户使用方便和快速进入开发,编写了类文件YcApi.java),位置:光盘目录“testApp”->“ycapi”。用户使用Eclipse新建一个工程后,库文件的具体调用方法如下:

(1)在工程根目录下会生成一个libs目录,然后进入libs目录,在下面创建armeabi目录,拷贝光盘中提供的libycapi.so到armeabi目录下。

(2)拷贝光盘中提供的com文件夹到工程的src目录下。使用eclipse打开工程,选中工程,按F5刷新即可看到库文件和com文件夹已经添加到工程当中。

(3)库文件中函数的引用

引用库文件的接口,首先要在代码中导入YcApi类:

然后就可以直接调用YcApi提供的Api函数。例如调用蜂鸣器打开可以用:

2.4.1设置背光的功能

(1)booleanSetBackLight(int dx)

说明:设置背光亮度函数

参数:

intdx: 亮度从0~255,亮度依次增加。

(2)int GetBackLight()

说明:得到当前的背光亮度

参数:无

返回值:返回值为当前的背光亮度值

2.4.2看门狗功能

(1)int SetWDog(byte timeInterval)

说明: 设置看门狗超时值

参数:byte timeInterval:这里的范围是 0 < timeInterval <= 30 ,单位是秒

(2)int StartWDog()

说明: 启动看门狗

参数:无

(3)int FeedWDog()

说明:喂看门狗

参数:无

(4)int StopWDog()

说明: 停止看门狗

参数:无

2.4.3蜂鸣器开关功能

intSetBeep(boolean flag)

参数说明:

booleanflag:蜂鸣器打开:true

蜂鸣器关闭:false

2.4.4状态灯功能

ePC-A产品前面板总共有三个灯,此处控制的是中间的灯。

int SetLed(boolean flag)

参数说明:

booleanflag:状态灯打开:true

状态灯关闭:false

2.4.5 EEPROM读写功能

(1)String ReadE2PROM(intsubaddr, int len)

参数说明:

int subaddr:读的地址,0-255

intlen:读到的字符串

(2)int WriteE2PROM(int subaddr, String buf, intlen)

参数说明:

int subaddr:写的地址,0-255

String buf:

int len:写的字符串

Note:最大长度是255个字节

2.4.6进入系统后的开机画面更新功能

boolean UpdateLogo(int flag)

参数说明:

intflag:0:代表更新的是u盘中的logo,1:代表更新的是sdcard中的logo

注意:这里更新的logo是andorid启动时运行的动态logo,logo名称必须是bootanimation.zip,并且必须放在U盘或者SD卡的根目录。

2.4.7串口的打开和关闭

(1)FileDescriptor openCom(String path, int baudrate ,int databit,int paritybit,int stopbit)

参数说明:

a)String path:

ycapi.ttySAC0 :打开串口0,此串口为标准串口

ycapi.ttySAC1 :打开串口1,此串口为标准串口

ycapi.ttySAC3 :打开串口3,此串口为RS485

ycapi.ttySAC2 :串口2为DEBUG调试串口,供内部测试用

b)int baudrate:波特率

110 300 600 1200 2400 4800 9600 14400 19200

38400 43000 56000 57600 115200 128000 256000:代表支持的波特率

c)int databit: 数据位

5 6 7 8 : 代表数据位

d)int paritybit:校验位

这里默认是0(无校验),暂时不支持其他校验方式

e)int stopbit: 停止位

1 2 :代表停止位为1 和 2

返回值:FileDescriptor:返回打开串口的文件句柄,为Java的读写函数提供句柄参数。

(2)void closeCom()

说明:关闭串口

参数:无

用户编写串口程序时需要用到上面的函数来打开和关闭串口,串口的读写使用Java标准的文件输入输出流,如下图所示:

2.4.8 IO输入输出功能(此功能选配)

总共有16路IO口,默认配置为8路输入和8路输出。

(1)8路输出

boolean SetIO(int level , int ioNum);

参数说明:

int level: 0:低电平 1:高电平

int ioNum: 0-7 (分别代表要输出的IO口号:OUT0~ OUT7)

(2)8路输入

a) boolean SetIoMode(int ioNum,int ioMode ,int triggeredMode)

参数说明:

intioNum: 0-7 :分别代表要设置的IO口号:IN0 ~ IN7;0xf:代表设置所有的8路输入口为某种方式。

intioMode: IO_POLLING_MODE(查询模式)

IO_INTR_MODE (中断模式)

inttriggeredMode: IO_INTR_LOW_LEVEL_TRIGGERED 低电平触发

IO_INTR_HIGH_LEVEL_TRIGGERED 高电平触发

IO_INTR_FALLING_EDGE_TRIGGERED 下降沿触发

IO_INTR_RISING_EDGE_TRIGGERED 上升沿触发

IO_INTR_BOTH_EDGE_TRIGGERED 双沿触发

函数说明:

SetIoMode是设置8路输入口的接收方式,分为查询方式和中断方式,可以对每一个口单独配置为查询或者中断。

在配置为查询模式后此函数的第三个参数不起作用,可以设置为任意的整数。

在配置为中断模式后此函数的第三个参数来设置中断触发的模式,总共分为以上5种。

注意:系统中默认使用的8路输入IO口全是查询模式,可以通过以上函数设置为中断方式。

b) int GetIO(int ioNum,int flag)

参数说明:

int ioNum 0-7(分别代表要得到的IO口号:IN0 ~ IN7)

intflag: IO_POLLING_MODE(查询模式)

IO_INTR_MODE (中断模式)

返回值说明:

int:返回值是参数ioNum对应的IO口的高低电平。

c) 8路输入IO口使用说明

查询模式:系统默认8路输入IO全是查询模式,所以如果用户不需要中断模式,则可以直接通过GetIO函数来得到相应输入口的值为高电平还是低电平,不需要用到SetIoMode函数。

中断模式:系统默认8路输入IO全是查询模式,所以如果用户需要中断模式,则需要通过SetIoMode函数来设置相应IO口为中断模式,并且设置相应的中断触发方式。设置完成后,新起一个线程,调用GetIO函数,没有来中断之前一直阻塞,一旦系统收到中断,立即返回。

注意:以上所有函数的具体详细的用法,请参看光盘中的示例源码,目录:光盘/测试例程/ testApp / ychmi /

2.4.9有线网络的Mac地址设置

boolean SetMacAddr(String macAddr)

参数说明:

String macAddr:物理地址的设置,例如:00:09:c0:ff:ec:48

2.4.10命令调用功能

boolean SendCmd(String cmd)

参数说明:

String cmd:命令行的输入,例如:cp aa /data/local,就可以拷贝aa到/data/local目录下,无须考虑root权限问题。

2.4.11获得设备ID

importandroid.provider.Settings.Secure;

调用下面的函数得到ID,必须引用上面的文件。

Secure.getString(getBaseContext().getContentResolver(),Secure.ANDROID_ID)

返回值:

String类型的设备ID。

注意:此函数是Android的标准API函数,无须调用扬创的封装库(libycapi.so)来执行。

2.4.12隐藏和显示状态栏

Android4.0以上对平板全屏没有相应的支持,扬创为你提供了两种方式来支持你的应用全屏显示。

(1) 发送广播消息来显示和隐藏状态栏

隐藏状态栏:

sendBroadcast(new Intent("android.intent.action.HIDE_STATUS_BAR"));

显示状态栏:

sendBroadcast(new Intent("android.intent.action.DISPLAY_STATUS_BAR"));

(2) 全屏隐藏状态栏

首先在全屏应用的AndroidMainfest.xml中的语句android:theme中添加Fullscreen
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: