天天看點

沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結

1、前言

本篇我們将基于HaaS 600Kit開發闆,以及阿裡雲開發工具IoT-Studio來搭建一個簡單的定位功能,說到裝置定位,同學們可能都會想到GPS定位,其實除了像GPS這種衛星定位之外,我們身邊的裝置如:智能手機、智能手表、穿戴裝置等能聯網的裝置都可以用來定位,通過連接配接營運商(電信、聯通、移動)基站來定位的方式稱之為基站定位,或者又稱之為移動位置服務(LBS--Location Based Service)。

基站定位的原理是裝置依靠跟營運商基站的連接配接資訊來計算出裝置相對基站的位置,而基站的位置是固定的,是以裝置的位置也會相應的計算出來;

沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結

2、實戰目标

使用HaaS600Kit開發闆,不依賴于闆載的GNSS子產品,使用聯網資訊擷取裝置經緯度并在地圖上展現出來。

目标拆分

擷取裝置聯網資訊

上報裝置聯網資訊到物聯網平台,擷取裝置經緯度

使用IoT-Studio添加地圖元件,在地圖上展示裝置位置及其他資訊

3、準備工作

硬體

HaaS600Kit開發套件

sim卡一張

軟體

輕應用指令行工具

裝置端JavaScript應用代碼

4、實戰操作

4.1、裝置bringup

不熟悉HaaS600Kit開發套件的同學請閱讀該文章HaaS600Kit

熟悉HaaS600Kit開發套件的同學請直接到step2

4.2、物聯網平台建立産品及裝置

登入阿裡雲物聯網平台建立産品
沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結
  • 建立産品模型
  • 沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結
  • 沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結

此處需要添加兩個功能,一個是自定義功能,用來接收裝置上報的網絡資訊,一個是标準功能,用來放經緯度資訊。

自定義功能:LocationInfo

沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結

輸出參數 cdma bts nearbts資料類型都是text

标準功能:   GeoLocation

沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結

産品模型建立完成需要釋出上線才能生效。

沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結

産品模型建立完成之後,需要添加裝置,如下圖所示

沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結

點選添加裝置,device_name可以随便定義,不寫的話系統随機生成。

沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結

裝置建立成功,如下圖所示

沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結

此時我們需要儲存該裝置的秘鑰,留待後續使用

沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結

4.3、裝置運作,擷取位置

  • 将示例代碼推送到裝置端,需要将代碼中的裝置三元組替換成上一步中建立的裝置三元組(productKey,deviceName,deviceSecret).
  • 裝置運作,從雲端檢視裝置屬性,發現已擷取到經緯度資訊
沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結

4.4、IoT-Studio項目建立

  • 建立組态服務項目
沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結
沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結
沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結
沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結

找到地圖元件後拖入工作區

沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結
沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結

因為我們沒有建立過地圖場景,是以選擇場景中是空的,需要我們在二維資料可視化中建立場景。

4.5、地圖場景建立

在建立場景的時候,我們的控制台會自動跳轉到阿裡雲IoT空間資料可視化平台,如圖所示

沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結

我們選擇二維資料可視化,然後點選建立場景即可。

在建立場景的時候,這邊非常友好的提供了兩種資料來源,我們這邊選擇資料來源于物聯網平台。

沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結
沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結

建立完成之後,可以看到在地圖上已經展示出了裝置的具體位置,還可以基于裝置的位置增加一個附加功能,例如:周界報警、地理圍欄、曆史軌迹、熱力圖等等,還可以選擇地圖主題跟3D模型。

沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結

此時在IoT-Studio場景中就出現了輕應用實戰之基站定位,添加即可。

整體預覽

沒有GPS也想定位,試試JavaScript輕應用的基站定位1、前言2、實戰目标3、準備工作4、實戰操作5、總結

5、總結

本實戰涉及知識較多,涉及到裝置到雲端的全鍊路能力以及地圖能力。

  • 将裝置聯網資訊發送到物聯網平台對應的物模型下面
  • 建立标準物模型地理位置
  • 在IoT-Studio建立地圖場景

繼續閱讀