原创作品,转载请注明出处

copyright:weishusheng   2015.3.18

email:642613208@qq.com

平台:

Linux version 2.6.32-279.el6.x86_64

交叉编译器路径:/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-

开发板:FL2440

开发板运行内核:linux3.0

开发板文件系统:initramfs

openacs和easycwmp要能正确通信,需要修改脚本配置,下面给出需要修改的脚本,及修改方法。

一.修改/etc/config/easycwmp,它是一个链接,链接到了easycwmp/ext/openwrt/config/easycwmp

[weishusheng@centOS6 ~]$ vim /etc/config/easycwmp

# easycwmp uci configuration

config local
option interface eth0
option port 7547
option ubus_socket /var/run/ubus.sock
option date_format %FT%T%z
option username easycwmp
option password easycwmp

config acs
option scheme http
option username openacs
option password openacs
option hostname 192.168.1.21   #acs服务器ip
option port 8080
option path /openacs/acs      #路径,注意后面还有个acs
option parameter_key '1'
option periodic_enable 'true'
option periodic_interval '180'
option periodic_time '1'

config device
option manufacturer easycwmp
option oui FFFFFF
option product_class weishusheng   #如果你在浏览器里登上acs服务器,点击find cpe,如果能连上,这个名字就会出现
option serial_number FFFFFF12345      #这个信息会出现在jboos运行窗口
option hardware_version example_hw_version
option software_version example_sw_version

config scripts
# load OpenWrt generic network functions
list location /lib/functions/network.sh
# load easycwmp common functions
list location /usr/share/easycwmp/functions/common
# easycwmp specific functions
list location /usr/share/easycwmp/functions/device_info
list function device_info
list location /usr/share/easycwmp/functions/lan_device
list function lan_device
list location /usr/share/easycwmp/functions/management_server
list function management_server
list location /usr/share/easycwmp/functions/wan_device
list function wan_device

二. 运行jboos

[weishusheng@centOS6 bin]$ ./run.sh -b 0.0.0.0

让jboos运行着。

三.运行easycwmp,注意切换到超级用户模式下,不然你的easycwmp启动时会卡在执行easycwmp.sh那里

[weishusheng@localhost ~]$ su
Password:
[root@localhost weishusheng]# /usr/sbin/easycwmpd -f -b

四. 在浏览器里访问http://192.168.1.21:8080/openacs/,点击"find CPE",如果cpe成功上报的话,Hardware的下拉框里面就会有cpe的型号(在这里我是weishusheng),在SerialNumber框里面输入cpe的sn号(这个在Inform报文里面有)即可进行查询。

五. 查询页面的overview页面有个reboot按钮,点击之后acs就会向cpe下发reboot方法,cpe收到后就会自动重启。

六 .  接下来我们就可以创建自己的脚本来测试TR069协议了。在"Configuration scripts"-->"Default"里输入要操作的脚本,点击SAVE,当ACS收到CPE发来的INFORM消息后,ACS就会运行Default脚本。比如:在Default里面输入以下脚本

logger("=======>GetRPCMethods<=============");
var methods = cpe.GetRPCMethods ();
for (i = 0; i < methods.length; i++) {
logger ("Method: "+methods[i]);
}
logger("============>END<====================");
logger("=========>WEISHUSHENG<================");

运行easycwmp,会在acs服务器端看到以下信息:

04:42:34,998 ERROR [STDERR] 2015-2-3 4:42:34 org.openacs.Configurator log
信息: FFFFFF:FFFFFF123456 Configurator::run
04:42:35,017 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.Configurator log
信息: FFFFFF:FFFFFF123456 Backup cwmp tree
04:42:35,021 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.utils.Version Set
警告: Invalid version string: example_sw_version Non numeric elements assumed to be 0
04:42:35,023 INFO [STDOUT] swUpdate=null
04:42:35,024 INFO [STDOUT] Configurator: UPDATE ProvisioningCode
04:42:35,033 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.Configurator log
警告: FFFFFF:FFFFFF123456 Config lookup: No such entity!
04:42:35,041 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger
信息: =======>GetRPCMethods<=============
04:42:35,041 INFO [STDOUT] Received: GetRPCMethods
04:42:35,044 INFO [STDOUT] End of processing
04:42:35,048 WARN [EnvelopeBuilderDOM] Ignore child type: 3
04:42:35,048 WARN [EnvelopeBuilderDOM] Ignore child type: 3
04:42:35,050 INFO [STDOUT] URI null
04:42:35,050 INFO [STDOUT] cwmp NS =urn:dslforum-org:cwmp-1-2
04:42:35,050 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.ACSServlet log
信息: oui=FFFFFF sn=FFFFFF123456 Request is GetRPCMethodsResponse
04:42:35,050 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger
信息: Method: GetRPCMethods
04:42:35,051 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger
信息: Method: SetParameterValues
04:42:35,051 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger
信息: Method: GetParameterValues
04:42:35,051 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger
信息: Method: GetParameterNames
04:42:35,051 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger
信息: Method: GetParameterAttributes
04:42:35,051 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger
信息: Method: SetParameterAttributes
04:42:35,051 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger
信息: Method: AddObject
04:42:35,051 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger
信息: Method: DeleteObject
04:42:35,052 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger
信息: Method: Download
04:42:35,052 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger
信息: Method: Reboot
04:42:35,052 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger
信息: Method: FactoryReset
04:42:35,052 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger
信息: Method: ScheduleInform
04:42:35,053 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger
信息: ============>END<====================
04:42:35,053 ERROR [STDERR] 2015-2-3 4:42:35 org.openacs.js.Script logger
信息: =========>WEISHUSHENG<================
04:42:40,055 INFO [STDOUT] Received: null
04:42:40,055 INFO [STDOUT] End of processing

如果看到这些信息,那环境就搭建完成了。

openacs与easycwmp的对接的更多相关文章

  1. CWMP开源代码研究2——easycwmp安装和学习

    声明:本文是对开源程序代码学习和研究,严禁用于商业目的. 如有任何问题,欢迎和我交流.(企鹅号:408797506) 本文所有笔记和代码可以到csdn下载:http://download.csdn.n ...

  2. easycwmp在开发板上的配置

    原创作品,转载请注明出处 copyright:weishusheng   2015.3.18 email:642613208@qq.com 平台: Linux version 2.6.32-279.e ...

  3. 通过AngularJS实现前端与后台的数据对接(二)——服务(service,$http)篇

    什么是服务? 服务提供了一种能在应用的整个生命周期内保持数据的方法,它能够在控制器之间进行通信,并且能保证数据的一致性. 服务是一个单例对象,在每个应用中只会被实例化一次(被$injector实例化) ...

  4. .NET 对接JAVA 使用Modulus,Exponent RSA 加密

    最近有一个工作是需要把数据用RSA发送给Java 虽然一开始标准公钥 net和Java  RSA填充的一些算法不一样 但是后来这个坑也补的差不多了 具体可以参考 http://www.cnblogs. ...

  5. 通过AngularJS实现前端与后台的数据对接(一)——预备工作篇

    最近,笔者在做一个项目:使用AngularJS,从而实现前端与后台的数据对接.笔者这是第一次做前端与后台的数据对接的工作,因此遇到了许多问题.笔者在这些问题中,总结了一些如何实现前端与后台的数据对接的 ...

  6. freeswitch对接其它SIP设备

    这几天用到freeswitch对接其它设备方面的知识,这里整理下,也方便我以后查阅. 操作系统:debian8.5_x64 freeswitch 版本 : 1.6.8 一.freeswitch作为被叫 ...

  7. 萌新笔记——封装hiredis——C++与redis对接(一)(string的SET与GET操作)

    在菜鸟教程自学了redis,总想着像Mysql一样,在C/C++中进行对接.于是查询了一些资料,最后找到了hiredis.然而直接用它的话,难免有点不方便.于是,对其进行封装. hiredis直接去g ...

  8. spark 2.0 中 pyspark 对接 Ipython

    pyspark 2.0 对接 ipython 在安装spark2.0 后,以往的对接ipython方法失效,会报如下错错误: 因为在spark2.0后对接ipython的方法进行了变更我们只需要在py ...

  9. Web Api 与 Andriod 接口对接开发经验

    最近一直急着在负责弄Asp.Net Web Api 与 Andriod 接口开发的对接工作! 刚听说要用Asp.Net Web Api去跟 Andriod 那端做接口对接工作,自己也是第一次接触Web ...

随机推荐

  1. 你可能不知道的iOS冷知识——#pragma

    Mattt Thompson撰写. Zihan Xu翻译. 发布于2012年10月1日 #pragma 声明是彰显 Objective-C 工艺的标志之一.虽然 #pragma 最初的目的是为了使得源 ...

  2. spring注解 @Transactional

    一.@Transactional所需要的jar包 1.aopalliance.jar  这个包是AOP联盟的API包,里面包含了针对面向切面的接口.(通常Spring等其它具备动态织入功能的框架依赖此 ...

  3. [置顶] Android 2016新技术

    版权声明:分享技术,传播快乐.如果本博客对你有帮助,请在我的博客首页为我打赏吧! 2016你需要了解Android有以下新兴的技术与框架,有些也许还不成熟,但是你应该去了解下,也许就是未来的方向. K ...

  4. Linux代码的重用与强行卸载Linux驱动

    (一)Linux代码的重用 重用=静态重用(将要重用的代码放到其他的文件的头文件中声明)+动态重用(使用另外一个Linux驱动中的资源,例如函数.变量.宏等) 1.编译是由多个文件组成的Linux驱动 ...

  5. Hibernate 学习笔记一

    Hibernate 学习笔记一 今天学习了hibernate的一点入门知识,主要是配置domain对象和表的关系映射,hibernate的一些常用的配置,以及对应的一个向数据库插入数据的小例子.期间碰 ...

  6. 370. Range Addition

    Assume you have an array of length n initialized with all 0's and are given k update operations. Eac ...

  7. 用Unity写一个12306验证器的恶搞图生成软件

    前言 前一阵子是买火车票的高峰期,然后12306的验证码就遭到各种吐槽.其实大部分验证码没有那么难,大家只是因为买不到票 发泄一下不满的情绪.于是各种恶搞的图就出现了,比如找二次元里人物的矮子,找好男 ...

  8. Nginx Debug Log

    //检查nginx.conf时(sudo ./nginx -t),输出数据到检测结果 //ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, "配置解析处理&q ...

  9. Linux 中断处理浅析

    最近在研究异步消息处理, 突然想起linux内核的中断处理, 里面由始至终都贯穿着"重要的事马上做, 不重要的事推后做"的异步处理思想. 于是整理一下~ 第一阶段--获取中断号 每 ...

  10. LINUX各目录用处

    目录 应放置档案内容 / 根目录 /bin 放置可执行文件 /usr/bin 用户可执行文件 /usr/local/bin 用户本地可执行文件 /boot 开机需用文件,文件下vmlinuz为kern ...