×

FreeAC

hqy hqy 发表于2024-12-18 20:09:40 浏览6 评论0

抢沙发发表评论

FreeAC

https://www.right.com.cn/forum/thread-180295-1-1.html

https://gitee.com/freeac/FreeAC

https://github.com/ycsunjane/acctl

https://github.com/hokamyuen/openwrt-acctl

 

       从FreeAC的网站上看到AP端协议部分的源码,于是下载了一份进行了测试,主要测试报告如下:
一、拓扑设计
     网站上说AP可以穿透N层NAT被AC管理到,为了方便我自己的电脑在NAT内测,云AC使用的是公网上的http://ac.freeac.cn 。我自己的机器上跑虚拟机,虚拟机是通过本机NAT出去的。换句话说,我的AP程序和AC之间经过了两次NAT。
     VM的网卡设置如下:
     mportant; max-height: fit-content !important;"/>
     经过测试,PING外网域名通畅。网络环境准备完毕。

二、准备编译环境
      gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)
      NetBeans IDE  8.0.2 这是一个可选的工具,为了集成化调试方便。如下图:
           

三、获取源码
      http://www.freeac.cn/index.php/d ... ce/14-nswmp-ap.html
      下载后解压缩到本地目录。直接make就可以生成ap这个可执行文件。主要参数如下:
      [root@localhost ap-1.0.8]# ./ap -h
      Usage:
      -h      --help
      -d      --debug
      以上是使用说明。 -d为DEBUG模式,推荐在调试的时候使用这个模式。
   
四、关键参数修改
      打开源码的global.h文件,可以初始化如下的参数,强烈建议修改这些参数。

      static  char devid[] = "00112233-4455-6677-8899-AABBCCDDEEFF\0";   //AP的ID,一定要修改,否则和别人冲突了就找不到你的AP了。随便修改几个字符就可以了。这是一个UUID。
      static char orgid[] = "E51E9451-1902-CB1E-90AD-EEDBC2EACA89\0";   //商家ID,当你成功注册ac.freeac.cn的账号后,就会生成一个店铺ID。有了这个ID,你的AP才可以能出现你的管理界面里。
      static char brcid[] = "132\0";                                                             //店铺ID,生成一个店铺后,就会有这个ID。
      static  char acip[] = "211.88.76.235\0";                                               //这是 ac.freeac.cn的云主机地址。这个不必修改,除非你 有自己的AC。
      static char S_nsap_board_name[512] = "FreeAC-Demo-HD\0";              // 不需要修改。
      static char S_wtp_board_name[512] = "NS-120-bgn\0";                       // 不能修改。


五、申请云平台
      如何申请云平台,请参与这篇文章。
      http://www.freeac.cn/index.php/solution/22-ap-cloud-setup.html
      
六、测试代码
      各项工作准备好后,就可以开始运行 ./ap -d 了。下面是我这里的运行结果:
[root@localhost ap-1.0.8]# ./ap -d
2015-12-28 13:47:29 Debug : NS-AP Device-Id is "00112233-4455-6677-8899-AABBCCDDEEFF"
2015-12-28 13:47:29 Debug : NS-AP Board-Name is ""
2015-12-28 13:47:29 Debug : NS-AP Firmware-Version is "1.0.8"
2015-12-28 13:47:29 Debug : -NSAP-DSCV- AC address : 211.88.76.235
2015-12-28 13:47:29 Debug : -NSAP-DSCV- off-line 211.88.76.235
2015-12-28 13:47:29 Debug : NS-AP Discovery-Address is "211.88.76.235"
2015-12-28 13:47:29 Debug : NS-AP prep init done
2015-12-28 13:47:29 Debug : ==========INIT STATE==========
2015-12-28 13:47:29 Debug : brcid is : 132
2015-12-28 13:47:29 Debug : Send ORGBRC to kernel
2015-12-28 13:47:29 Debug : AC address 211.88.76.235
2015-12-28 13:47:29 Debug : get net mode : bridge
2015-12-28 13:47:29 Debug : Now will sleep 3s to DSCV-State
2015-12-28 13:47:32 Debug : ==========DSCV STATE==========
2015-12-28 13:47:32 Error : S_wtp_board_name = NS-120-bgn
2015-12-28 13:47:32 Debug : brcid is : 132
2015-12-28 13:47:32 Debug : orgid is : E51E9451-1902-CB1E-90AD-EEDBC2EACA89
2015-12-28 13:47:32 Debug : ==========JOIN STATE==========
2015-12-28 13:47:32 Error : S_wtp_board_name = NS-120-bgn
2015-12-28 13:47:32 Debug : apid is 00112233-4455-6677-8899-AABBCCDDEEFF
2015-12-28 13:47:37 Debug : wifi channel is : 11
2015-12-28 13:47:37 Debug : wifi ssid is : FreeAC-SSID
2015-12-28 13:47:37 Debug : Enabled portal  : 1
2015-12-28 13:47:38 Debug : portal url is : http://211.88.76.235:8081
2015-12-28 13:48:06 Error : Wifi is starting...
2015-12-28 13:48:06 Debug : ==========RUN STATE==========
2015-12-28 13:48:06 Debug : -RUN- select timeout 120s
2015-12-28 13:50:07 Debug : Send ECHO-REQ message
2015-12-28 13:50:07 Debug : ==========RUN STATE==========
2015-12-28 13:50:07 Debug : -RUN- select timeout 120s
2015-12-28 13:50:07 Debug : AC message code=8, length=24
2015-12-28 13:50:07 Debug : Hand ECHO-REP message
     红色部分是global.h中设置的。
     蓝色部分是ac.freeac.cn云平台上设置的,由AP程序连接进去后获取的。
     下图是ac.freeac.cn云平台上的设置:


      如果您没有给AP分配店铺ID,那么AP就在“无线管理”--》“AP管理”中显示。
      如果分配了店铺ID,AP列表就会出现在,“商家管理”--》“店铺列表”   点开AP所在的店铺条目后,选择“设备管理”就可以看到这个AP了。

  • 2.jpg
  • 3.jpg
  • 1.jpg

 


打赏

本文链接:https://www.kinber.cn/post/4230.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客