本文介绍登云梯JS开发框架中Location组件所提供的相关方法说明,支持的硬件平台列表以及参考示例代码。该定位组件包含Wi-Fi定位和基站定位,是基于阿里云物联网平台的一个服务。
说明
Location组件依赖网络,请使用NetWork组件,保证网络连接正常。
硬件平台
产品型号 | 是否支持 | 硬件类型 | 固件版本号 |
HaaS600Kit | 是 | 开发板 | 4.0.1 |
HaaS510 | 是 | DTU | 4.0.1 |
HaaS520 | 是 | DTU | 4.0.1 |
HaaS530 | 是 | DTU | 4.0.1 |
HaaS531 | 是 | DTU | 4.0.1 |
HaaS632-LT32V | 是 | 模组 | 4.0.1 |
HaaS600-EC600S | 是 | 模组 | 4.0.1 |
HaaS600-EC600N | 是 | 模组 | 4.0.1 |
HaaS600-EC600U | 是 | 模组 | 4.0.1 |
HaaS600-N715 | 是 | 模组 | 4.0.1 |
getAccessApInfo()
获取接入的AP信息。
入参
无。
返回
String类型:accessedApInfo。
getScannedApInfo()
获取扫描到的AP信息。
入参
无。
返回
String类型:scannedApInfo。
getAccessedLbsInfo()
获取接入的基站信息。
入参
无。
返回
String类型:accessedLbsInfo。
getNearLbsInfo(Object option)
获取周边邻区基站信息。
入参
无。
返回
String类型:nearLbsInfo。
示例代码
import * as iot from 'iot';
import * as network from 'network';
import * as location from 'location';
var net = network.openNetWorkClient();
var loc = location.openLocationClient();
var productKey = ''; /* your productKey */
var deviceName = ''; /* your deviceName */
var deviceSecret = ''; /* your deviceSecret */
var device;
var timerHandler;
var btsInfo;
var nearbtsInfo;
function createDevice() {
device = iot.device({
productKey: productKey,
deviceName: deviceName,
deviceSecret: deviceSecret
});
device.on('connect', () => {
console.log('connected');
setInterval(() => {
btsInfo = loc.getAccessedLbsInfo();
nearbtsInfo = loc.getNearLbsInfo();
var lbsMessage = JSON.stringify({
cdma: '0',
bts: btsInfo,
nearbts: btsInfo
})
console.log('lbs message is ' + lbsMessage)
device.postEvent({
id: 'LocationInfo',
params: lbsMessage
});
}, 3000);
});
/* 网络断开事件 */
device.on('disconnect', () => {
console.log('iot disconnect ');
});
/* mqtt消息 */
device.on('message', (topic, payload) => {
console.log('mqtt message')
console.log('mqtt topic is ' + topic);
console.log('mqtt payload is ' + payload);
})
/* 关闭连接事件 */
device.on('end', () => {
console.log('iot client just closed');
});
/* 发生错误事件 */
device.on('error', (err) => {
console.log('error ' + err);
});
}
function netCallback(result)
{
if (result == 1) {
console.log('net connect...');
createDevice();
} else if (result == 0) {
console.log('net disconnect...');
if (timerHandler) {
clearInterval(timerHandler);
}
if (typeof(device) != 'undefined') {
device.end();
}
}
}
function netInit(callback) {
var status = net.getStatus();
console.log('net status is: ' + status);
if (status == 'connect') {
callback(1);
} else {
net.on('connect', () => {
callback(1);
});
}
net.on('disconnect', () => {
console.log('net is disconnect.');
callback(0);
});
}
function appEntry()
{
netInit(netCallback);
}
appEntry();
文档内容是否对您有帮助?