testWifi.lua 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. --- 模块功能:WIFI 功能测试
  2. -- @author openLuat
  3. -- @module testwifi
  4. -- @license MIT
  5. -- @copyright openLuat
  6. -- @release 2020.05.11
  7. module(...,package.seeall)
  8. require"wifiScan"
  9. require"lbsLoc"
  10. sys.taskInit(function()
  11. while true do
  12. sys.wait(5000)
  13. wifiScan.request(function(result,cnt,tInfo)
  14. log.info("testWifi.scanCb",result,cnt)
  15. sys.publish("WIFI_SCAN_IND",result,cnt,tInfo)
  16. end)
  17. local _,result,cnt,tInfo = sys.waitUntil("WIFI_SCAN_IND")
  18. if result then
  19. for k,v in pairs(tInfo) do
  20. log.info("testWifi.scanCb",k,v)
  21. end
  22. --[[
  23. 参数 :
  24. result:number类型,0表示成功,1表示网络环境尚未就绪,2表示连接服务器失败,3表示发送数据失败,4表示接收服务器应答超时,5表示服务器返回查询失败;为0时,后面的5个参数才有意义
  25. lat:string类型,纬度,整数部分3位,小数部分7位,例如031.2425864
  26. lng:string类型,经度,整数部分3位,小数部分7位,例如121.4736522
  27. addr:目前无意义
  28. time:string类型或者nil,服务器返回的时间,6个字节,年月日时分秒,需要转为十六进制读取
  29. 第一个字节:年减去2000,例如2017年,则为0x11
  30. 第二个字节:月,例如7月则为0x07,12月则为0x0C
  31. 第三个字节:日,例如11日则为0x0B
  32. 第四个字节:时,例如18时则为0x12
  33. 第五个字节:分,例如59分则为0x3B
  34. 第六个字节:秒,例如48秒则为0x30
  35. locType:numble类型或者nil,定位类型,0表示基站定位成功,255表示WIFI定位成功
  36. ]]
  37. lbsLoc.request(function(result,lat,lng,addr,time,locType)
  38. log.info("testLbsLoc.getLocCb",result,lat,lng)
  39. sys.publish("LBS_WIFI_LOC_IND",result,lat,lng,addr,time,locType)
  40. end,false,false,false,false,false,false,tInfo)
  41. local _,result,lat,lng,addr,time,locType = sys.waitUntil("LBS_WIFI_LOC_IND")
  42. if result == 0 then
  43. log.info("服务器返回的时间", time:toHex())
  44. log.info("定位类型,WIFI定位成功返回255", locType)
  45. end
  46. end
  47. end
  48. end)