YC-WT540-L 物联网智能网关使用手册
一、YC-WT540-L 物联网智能网关综合描述
1.1 规格尺寸
总体尺寸:
136.00×104.00×40.00mm
1.2 硬件规格
产品特性
中央处理器:
Cortex A8
嵌入式
ARM
低功耗
CPU
,主频
800MHz
;
内存
RAM
:
512M Bytes DDR3 SDRAM
;
Flash
存储:
4G EMMC
;
扩展存储:
SD
卡存储最大支持扩展到
32G
;
实测功耗:
2.6W
;
电源输入:建议
DC 12V
或者
24V
输入;
接 口
1
路
USB
主口;
2
路
RS-232
接口;
2
路
RS-485
接口;
2
路
10/100M
网络接口;
音频输出(选配);
8
路
12/24V
开关量
IO
输入输出(选配)
4G
通信(选配);
1
路
CAN
总线接口(选配);
Wifi
(选配);
支持
Lora
模块(选配)
其它:
内置
RTC
实时时钟(可断电保护);
看门狗管理(可调节看门狗时间);
内置蜂鸣器,提供函数控制发声;
防浪涌、防雷击、防反接、过流保护、宽电压;
应用环境
工作温度:﹣
10
℃
-60
℃
存储温度:﹣
20
℃
-70
℃
工作湿度
:
20%RH –95%RH,
不可结露
产品规格
结 构:嵌入式铝合金外壳
重 量: 0.5kg
1.3 软件规格
Linux
内核版本
3.2
。
特色功能
支持
SD
卡现场在线升级
Linux
系统和用户应用程序;
支持开机自启动应用程序设置;
1.4 对外接口说明
电源输入
GND
:接地;
9-24
标示:接电源,推荐接
12V
或
24V
输入;
EARTH:
外壳地
USB主口
可接鼠标、键盘、
U
盘等标准
USB
设备;
网口
双网口(
LAN0
,
LAN1
),
100M
以太网接口;
SD卡接口
SD
小卡座,可以通过这个接口扩展存储容量;
SIM卡接口(此功能选配)
支持 4G 全网通 SIM 卡
Switch
电源开关接口
Wifi
天线
4G
天线
串口(RS232和RS485)与CAN接口
IO输入输出(此功能选配,各8路):
2 组 10 PIN 绿色端子座(详见壳体丝印)
IO 外部电源接口:IO_VCC,IO_GND
8 路输入接口:IN0,IN1,IN2,IN3,IN4,IN5,IN6,IN7
8 路输出接口:OUT0,OUT1,OUT2,OUT3,OUT4,OUT5,OUT6,OUT7
IO输出公共端:COM0,COM1
二、 YC-WT540-L 系统软件特性
YC-WT540-L
的
Linux
内核版本是
3.2.0
,交叉编译工具是:
gcc-linaro-arm-linux-gnueabihf-
4.7-2013.03-20130313_linux.tar.bz2
。
注意:
APP
例程和文件系统源码包在网盘资料中均有提供。
2.1 如何更新系统
YC-WT540-L
支持
TF
卡更新开机画面、内核和文件系统,具体操作步骤:
在进行以下操作之前,确保
TF
卡通过
PC
机格式化成
FAT32
格式,未在
PC
端做过格式化
FAT32
的,
有很大概率在更新的时候识别不上
TF
卡。
a)
网盘资料目录
“
烧写文件
”
下面的
“ePC”
文件夹和
sdupdate.ini
文件同时拷贝到
TF
卡根目录下, 如果
客户需要更新自己制作的文件系统,如
2.5
小节所示,则把生成的
system.img
或
ubi.img
文件放在此
ePC
文
件夹,一起更新或者单独更新即可,无系统问题,不建议客户随意更新系统。
sdupdate.ini
文件里参数介绍:
YCDLcdType=5
YCUpdateDir=ePC
这个参数指明要更新的系统文件所在的目录,名字只能是字符,且不建
议超过
8
个字符;
b)
把
TF
卡插入,给
YC-WT540-L
上电,此后等待更新,直到蜂鸣器一直循环发出嘀嘀声,拔出
TF
卡,重
新上电进入系统。
注意:升级完成及时拔出
TF
卡,防止重复升级。
2.2 扬创系统主程序
WT540
由于没有界面,我们编写了一个和
PC
机进行网络通信的
SOCKET
程序,来进行测试:
SOCKET
服务端程序:运行在
WT540
上,程序存放目录为
/yctek/app/SysLauncherC
。
SOCKET
客户端程序:运行在
PC
机上,程序名称为
YC_WTX_PC
。
下图为
WTX
的主界面,测试之前,先直连
PC
机和
WT540
,然后
PC
机
ping 192.168.2.253
,看是否
ping
通成
功后,可以正常测试。
2.2.1 蜂鸣器和灯
点击启动主界面中的蜂鸣器和灯按钮,可以听到蜂鸣器响声,看到
LED
状态灯闪烁
2.2.2 CPU 自带看门狗
点击
CPU-
看门狗按钮,
YC-WT540-L
过一秒自动复位。
2.2.3 外置看门狗控制
点击主界面中的外置看门狗按钮,
YC-WT540-L
过一秒自动复位。
注意:由于外置看门狗不喂狗最大间隔时间只有
1.3-2
秒左右,时间非常短暂,客户尽量使用
CPU
自带的看
门狗,只有程序非常简单,保证时间的情况下才可以使用。
2.2.4 设置时间
点击设置时间按钮,程序会自动发送
PC
电脑的当前时间给
YC-WT540-L
,并且设置
YC-WT540-L
的当前时间为
PC
机电脑的当前时间。
2.2.5 播放声音(预留,客户需要可单独定制)
2.2.6 开关值
YC-WT540-L
有一个拨码开关引出,程序会引出一个
api
,来查询得到当前的开关的值,客户可以根据自己的
需要灵活配置自己的功能。
点击开关值按钮,可以在下面的编辑框中,显示当前拨码开关的值,是
0
还是
1
。
2.2.7 EEPROM
点击
EEPROM
按钮,如果正确下方图片显示为绿色,否则显示为红色。
2.2.8 U 盘和 TF/SD 卡
点击
U
盘和
SD
卡按钮,
SysLauncherC
程序会主动查询
U
盘或者
SD
卡根目录下有没有
yctest.txt
文件,如果有
下方图片显示为绿色,代表
U
盘或者
SD
卡加载正常,否则显示为红色。
2.2.9 串口测试
在
Open
按钮下面输入,
PC
机当前使用的串口号,软后点击
Open
按钮,打开
PC
机的串口,然后依次点击串
口
1 2 3 4 5
来测试,如果正确下方图片显示为绿色,否则为灰色。
默认串口
0
是调试串口,测试时候注意。
2.2.10 全网通 4G 测试
YC-WT540-L
的
4G
模块是全网通的,分别对应不同的拨号脚本,联通、移动和电信,点击对应的按钮进行拨
号。
2.2.11 WIFI 测试
点击
YC-WIFI
按钮进行
WIFI
连接,这里默认是连接本公司的网络,如果用户测试
WIFI
,详细看
api
介绍的
WIFI
命令一节。
2.2.12 IO 口测试
分别点击全部输出高按钮,全部输出低按钮,会启动继电器的通断,同时输入口的高低电平,可以读出显示
到下面的
8
个框中:
2.2.13 CAN 口测试
CAN
口测试的时候,需要物联网关中手动运行
/yctek/app/can
,然后
PC
机运行
CAN
模块,测试
can
功能。
2.3 YC-WT540-L API 函数
在
YC-WT540-L
中编写应用程序,需要用到网盘资料中的库文件和头文件,位置:网盘资料目录
“
库和例程
”
下
的
libycapic.so
库文件、相应的头文件
ycapic.h,
下面根据每个功能划分为几部分,分别对各个功能需要调用的函
数进行详细的介绍。
(
1
)
#include "ycapic.h"
在要引用函数的文件中添加。
编译时如上图所示。
2.3.1 蜂鸣器开关功能
蜂鸣器控制:
int BeepOn(int bStatus)
参数说明:
bool bStatus
:
蜂鸣器打开
:1
蜂鸣器关闭
:0
2.3.2 状态灯功能
状态灯的控制:
int SetLed(int bStatus)
参数说明:
bool bStatus
:状态灯打开
:1
状态灯关闭
:0
2.3.3 看门狗功能
(1)
设置看门狗超时值:
int SetWDog(int interval)
参数说明:
int interval
:这里的范围是
0 < interval <= 30 ,
单位是秒
(2)
启动看门狗:
int
StartWDog()
参数说明:
无
(3)
喂看门狗:
int FeedWDog()
参数说明:
无
(4)int StopWDog()
参数说明:
无
2.3.4 EEPROM 读写功能
(1)
读函数原型:
int ReadEEPROMLen(int addr,char *buf,int len)
参数说明:
int addr :
读的地址,
0-255
char *buf:
读到的字符串
int len:
读字节的长度
(2)
写函数原型:
int WriteEEPROM(int addr,char *buf,int len)
参数说明:
int addr :
写的地址,
0-255
char *buf:
写的字符串
int len:
写字节的长度
2.3.5 IO 输入输出功能(此功能选配)
YC-WT540-L
总共有
16
路
IO
口,默认配置为
8
路输入和
8
路输出。
2.3.5.1 8 路输出
bool SetIO( unsigned char level , unsigned char ioNum)
参数说明:
unsigned char level: 0
:低电平
1
:高电平
unsigned char ioNum: 0-7(
分别代表要输出的
IO
口号:
OUT0 ~ OUT7)
2.3.5.2 8 路输入
(注意:
8
路输入中只有
IN0-IN3
可以使用中断输入和查询输入,
IN4-IN7
只能用查询输入)
(1)bool SetIoMode(int ioNum,int ioMode ,int triggeredMode)
参数说明:
int ioNum:
0-3
:分别代表要设置的
IO
口号:
IN0 ~ IN3
;
0xf
:代表设置所有的
4
路输入口为某种方
式。
int ioMode: IO_POLLING_MODE (
查询模式
)
IO_INTR_MODE
(
中断模式
)
函数说明:
SetIoMode
是设置
4
路输入口的接收方式,分为查询方式和中断方式,可以对每一个口单独配置为查询或者
中断。
在配置为查询模式后此函数的第三个参数不起作用,可以设置为任意的整数。
在配置为中断模式后此函数的第三个参数来设置中断触发的模式,总共分为以上
5
种。注意:系统中默认使
用的
4
路输入
IO
口全是查询模式,可以通过以上函数设置为中断方式。
(2)unsigned char GetIO(unsigned char * level ,unsigned char ioNum)
参数说明:
unsigned char * level: 0
:得到低电平
1
:得到高电平
unsigned char ioNum: 0-7 (
分别代表要得到的
IO
口号:
IN0 ~ IN7)
返回值说明:
Unsigned char
:如果
ioNum
在
0-3
,则返回的是所有
IN0-IN3
输入
IO
口的当前高低状态,否则返回
的是所有
IN4-IN7
输入
IO
口的当前高低状态。
(3)bool GetIoBlockMode( unsigned char * level,unsigned char ioNum)+
参数说明:
unsigned char * level: 0
:得到低电平
1
:得到高电平
unsigned char ioNum: 0-3(
分别代表要得到的
IO
口号:
IN0 ~ IN3)
函数说明:此函数是用于
IO
口配置为中断模式后,用户在一个线程中调用此函数,当要读取的
IO
口
(
ioNum
)中断产生的时候才会返回,否则一直阻塞,所以此函数只能是用在
IO
口设置为中断方
式后才可以用。
(4)8
路输入
IO
口使用说明
查询模式:系统默认
8
路输入
IO
全是查询模式,所以如果用户不需要中断模式,则可以直接通过
GetIO
函数来得到相应输入口的值为高电平还是低电平,不需要用到
SetIoMode
函数。
中断模式:系统默认
4
路(
IN0-IN3
)输入
IO
全是查询模式,所以如果用户需要中断模式,则需要通过
SetIoMode
函数来设置相应
IO
口为中断模式,并且设置相应的中断触发方式。设置完成后,新起一个线程,调
用
GetIoBlockMode
函数,没有来中断之前一直阻塞,一旦系统收到中断,立即返回。
2.3.6 外置看门狗
(1)
启动看门狗:
int StartIoWDog()
参数说明:
无
(2)
喂看门狗:
int FeedIoWDog()
参数说明:
无
(3)
停止看门狗
int StopIoWDog()
参数说明:
无
2.3.7 开关状态
Char GetSwitch();
参数说明:
无
返回值:开关的值,
0
或者
1
2.3.8 WIFI 测试
(1)
连接
WIFI
busybox insmod /etc/wifi/8188eu.ko
//
加载
WIFI
模块
ifconfig wlan0 up
//
启动
WIFI
/etc/wifi/wlan.sh WIFISSID WIFI
密码
//
连接
WIFI
udhcpc -i wlan0&
//
为
WIFI
分配动态
IP
地址
(2)
查询
WIFI
网络的命令
iwlist wlan0 scan
2.3.9 4G 功能的使用
(1)WT540
可以集成全网通
6
模
4G
模块,使用方法如下,确保信号良好的情况下,直接命令行运行以
下脚本:
/yctek/app/yctek-4G-yuga-LianTong& (
联通运营商
)
/yctek/app/yctek-4G-yuga-DianXin& (
电信运营商
)
/yctek/app/yctek-4G-yuga-YiDong& (
移动运营商
)
注意添加后面的
&
后台运行符号。
(2)
查询
4G
的信号的命令
AT+CSQ
信号可以用来查询信号强度
——
一般要在
+CSQ: 10
以上,拨号才会正常
echo -en "AT+CSQ\r\n" > /dev/ttyUSB1;cat /dev/ttyUSB1
+CSQ: 18,99
OK
(3)int PowerOn4G(int status)
软件控制
4G
模块的断电和上电功能。
一般无需使用此
API
。
2.3.10 CAN 功能
(1)void OpenCan(int baudrate)
参数说明:
int baudrate
:
CAN
总线的波特率设置,支持波特率如下:
20000, 40000, 50000, 80000,
100000,125000, 200000, 250000, 400000,500000, 666000, 800000, 1000000
打开
CAN
句柄。
(2)int WriteCan(int can_id,unsigned char * data, unsigned char dlc)
参数说明:
int can_id
:发送帧
ID
unsigned char * data
:发送的数据
unsigned char dlc
:发送数据的长度发送数据。
返回值:
写入的字节数
(3)int ReadCan(unsigned int *can_id, unsigned char * can_dlc, unsigned char * data)
参数说明:
unsigned int *can_id
:读到的发送帧
ID
unsigned char * can_dlc
:读到的发送数据的长度
unsigned char * data:
读到的
CAN
数据
返回值:
读到的字节数
(4)void CloseCan()
关闭
CAN
句柄。
2.4 YC-WT540-L 网络操作测试
2.4.1 telnet 测试
WT540-L Linux
启动运行后,连接网线到
WT540-L
上,物联网控制器
LAN1
默认
IP
地址为
192.168.2.253
(以
实际平板
IP
地址为准),通过
PC
机
ping
此板,看是否能
ping
通,如果可以继续下一步,否则检查网络,直
到
ping
通。
注意:
telnet
不能使用
root
登录,登录前需要先用调试串口,登入,使用
adduser xxx
建立新的用户名和密
码进行登录,如下图所示:
用户在
windows
的命令行中通过网络远程登陆物联网控制器。
在
windows
的开始菜单,
“
运行
”
中输入
cmd
,然后在命令行窗口中输入:
telnet 192.168.2. 253
登陆界面如下所示,在
“YCTEK login
:
”
输入新添加的用户即可。
2.4.2 ftp 测试
WT540-L Linux
启动运行后,连接网线到
WT540-L
上,物联网控制器默认
IP
地址为
192.168.2.253
(以实际
平板
IP
地址为准),通过
PC
机
ping
此板,看是否能
ping
通,如果可以继续下一步,否则检查网络, 直到
ping
通
然后
IP
地址,匿名登陆即可,登陆后如下图所示:
此时可以通过拖入拖出来实现上传和下载功能。
用户也可以通过
windows
的命令行中输入
ftp 192.168.2.253
登陆,方式与
telnet
类似。
2.4.3 ssh 测试
WT540-L Linux
支持
ssh
登录,在登录
ssh
前,首先要串口终端进入或者
telnet
进入终端,首先设置平板的
root
的密码,命令如下:
然后通过
ssh
工具,登录如
2.5 文件系统的制作
通常情况下,用户编译好应用程序,测试
ok
后,用户在编写自己的应用程序后,有时候需要打包到文件系统
中,这时就需要制作文件系统。文件系统包在网盘资料
/
文件系统源码
/ycxxx-system-xxx.tar.gz
中。
tar –xvzf ycxxx-system-xxx.tar.gz cd ycxxx-system
./ycmake-emmc(emmc
版本) 或者
./ycmake
(
nand flash
版本)
解压
ycxxx-system-xxx.tar.gz
修改
system
后,用
ycxxx-system
里面的脚本文件运行即可制作文件系统映像。
最终在
ycxxx-system
的同级目录下,生成文件为
system.img(emmc
版本
)
或者
ubi.img
(
nand flash
版本)
三、YC-WT540-L Linux 物联网控制器编程指南
3.1 开发环境的搭建
拷贝网盘资料工具下的
gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2
,到
PC
机
Linux
下的目录中,并且通过以下命令解压:
cd /work/yctools/
tar –xvjf gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2
本文默认解压目录到
/work/yctools/
本文用到的
Linux
是
Ubuntu
,环境变量配置如下图所示:
命令输入:
gedit /etc/bash.bashrc(
其他的非
Ubuntu
的目录稍有不同)
作者:网络用户8899