上一篇安装好了 ns-3.25,这里继续往里添加 plc 模块。整理之前现推荐一个网站,大家可以参考。

  英属哥伦比亚大学(University of British Columbia,UBC)提供NS-3的PLC模块:http://www.ece.ubc.ca/~faribaa/ns3_plc_software.htm

  这里添加 plc 模块分为两部分,第一部分是安装 boost,第二部分是下载 plc 源代码并编译

==============================第一部分:安装boost =======================================

  笔者试了两种方法,因为首次安装的时候使用方法1成功安装,由于解决一些其他问题,需要另一版本的 boost,这次方法1 就行不通了,所以笔者又寻得方法2,大家在方法1安装不成功的情况下,可以试一下方法2。(方法参考哪位老师的忘了,当时错误很多,很乱,只顾整理了)

方法1:

  1、下载boost安装包到 usr/local/ 目录下, https://sourceforge.net/projects/boost/files/boost/1.61.0/boost_1_61_0.tar.bz2/download   (笔者使用远程桌面,网速不给力,直接windows下载安装包拷贝进去的)其他版本可在boost官网下载:www.boost.org

  2、解压缩,tar jxvf boost_1_61_0.tar.bz2

  3、转到boost_1_61_0 目录下

  4、执行   sudo ./bootstrap.sh  进行环境配置

  5、上一步配置好之后,会得到一个bjam文件,执行它   sudo ./bjam     (时间比较长,可能要十几分钟)

  6、测试,在任意目录下创建  test.cpp

    #include<iostream>

    #include<boost/lexical_cast.hpp>

    int main()

    {

      int a = boost::lexical_cast<int>("123456");

      std::cout<<a<<std::endl;

      return 0;

    }

    运行   sudo g++ test.cpp -o test

       sudo ./test

    输出 123456,至此,boost安装成功

方法2:

    方法1的前四步在这里同样适用,不在赘述,下面从第5步开始

    5、(重点)修改 boost_1_61_0/tools/build/example/user-config.jam文件,在最后加上一行 “#using mpi ;”(注:mpi后有个空格,然后是分号)

    6、执行  ./b2

    7、执行  ./b2 install

    8、测试跟方法1的又是一样的,输出 123456 即为安装成功。

===================================第二步:添加 plc 模块===============================

  1、切换到 ns-3.25的源目录下, ns-allinone-3.25/ns-3.25/src 目录下,将  plc 模块克隆或者复制到源目录中   git clone https://github.com/ns3-plc-module/plc.git(笔者同样是拷贝进去的)

  2、解压(克隆和直接下载的文件压缩方式不知道一样不,笔者是zip文件)  sudo unzip  plc-master.zip   然后把得到的文件夹名plc-master修改为 plc  sudo  mv plc-master/  plc/   (顺便说一下,修改文件名没有  / ),这里笔者把plc压缩包删掉了

  3、开始编译plc模块

    3.1、先配置     ./waf --enable-examples --enable-tests configure     会有如下成功提示

            

    3.2、编译plc模块   ./waf        看到选中白色地方的  plc 没,成了

            

    3.3、我们来测试一把,使用模块自带的简单示例

      ./waf --run src / plc / examples / plc-netdevice-example

            

    build finished successfully看到没,真成了。

    好了,下面就可以使用 ns3-plc 进行工作了

   

  

转载于:https://www.cnblogs.com/MisterXu/p/9610371.html

在 ns-3.25中添加 plc(电力线载波) 模块相关推荐

  1. 在idea 中添加和删除模块Module

    在idea 中添加和删除模块Module ThinkPet 2018-12-22 10:12:50  4125  收藏 1 分类专栏: idea 版权 1.添加模块 2.删除模块 ---------- ...

  2. Android中添加自己的模块 【转】

    本文转载自:http://wallage.blog.163.com/blog/static/17389624201021791333695/ 转:http://blog.csdn.net/yili_x ...

  3. PX4代码学习系列博客(5)——在px4中添加自己的模块

    怎么在px4中添加自己的模块 在"px4固件目录结构和代码风格"这一节,曾经说过NuttX是一个实时的嵌入式系统,上面可以像windows那样运行程序.那既然是应用程序,那我们应该 ...

  4. 创建java取消module_在idea 中添加和删除模块Module操作

    1.添加模块 2.删除模块 补充知识:IDEA添加子Module的正确姿势 因需求要增加一个新的测试模块,于是要在一堆Module中再添加一个Module,单纯的我没有丝毫杂念的开始进行添加了. 1. ...

  5. 怎样在设计中添加FIFO宏模块

    quartus软件内置了很多我们经常用到的电路模块,统称为宏模块,在做EDA设计的时候,我们可以直接调用他们来简化设计过程.不要小看了宏模块,如果利用得当,可以省去你一多半的设计时间呢.这里以FIFO ...

  6. 在jekyll模板博客中添加网易云模块

    最近使用GitHub Pages Jekyll 搭建了个人博客,作为一名重度音乐患者,博客里面可以不配图,但是不能不配音乐啊. 遂在博客里面引入了网易云模块,这里要感谢网易云的分享机制,对开发者非常友 ...

  7. 络达开发-MCU中添加用户自定义功能模块

    该示例把用户自定义的功能模块放在目录:mcu\middleware\third_party\wuYinTec下面: 文件结构如下: 该示例把用户自定义的功能模块放在目录:mcu\middleware\ ...

  8. apache添加php语言模块,在apache中添加php处理模块-Go语言中文社区

    事先准备好一个文件夹,用来装apache和php. 步骤一 下载apache,官方:https://www.apachehaus.com/cgi-bin/download.plx 上面的是X86,下面 ...

  9. rails 添加外键_如何在Rails后端中添加功能强大的搜索引擎

    rails 添加外键 by Domenico Angilletta 通过多梅尼科·安吉列塔(Domenico Angilletta) In my experience as a Ruby on Rai ...

最新文章

  1. IOTA 交易,确认和共识
  2. 进程 、进程组、会话、控制终端之间的关系
  3. 云原生时代,政企混合云场景IT监控和诊断的难点和应对之道
  4. Python项目实战
  5. java随机数生成三位数_Java编写一程序编写一程序,实现下面功能.(1)随机产生200个三位的正整数,按每行10个数输出.(2)统计其中偶数和...
  6. Ubuntu18.04构建Go语言项目
  7. 计算机中的进制位运算
  8. pypdf2 存储pdf_PyPDF2:用于PDF文件操作的Python库
  9. 航空航天工程用不用学c语言,2020年北京航空航天软件工程991答疑
  10. MSSQL数据库的一些长度限制
  11. Mujoco雅克比-逆运动-传感器
  12. 区块链会计案例_区块链会计行业 区块链会计应用案例
  13. 为什么进行数据恢复后的文件是乱码
  14. 2021建筑起重司索信号工模拟考试单选题库及答案解析
  15. 解决回溯法 - 回溯到底是个什么东西(含有大量经典例题加详细分析)
  16. Web入门学习笔记1——建立第一个网站
  17. ubuntu下安装windows adobeflash播放器插件
  18. 脚本:批量复制微信后台用户消息
  19. selenium+python模拟浏览器进入好友QQ空间留言
  20. “已连接,但无法访问互联网”开机后wifi有感叹号, 时间无法同步解决办法

热门文章

  1. 人工智能之知识图谱-学习笔记
  2. 关于错误 1 error C4996: 'getch': The POSIX name for this item is deprecated.问题解决方式
  3. Node + ts + puppeteer e2e前端自动化测试
  4. JavaScript数据结构与算法——链表详解(上)
  5. 时序分析:串匹配-KMP算法
  6. Eclipse中添加对Python的中文支持
  7. 微软私有云分享(R2)16PowerShell查看虚拟机信息
  8. 物联网技术泡沫多 期望与现实不匹配
  9. project-population
  10. PDF密码去除常用工具