当前位置: 首页 > wzjs >正文

久久网站建设618网络营销策划方案

久久网站建设,618网络营销策划方案,上海万户网络技术有限公司,珠海门户网站建设哪家好硬件原理上支持WIFI_SCAN。 参考手表方案, 1、3603芯片自带的wifi scan功能,是利用modem在空闲(Idle)时,才能实际去执行搜索wifi热点的功能,如果手机在搜网(基站)、正在打电话、正在进行数据通信&#xf…

硬件原理上支持WIFI_SCAN。

参考手表方案,

1、3603芯片自带的wifi scan功能,是利用modem在空闲(Idle)时,才能实际去执行搜索wifi热点的功能,如果手机在搜网(基站)、正在打电话、正在进行数据通信,wifi scan搜索不到热点的概率会比较大。
2、上面已经给出了wifi scan的工作原理和参数说明,其中作用比较大的时快速释放rrc连接(AT*FASTDORM),能快速回到idle状态(这是通信协议层相关的东西),这个操作不影响lwip socket相关接口的使用。
3、如果在每次AT*WIFICTRL启动前执行了AT*FASTDORM,对wifi scan定位功能还是不理想,建议从应用逻辑上去调整优化,比如:
      1)本次搜索不到wifi热点,马上再启动一次搜索指令,不用等到下一个周期启动搜索,也就是特定的情况下让wifi scan积极一点。
      2)避开网络数据传输的密集时段,这个主要针对客户自己应用程序优化,比如,你有一个实时上服务器的task程序在跑,在启动wifi scan时在这个task加判断先不要与服务器交互数据。

wifi scan相关at命令可以参考附件文档。

注意:
        PS业务跟wifi scan业务是冲突的。默认情况下是PS业务优先。打电话或者收发网络数据时进行wifi scan可能会失败。

        下面两种情况下SW wifi都可以。
            1 只插单卡,无论插在simA还是simB都可以。
            2 双卡单待模式(主卡CFUN1,副卡CFUN4/CFUN0)
                 
            双卡双待版本,同时插双卡是不行的。可能会有各种打电话发短信等的问题。

        wifiscan需要在idle态下才能发起。如果不是idle态可以AT*FASTDORM后,再发起wifiscan。可以在每次WiFi scan之前先下指令AT*FASTDORM。

wifiscan相关接口如下,代码是开源的,具体信息见相关接口的定义。可以在callback里获取wifi信息。
        UINT32 CMID_NwCfgWifiScan(NW_WIFI_SCAN_CTRL_CB cb, UINT8 scan_round,
            UINT8 max_hotspot_number, UINT8 timeout_second, UINT8 scan_priority)
            
        UINT32 CMID_NwCtrlWifiScan(NW_WIFI_SCAN_CTRL_CB cb, UINT8 option)

测试参考代码,

        +++ b/evb/src/hal/modem/nw.c
        @@ -2827,6 +2893,32 @@ void CMID_NwRspWifiCellInfo(RIL_WIFI_CELL_INFO* pWifiCellInfo)
                UI_FREE(pWifiCellInfo);
         }

        +void wifiscan_cb(NW_WIFI_CELL_INFO_T *CellInfo)^M
        +{^M
        +       int i;^M
        +^M
        +       if (CellInfo == NULL)^M
        +               return;^M
        +^M
        +       raw_uart_log("wifi scan result count %d\n", CellInfo->count);^M
        +^M
        +       for (i=0; i<CellInfo->count; i++)^M
        +               raw_uart_log("host %d mac: %x:%x:%x:%x:%x:%x, rssi %d\n", i, ^M
        +               CellInfo->item[i].mac[0], CellInfo->item[i].mac[1],^M
        +               CellInfo->item[i].mac[2], CellInfo->item[i].mac[3],^M
        +               CellInfo->item[i].mac[4], CellInfo->item[i].mac[5],^M
        +               CellInfo->item[i].rssi);^M
        +^M
        +       return;^M
        +}^M
        +^M
        +void wifiscan_test(void)^M
        +{^M
        +       raw_uart_log("wifiscan_test start...\n");^M
        +       CMID_NwCfgWifiScan(wifiscan_cb, 3, 5, 20, 0);^M
        +^M
        +       return;^M
        +}^M
         /*
         ** Config scan parameters and start WIFI scan.
         ** Asynchronous operation interface. 

        +++ b/evb/src/gui/mgapollo/apps/launcher/src/Standby.cpp
        @@ -112,6 +112,7 @@ extern void volteCallNoticeStandbyHandler(void);
         #ifdef CONFIG_BUILD_TTS_TARGET
         extern "C" int TTS_SynthText(char * pcData,    unsigned int nSize);
         #endif
        +extern "C" void wifiscan_test(void);

         const NGInt _week_days_strs[] = {
             SS_SUN,
        @@ -1821,6 +1822,7 @@ NGBool Standby::onKey(NGInt keyCode, KeyEvent* event)
         #ifndef __MMI_WHITE_THEME__
                     menubar->setBkColor(Color::RT_C105);
         #endif
        +                       wifiscan_test();//------------------------------------这里是在桌面按下*键时调用测试接口函数
                     Intent intent(CallApp::START_BY_DIAL, "*", 0);
                     EntryCall(&intent);
                     return DISPATCH_STOP_MSG;  

        打印log如下,

        MMI:wifiscan_test start...
        MMI:<4>[RILADP]I:CMID_NwWifiCtrlReq <option>=2 [<3> <5> <20> <0>] 
        MMI:<4>[RILADP]I:CMID_NwWifiCtrlReq sim_id =0 
        MMI:=>[AT cmd][SS1]AT*WIFICTRL=2,3,5,20,0
        MMI:<=[AT cmd][SS1]OK

        [15:43:29.031]收←◆MMI:<=[AT cmd][UNSOL1]*WIFICELLINFO: "7C1E0688A630",-71, 1

        [15:43:29.077]收←◆MMI:<4>[RILADP]I:CMID_NwRspWifiCellInfo count=0 mac: 7c 1e 06 88 a6 30
        MMI:<=[AT cmd][UNSOL1]*WIFICELLINFO: "7C1E0688A631",-75, 2
        MMI:<4>[RILADP]I:CMID_NwRspWifiCellInfo count=1 mac: 7c 1e 06 88 a6 31
        MMI:<=[AT cmd][UNSOL1]*WIFICELLINFO: "7C1E0687AA70",-76, 6
        MMI:<4>[RILADP]I:CMID_NwRspWifiCellInfo count=2 mac: 7c 1e 06 87 aa 70
        MMI:<=[AT cmd][UNSOL1]*WIFICELLINFO: "8840337FD04C",-81, 2
        MMI:<4>[RILADP]I:CMID_NwRspWifiCellInfo count=3 mac: 88 40 33 7f d0 4c
        MMI:<=[AT cmd][UNSOL1]*WIFICELLINFO: ,0, 0

        [15:43:29.123]收←◆MMI:<4>[RILADP]I:CMID_NwRspWifiCellInfo *WIFICTRL: unsolicited is done
        MMI:wifi scan result count 4
        MMI:host 0 mac: 7c:1e:6:88:a6:30, rssi -71
        MMI:host 1 mac: 7c:1e:6:88:a6:31, rssi -75
        MMI:host 2 mac: 7c:1e:6:87:aa:70, rssi -76
        MMI:host 3 mac: 88:40:33:7f:d0:4c, rssi -81

Q:AT*WIFICTRL的使用说明
A:
AT*WIFICTRL=0 //stop; 
AT*WIFICTRL=1 //start;
0/1:采用缺省参数,缺省3轮,最大30个WiFi热点,最大25s超时;
  每轮WIFI scan需要的时间片为120ms*14(channel)=1.68s, 但真正的时间要多一些overhead(周期性paging,measurement处理),
  以及WiFi scan模块向modem申请时间片(gap),modem分配时去掉的一些不合适时间(平均在1/2个paging cycle);
  但如果热点多的情况下,每轮底层找到10个热点就会提前返回了,不会用满分配的gap;
AT*WIFICTRL=2,<scanRound>,<bssidNum>,<timeout>,<priority> 
AT*WIFICTRL=2,3,10,25,1 
2: AT命令参数选项,考虑后面参数; 
 3: 表示总共搜三轮才结束WiFi 搜索,范围: 1~3;最大3轮; 
 10:表示总共搜到多少个WiFi 热点就结束WiFi搜网,范围是4~30;(早期有版本为4~10) 
    小于4的值或者大于30的值,会改成了30。 
 25:底层WiFi搜索超时timer,单位秒,即多长时间之内没有完成WiFi搜索,超时结束。 
    这个值范围是1~25,不在这个范围,会认为无效,使用默认值25.
    就是AT*WIFICTRL=2 带的参数不符合预期范围,就采用AT*WIFICTRL=1的默认值。
 1: 表示数据业务相对WiFi Scan的优先级,参数为0~1; 
   0,表示数据业务优先级高于WiFi Scan优先级,在WiFi Scan搜索期间,上下行数据业务会打断WiFi scan,
   1,表示数据业务优先级低于WiFi Scan优先级,在WiFi Scan搜索期间,会屏蔽上下行数据业务。

BTW, WIFI SCAN异常很多是跟设备处在connected mode,即wifi scan跟空口连接冲突;因此在做wifi scan时,建议上层判断是否有业务数据在传输(空口在连接态下);
如果在连接态,而需要做wifi scan,参考local release说明,释放rrc 连接,回到idle再发起wifi scan;
上层逻辑请客户酌情考虑,即wifi scan跟数据业务冲突时优先哪个。

BTW2,有如下几种情况上报:
  1,三轮完成后,才上报;
  (每轮gap时间需要最多120ms*14,实际分配的可能多;
  针对option=1采用default配置的情况, 如果热点多的情况下,每轮底层找到10个热点就会提前返回了,不会用满分配的gap,这样有些channel也没有scan,同时目前底层不同轮次间,不排除相同热点情况;
  对于option=2的情况,底层没有10个热点提前返回的限制;)  
  2,没到三轮,但是已经搜到30(早期有版本为10)个热点
  3,没到三轮,但是time out(25s,早期有版本为20s),或者快到了,不够支持再做一轮的时间,也要上报(无论是否搜到);
  这种情况就属于rrc 不批准做或者批准的不足够我们做三轮
  4,上层发起stop wifi 搜索,我们将最近的结果上报。
  5,类似4,如果被modem打断(其他高优先级业务,主动发数据,接收寻呼要建链等),会将当前的结果上报;

http://www.dtcms.com/wzjs/511063.html

相关文章:

  • 网站怎么做seo优化啊网站建设的一般步骤
  • 巢湖网站建设电话广告大全
  • 申请网站建设经费的报告单页面网站如何优化
  • 洛阳做网站百度搜索网页版入口
  • 网站导航广告怎么做2022年每日新闻摘抄10一30字
  • 百度云网站开发如何做好网络销售技巧
  • 徐州网站推广站长联盟
  • 东莞手机端建站模板seo推广优化公司哪家好
  • 上海网站建设的价营销策略4p
  • dw怎么做打开网站跳出提示网站制作详细流程
  • 东莞网站建设公司百推手游推广渠道和推广方式
  • 未来做那个网站致富百度导航怎么下载
  • 淘宝网站怎么做视频教程自己的网站怎么样推广优化
  • 前端开发做移动端的网站百度在线问答
  • 北京云邦网站建设百度关键词点击
  • 网站做外链多少钱关键词智能优化排名
  • 合肥微网站百度关键词指数排行
  • web网站开发源代码百度关键词排名工具
  • 做网站的工具免费网站 推广网站
  • 发布做网站需求qq群网络营销推广策划
  • o2o平台都有哪些seo中文含义是什么
  • 怎样做网站的链接自己开网店怎么运营
  • 万网虚拟主机上传网站网络营销的定义是什么
  • 商城网站建设公司排名东莞谷歌推广公司
  • 西安网站建设公司平台百度关键词优化企业
  • 网站域名解析错误怎么办市场推广方式有哪几种
  • 做网站推广如何百度推广开户联系方式
  • 建设人力资源服务网站工作方案淘宝seo优化怎么做
  • 临沂网站建设方案报价网站维护需要多长时间
  • 成都装修网站制作多少钱免费开店的电商平台