安装easycwmp和openacs,fishcorecep测试

一、安装easycwmp
首先安装编译所需环境
apt-get install cmake
apt-get install libtool
apt-get install autoconf automake
apt-get install valgrind

1、libuci
依赖ubox
git clone http://git.nbd.name/luci2/libubox.git libubox.git
cd libubox.git
cmake -DBUILD_LUA=off
make install

ln -sf /usr/local/lib/libubox.so /usr/lib/libubox.so
mkdir -p /usr/share/libubox
ln -sf /usr/local/share/libubox/jshn.sh /usr/share/libubox/jshn.sh

git clone https://git.openwrt.org/project/uci.git uci.git
cd uci.git
cmake -DBUILD_LUA=off
make install

2、libcurl
apt-get install libcurl4-openssl-dev

3、json-c
cd json-c-json-c-0.11
./autogen.sh
./configure
make CFLAGS='-Wno-implicit-fallthrough'
make install
ln -sf /usr/local/include/json-c /usr/include/json

4、libubox
步骤1已经安装了

5、libubus
apt-get install pkg-config
git clone git://nbd.name/luci2/ubus.git ubus.git
cd ubus.git
cmake CMakeLists.txt -DBUILD_LUA=OFF
提示: package 'systemd' not found
可以不用担心该提示
make
make install
ln -sf /usr/local/sbin/ubusd /usr/sbin/ubusd
ln -sf /usr/local/lib/libubus.so /usr/lib/libubus.so

6、microxml
git clone https://github.com/pivasoftware/microxml.git microxml.git
cd microxml.git
autoconf -i
./configure --prefix=/usr --enable-threads --enable-shared --enable-static
make
make install

7.easycwmp安装
1). 获取源码
wget http://easycwmp.org/download/easycwmp-1.8.6.tar.gz
tar -xzvf easycwmp-1.8.6.tar.gz
mv easycwmp-1.8.6 /opt/easycwmp
cd /opt/easycwmp/

2). 配置
autoreconf -i
./configure --enable-debug --enable-devel --enable-jsonc=1

3). 编译安装
make

4). 准备配置开发环境
4.1) 创建脚本存放目录
mkdir -p /usr/share/easycwmp/functions
mkdir -p /etc/easycwmp

4.2) 创建easycwmp脚本运行的符号链接

ln -sf /opt/easycwmp/ext/openwrt/scripts/easycwmp.sh /usr/sbin/easycwmp
ln -sf /opt/easycwmp/ext/openwrt/scripts/defaults /usr/share/easycwmp/defaults
ln -sf /opt/easycwmp/ext/openwrt/scripts/functions/common/common /usr/share/easycwmp/functions/common
ln -sf /opt/easycwmp/ext/openwrt/scripts/functions/common/device_info /usr/share/easycwmp/functions/device_info
ln -sf /opt/easycwmp/ext/openwrt/scripts/functions/common/management_server /usr/share/easycwmp/functions/management_server
ln -sf /opt/easycwmp/ext/openwrt/scripts/functions/common/ipping_launch /usr/share/easycwmp/functions/ipping_launch
ln -sf /opt/easycwmp/ext/openwrt/scripts/functions/tr181/root /usr/share/easycwmp/functions/root
ln -sf /opt/easycwmp/ext/openwrt/scripts/functions/tr181/ip /usr/share/easycwmp/functions/ip
ln -sf /opt/easycwmp/ext/openwrt/scripts/functions/tr181/ipping_diagnostic /usr/share/easycwmp/functions/ipping_diagnostic

chmod +x /opt/easycwmp/ext/openwrt/scripts/functions/*

4.3) 创建easycwmp配置文件的符号链接
mkdir /etc/config
ln -sf /opt/easycwmp/ext/openwrt/config/easycwmp /etc/config/easycwmp
4.4) 创建easycwmpd进程的符号链接
ln -sf /opt/easycwmp/bin/easycwmpd /usr/sbin/easycwmpd

4.5) export 在easycwmp脚本运行的环境变量
export UCI_CONFIG_DIR="/opt/easycwmp/ext/openwrt/config/"
export UBUS_SOCKET="/var/run/ubus.sock"

4.6) 使用Openwrt脚本测试是否easycwmp安装成功?
mkdir -p /lib/{config,functions}
wget http://pastebin.lukaperkov.net/openwrt/20121219_lib_functions.sh -O /lib/functions.sh
wget http://pastebin.lukaperkov.net/openwrt/20121219_lib_config_uci.sh -O /lib/config/uci.sh
wget http://pastebin.lukaperkov.net/openwrt/20121219_lib_functions_network.sh -O /lib/functions/network.sh

bash /usr/sbin/easycwmp get
你应该看到如下:
{ "parameter": "Device.DeviceInfo.Manufacturer", "fault_code": "", "value": "easycwmp", "type": "xsd:string" }
{ "parameter": "Device.DeviceInfo.ManufacturerOUI", "fault_code": "", "value": "FFFFFF", "type": "xsd:string" }
{ "parameter": "Device.DeviceInfo.ProductClass", "fault_code": "", "value": "easycwmp", "type": "xsd:string" }
{ "parameter": "Device.DeviceInfo.SerialNumber", "fault_code": "", "value": "FFFFFF123456", "type": "xsd:string" }
{ "parameter": "Device.DeviceInfo.HardwareVersion", "fault_code": "", "value": "example_hw_version", "type": "xsd:string" }
{ "parameter": "Device.DeviceInfo.SoftwareVersion", "fault_code": "", "value": "example_sw_version", "type": "xsd:string" }
{ "parameter": "Device.DeviceInfo.UpTime", "fault_code": "", "value": "429120", "type": "xsd:string" }
...

遇到错误:: 未有任何输出,解决办法参考下一步遇到的错误

4.7) 运行easycwmp
export PATH=$PATH:/usr/sbin:/sbin
ln -sf bash /bin/sh
/usr/sbin/ubusd -s /var/run/ubus.sock &
5)启动
/usr/sbin/easycwmpd -f -b

遇到错误:: error while loading shared libraries: libjson-c.so.3: cannot open shared object file: No such file or directory
解决办法:如果严格按照我的步骤,你会出现找不到libjson库的问题,因为在安装libjson的时候默认安装到/usr/local/lib/路径下面,所以创建软连接指向这里即可:
ln -sf /usr/local/lib/libjson-c.so.3.0.0 /usr/lib/libjson-c.so.3

二、安装 openacs
由于将要用到的openacs和jboss都是用java语言所编写,所以配置前我们需要一些必须的环境配置
软件环境

linux系统(ubuntu18.04)
jdk(version:1.5)
jboss(version:-4.2.0.GA)
openacs-bin-0.5
mysql5.5
JDK安装

#vi /etc/profile
export JAVA_HOME=/usr/installpackage/jdk1.8.0_111
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
jboss安装
jboss下载地址:https://pan.baidu.com/s/1o7Pfcsa
下载后进行解压完成
将下载到的数据库驱动解压,将mysql-connector-java-5.1.7-bin.jar拷贝到 $(JBOSS_HOME)/server/default/lib/下面。

mysql安装
安装后设置账号密码,并创建数据库ACS。

部署openacs
wget https://master.dl.sourceforge.net/project/libreacs/OpenACS/openacs-bin-0.5.0.3.zip
将acs.ear拷贝到/opt/jboss-4.2.0.GA/server/default/deploy/下面。
修改完成后将openacs-ds.xml拷贝到/opt/jboss-4.2.0.GA/server/default/deploy/下面:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>ACS</jndi-name>
<connection-url>jdbc:mysql://ip/acs</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>root123</password>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<idle-timeout-minutes>5</idle-timeout-minutes>
</local-tx-datasource>
</datasources>

将openacs-service.xml拷贝到/opt/jboss-4.2.0.GA/server/default/deploy/jms下面
<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=acsQueue">
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
</mbean>
</server>

启动jboss

bin/run.sh -b 0.0.0.0
打开服务http://ip:8080/openacs/

三、 使用openacs测试

  1. 设置acs url
    vi /etc/config/easycwmp
    修改acs url一行为如下
    option url http://ip:8080/openacs/acs

2.打开openacs
http://ip:8080/openacs
在FindCPE下面看到设备型号,输入序列号即可进行操作

四、或者用fishcorecep测试
首先下载cpe文件fishcorecpe-v1.0.0-build20120503-01.tar.gz
解压,修改fishcore.conf文件,内容如下:

#acsurl http://10.116.20.3:8080/web/autoacs
#acsurl https://10.116.20.3:8443/web/autoacs
acsurl http://192.168.102.253:8080/openacs/acs
acsusr acs
acspwd acs
cpeusr cpe
cpepwd cpe
主要是配置acsurl指向服务器接口。
启动

./fishcorecpe
可以看到以下日志

fishcore-cpe version: v1.0.2
build in: Jun 6 2012 21:19:40
Copyright (C) FishOS Embeded Software Studio 2012-2013
This is a Demo version
Technique(TR069) support: http://www.xnmp.net
...

loading...
now init parameter entry...
parameter node callback method init ok
device data model is : TR-098 InternetGatewayDevice
bootstraping.....
generate run-time xml tree ok
command config : http://192.168.102.253:8080/openacs/acs ok
command config : acs ok
command config : acs ok
command config : cpe ok
command config : cpe ok
init Parameters ... ok
init transfer info ...ok
remove rebooting related flag ok
init device ok
cwmp sys init done
Fishcore_cpe>local-control thread sync timer bind ok
acs thread sync timer bind ok
create timer thread ok
remove unboot firmware ok
no usage acs info need to be resume
run-time memory ok
system init completed
system now is running...
acsurl请求ok,说明已连接到服务器,可以查看服务器日志,得到设备ID,如FC1234567890
接着可以通过ID在服务器上查找对应的设备,同时也可以下发信令给设备

jboss下载
https://download.csdn.net/download/supersyd/12880885
fishcorecpe下载
https://download.csdn.net/download/supersyd/12880858

猜你喜欢

转载自blog.51cto.com/204222/2536940