騰訊IOT安卓開發初探

2021-01-08 紙鶴視界

目錄

騰訊IOT 安卓開發初探 Tecent IOT 開發平臺的使用 新建項目創建產品添加自定義功能設備開發微信小程序配置 面板配置新建設備使用設備安卓開發 前置配置 data.jsonapp-config.json權限配置連接平臺代碼安卓頁面配置Activity代碼微信小程序使用總結 參考

騰訊IOT 安卓開發初探

目的:將Andorid端作為一個物聯網設備(device),然後將其安卓設備上面的數據發送到騰訊雲IOT開發平臺上。(這裡我們將手機上面的GPS經緯度發送到騰訊雲IOT平臺上)。

騰訊IOT開發平臺:https://console.cloud.tencent.com/iotexplorer

騰訊IOT Java SDK GitHub:https://github.com/tencentyun/iot-device-java

開發工具:Android Studio

代碼Github:android_test_iot_for_tecent

Tecent IOT 開發平臺的使用

開發平臺的官方參考文檔網址:https://cloud.tencent.com/document/product/1081,不過個人覺得其文檔對於Java SDK的描述不夠詳細,需要去看其 Demo 源碼才能明白其工作流程。

騰訊雲IOT開發平臺的項目結構如下所示:分為兩層——項目 和 產品。用在使用其平臺的時候,既需要創建project,也需要創建product。

我們可以將項目理解為智能家居整個系統,因此在項目中有很多產品,比如說智能空調,智能報警器等等產品。

新建項目

新建項目,項目名稱隨意就行,創建好項目後,進入項目,然後創建產品。

創建產品

創建產品的選項如下:

設備:因為我們是準備將安卓終端作為一臺設備來使用的,因此,我們應該選擇」設備「,當然,如果我們是準備將它作為網關,則看著選就行了。認證方式:認證方式選擇密鑰認證,這樣在代碼中間直接寫設備的密碼就行,比證書稍微方便一點(不過實際上證書方便一點)。數據協議:使用數據模板即可。

添加自定義功能

物聯網設備,之所以叫物聯網,是因為大家想把傳感器獲得的數據放在雲端,或者通過雲端去控制物聯網設備。那麼放什麼數據,控制什麼功能,則需要我們去定義。在騰訊IOT中,可以使用新建功能定義這些功能。

點擊進入產品,選擇新建功能。

自定義功能我們只需要兩個功能:

經度:position_x緯度:position_y建立經度如下,在功能類型中選擇屬性,數據類型我們選擇浮點型。(經度和緯度的範圍都在-180.0 ~180.0 )

同理將緯度配置為position_y,功能類型為屬性,數據類型同樣為浮點型,範圍為-180.0 ~180.0 。

關於功能類型的不同,可以參考下面的表格。

以下來自官方文檔

點擊下一步,進入設備開發。

設備開發

因為我們使用的是Java SDK進行開發,沒有使用模組也沒有基於OS開發,因此直接點擊下一步。

點擊下一步就到了微信小程序配置。

微信小程序配置

騰訊IOT平臺相比較於其他平臺,有一個很大的特點就是可以很好的支持小程序。也就是說,在開發的階段,就可以使用小程序去驗證設備的功能。並且這個微信小程序不需要自己寫樣式代碼,只需要進行簡單的配置,就可以直接從小程序上面看到物聯網設備的數據。

因為這裡我們使用的數據很簡單,只有經度和緯度兩個數據,所以隨便配置一下面板即可。

面板配置

這裡面板類型選擇標準面板,然後配置一下模板樣式(配置長按鈕稍微好看一點),配置完效果圖如右邊所示。

新建設備

新建設備`的意義:創建一個設備代表啟動了一個帳號(這個設備會提供一個密鑰),我們的設備使用這個密鑰,就可以讓我們的設備連接騰訊雲IOT平臺進行數據交互。

新建設備的步驟如下所示:

使用設備

點擊test_device,進入設備管理。

設備管理界面如下所示:

設備信息:這裡面是設備的一些基本屬性,其中通過設備名稱,設備密鑰,和產品ID就可以唯一定位一個設備,然後對其進行操作。設備日誌:設備日誌裡面保存著設備的上行和下行數據。在線調試:通過在線調試,我們可以模擬設備的行為,或者對設備下發命令。

,以上的所有就是騰訊IOT平臺的介紹,通過上面的操作,就可以創建一個設備,獲得其name,key,id,然後對其進行開發了。

安卓開發

安卓開發實現的效果很簡單,就是實現一個頁面展示經緯度,然後將經緯度數據上傳到騰訊IOT平臺就行。

前置配置

安卓開發,創建一個Android Studio項目,然後在APP的build gradle 中加入騰訊IOT的SDK

implementation 'com.tencent.iot.explorer:explorer-device-android:3.2.0'

然後新建兩個JSON文件(必做!!!!!),data.json ,代表的是設備的屬性(這個文件的來源會在後面解釋),然後是app-config.json,這個代表的是設備的配置(來源後文解釋)。

data.json

data.json 文件一定要放在安卓的assets目錄下,安卓如何添加assets目錄可以看《Android studio 添加assets文件夾》。data.json需要存放一些數據。這個數據實際上就是自定義功能的數據,複製之後粘貼到data.json文件中。

app-config.json

app-config.json文件的位置一定不要放錯,它與src是同級目錄,在app的下一級目錄。

app-config裡面是device的信息,數據內容如下:

{ "PRODUCT_ID": "產品ID", "DEVICE_NAME": "設備名稱", "DEVICE_PSK": "設備密鑰", "SUB_PRODUCT_ID": "", "SUB_DEV_NAME": "", "SUB_DEV_PSK": "", "SUB_PRODUCT_ID2": "", "SUB_DEV_NAME2": "", "SUB_DEV_PSK2": ""}來源:

權限配置

位置權限,和聯網權限。在AndroidManifest.xml中添加如下權限。值得注意的是,位置權限在安卓版本比較高的設備中,需要使用代碼申請位置權限。

<!-- 位置權限--> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 聯網權限--> <uses-permission android:name="android.permission.INTERNET" />連接平臺代碼

通過官方提供的SDK,接入騰訊IOT平臺實現設備連接和數據上傳。代碼如下所示,具體的含義寫在注釋中。在使用中,我們就可以通過實例化IotCloudUtil,然後使用connect()函數來實現連接和propertyReport函數來實現上傳數據。

package cc.weno.data_template;import com.tencent.iot.explorer.device.android.common.Status;import com.tencent.iot.explorer.device.android.data_template.TXDataTemplateClient;import com.tencent.iot.explorer.device.android.data_template.TXDataTemplateDownStreamCallBack;import com.tencent.iot.explorer.device.android.mqtt.TXMqttActionCallBack;import com.tencent.iot.explorer.device.android.mqtt.TXMqttRequest;import com.tencent.iot.explorer.device.android.utils.AsymcSslUtils;import org.eclipse.paho.client.mqttv3.IMqttToken;import org.eclipse.paho.client.mqttv3.MqttConnectOptions;import org.eclipse.paho.client.mqttv3.MqttMessage;import org.json.JSONObject;import java.util.concurrent.atomic.AtomicInteger;import cc.weno.location.MainActivity;/** * 連接雲平臺的類 * * @author XiaoHui */public class IotCloudUtil { /** * 伺服器網址 */ public static String mBrokerURL = "ssl://iotcloud-mqtt.gz.tencentdevices.com:8883"; /** * 產品ID */ public static String mProductID = "9JXQQW7SR5"; /** * 設備名稱 */ public static String mDevName = "test_device"; /** * 設備密鑰 */ public static String mDevPSK = "pCIUP7zhTp7snmfxb/72+g=="; /** * data.json的名字 */ public static String mJsonFileName = "data.json"; /** * MQTTAction的回調 */ private TXMqttActionCallBack mMqttActionCallBack = null; /** * 下行消息的回調 */ private TXDataTemplateDownStreamCallBack mDownStreamCallBack = null; /** * MQTT連接實例 */ private TXDataTemplateClient mMqttConnection; /** * Activity實例 */ private MainActivity context; /** * 請求ID */ private static AtomicInteger requestID = new AtomicInteger(199); public IotCloudUtil(MainActivity context) { this.context = context; mDownStreamCallBack = new MyDownCallback(); mMqttActionCallBack = new MyMQttCallBack(); } /** * 建立MQTT連接 */ public void connect() { // 創建連接client mMqttConnection = new TXDataTemplateClient(context, mBrokerURL, mProductID, mDevName, mDevPSK, null, null, mMqttActionCallBack, mJsonFileName, mDownStreamCallBack); // 設置連接參數 MqttConnectOptions options = new MqttConnectOptions(); // 連接超時 options.setConnectionTimeout(8); // 保持活躍的時間間隔 options.setKeepAliveInterval(240); // 是否自動重連 options.setAutomaticReconnect(true); // 因為我們是使用密鑰登錄,所以需要設置這個 options.setSocketFactory(AsymcSslUtils.getSocketFactory()); // 建立Request請求 TXMqttRequest mqttRequest = new TXMqttRequest("connect", requestID.getAndIncrement()); // 建立連接 mMqttConnection.connect(options, mqttRequest); } /** * 斷開MQTT連接 */ public void disconnect() { TXMqttRequest mqttRequest = new TXMqttRequest("disconnect", requestID.getAndIncrement()); mMqttConnection.disConnect(mqttRequest); } /** * 發送消息 * * @param property 消息內容 * @param metadata 屬性的metadata,目前只包含各個屬性對應的時間戳,可以為NULL * @return 狀態 */ public Status propertyReport(JSONObject property, JSONObject metadata) { return mMqttConnection.propertyReport(property, metadata); } /** * MQTT的回調函數,暫時不考慮 */ public static class MyMQttCallBack extends TXMqttActionCallBack { @Override public void onConnectCompleted(Status status, boolean reconnect, Object userContext, String msg) { } @Override public void onConnectionLost(Throwable cause) { } @Override public void onDisconnectCompleted(Status status, Object userContext, String msg) { } @Override public void onPublishCompleted(Status status, IMqttToken token, Object userContext, String errMsg) { } @Override public void onSubscribeCompleted(Status status, IMqttToken asyncActionToken, Object userContext, String errMsg) { } @Override public void onMessageReceived(final String topic, final MqttMessage message) { } } /** * 實現下行消息處理的回調接口,暫時不考慮 */ private static class MyDownCallback extends TXDataTemplateDownStreamCallBack { @Override public void onReplyCallBack(String msg) { } @Override public void onGetStatusReplyCallBack(JSONObject data) { } @Override public JSONObject onControlCallBack(JSONObject msg) { return null; } @Override public JSONObject onActionCallBack(String actionId, JSONObject params) { return null; } }}安卓頁面配置

安卓頁面很簡單,就是展示經度和緯度的數據。

頁面代碼如下所示:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:text="x軸:" /> <TextView android:id="@+id/x_position" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="100dp" android:text="0.00" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="100dp" android:text="y軸:" /> <TextView android:id="@+id/y_position" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="100dp" android:layout_marginTop="100dp" android:text="0.00" /></RelativeLayout>Activity代碼

在MainActivity,我們要實現如下的功能,申請位置權限,獲得經緯度的數據,然後進行頁面展示,最後將數據上傳到雲平臺。

package cc.weno.location;import android.Manifest;import android.location.Location;import android.os.Bundle;import android.widget.TextView;import androidx.appcompat.app.AppCompatActivity;import androidx.core.app.ActivityCompat;import com.tencent.iot.explorer.device.android.common.Status;import org.json.JSONException;import org.json.JSONObject;import cc.weno.data_template.IotCloudUtil;/** * 主頁面,進行展示以及發送數據 * * @author XiaoHui */public class MainActivity extends AppCompatActivity { /** * 展示經度 */ private TextView xPositionView; /** * 展示緯度 */ private TextView yPositionView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); xPositionView = findViewById(R.id.x_position); yPositionView = findViewById(R.id.y_position); // 基本上現在的安卓機都需要申請位置權限了 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1); // 獲得位置數據並且發送數據到雲平臺 getAndSendLocation(); } private void getAndSendLocation() { // 獲得GPS工具類 GPSUtils gpsUtil = GPSUtils.getInstance(this); // 獲得位置 Location location = gpsUtil.getLocation(); double positionX = location.getLatitude(); double positionY = location.getLongitude(); // 在手機頁面上展示 xPositionView.setText(String.valueOf(positionX)); yPositionView.setText(String.valueOf(positionY)); // IotCloudUtil IotCloudUtil iotCloudUtil = new IotCloudUtil(this); // 連接雲平臺 iotCloudUtil.connect(); // 等待幾秒鐘,連接成功 try { Thread.sleep(4000); } catch (InterruptedException e) { e.printStackTrace(); } // 調用發送數據的函數需要傳入JsonObject類型的數據 JSONObject property = new JSONObject(); try { property.put("position_x", (float) positionX); property.put("position_y", (float) positionY); // 發送數據 Status status = iotCloudUtil.propertyReport(property, null); if (status == Status.OK){ // 發送成功 } } catch (JSONException e) { e.printStackTrace(); } }其中GPS工具就不進行介紹了,因為其不是重點,關於具體的代碼可以參考GitHub。

微信小程序使用

前面我們說了,可以是用微信小程序對開發的物聯網設備進行開發調試,然後我們在如下的頁面得到設備的二維碼。

然後打開」騰訊連連「小程序,對二維碼進行掃描,即可將設備加入。

然後我們運行安卓程序,自動向騰訊IOT平臺發送經緯度數據,然後在微信小程序上就可以看到最新的數據。

中間存在些許誤差,可能是因為double轉float的精度原因導致的。

總結

通過上面的操作我們創建了一個安卓程序,然後能夠在微信小程序上面看到安卓設備的經緯度。歸咎於原理,就是MQTT協議。使用平臺提供的SDK,讓開發者省下了大量花費在通信協議上面的時間。然而,我們還是應該去關注MQTT協議本身。知其然,更要知其所以然。

參考

Github:android_test_iot_for_tecent物聯網開發平臺使用文檔:物聯網開發平臺 - 文檔中心 - 騰訊雲 (tencent.com)Github:iot-device-java文章轉載自:https://www.cnblogs.com/xiaohuiduan/p/14244343.html

相關焦點

  • 物聯網時代來臨,優質 IoT/邊緣計算項目推薦
    它是一個面向工業物聯網邊緣計算開發的標準化互操作性框架,部署於路由器和交換機等邊緣設備上,為各種傳感器、設備或其他物聯網器件提供即插即用功能並管理 它們,進而收集和分析它們的數據,或者導出至邊緣計算應用或雲計算中心做進一步處理。
  • 廣和通攜手騰訊雲IoT聯合發布基於騰訊連連應用開發框架的4G
    12月10日,在騰訊雲IoT生態峰會上,廣和通攜手騰訊雲IoT聯合發布基於騰訊連連應用開發框架的低成本高性能4G Cat 1模組L610。騰訊連連是依託於騰訊雲物聯網開發平臺IoT Explorer,具備實現設備對接雲的協議開發、連接上雲、數據收發以及虛擬設備調試等能力,協助開發者3-5天內快速實現產品上線,並可根據客戶需求進行深層二次開發。進一步降低4G物聯網設備成本,助行業客戶實現快速低成本的硬體智能化部署。
  • 廣和通攜手騰訊雲IoT聯合發布基於騰訊連連應用開發框架的低成本高...
    通信世界網消息(CWW)12月10日,在騰訊雲IoT生態峰會上,廣和通攜手騰訊雲IoT聯合發布基於騰訊連連應用開發框架的低成本高性能4G Cat 1模組L610。騰訊連連是依託於騰訊雲物聯網開發平臺IoT Explorer,具備實現設備對接雲的協議開發、連接上雲、數據收發以及虛擬設備調試等能力,協助開發者3-5天內快速實現產品上線,並可根據客戶需求進行深層二次開發。進一步降低4G物聯網設備成本,助行業客戶實現快速低成本的硬體智能化部署。
  • ...騰訊高通開發5G遊戲手機;小紅書被各大安卓應用商店下架 | 雷鋒...
    騰訊攜手高通在手遊、5G領域合作,將開發5G遊戲手機7 月 30 日早間消息,高通和騰訊宣布,將在手遊和 5G 領域展開合作,打造騰訊資助的 5G 版遊戲手機。根據協議,未來的騰訊遊戲可以針對運行高通驍龍 Elite 晶片的安卓手機進行「優化」。高通是許多安卓設備最大的手機晶片供應商,市值約 4530 億美元;雙方已經在遊戲手機上合作過。本月早些時候,騰訊與華碩電腦的遊戲設備部門合作,計劃推出一款搭載高通晶片的遊戲手機。騰訊和高通還計劃共同開發5G版遊戲手機,這有助於加強騰訊的流媒體遊戲服務計劃。
  • 魅族專賣店大批撤店;騰訊高通開發5G遊戲手機;小紅書被各大安卓...
    騰訊攜手高通在手遊、5G領域合作,將開發5G遊戲手機7 月 30 日早間消息,高通和騰訊宣布,將在手遊和 5G 領域展開合作,打造騰訊資助的 5G 版遊戲手機。根據協議,未來的騰訊遊戲可以針對運行高通驍龍 Elite 晶片的安卓手機進行「優化」。高通是許多安卓設備最大的手機晶片供應商,市值約 4530 億美元;雙方已經在遊戲手機上合作過。本月早些時候,騰訊與華碩電腦的遊戲設備部門合作,計劃推出一款搭載高通晶片的遊戲手機。騰訊和高通還計劃共同開發5G版遊戲手機,這有助於加強騰訊的流媒體遊戲服務計劃。
  • 為什麼很多人選擇NB-IOT實現定位功能?NB-IOT優勢有哪些?
    在無線通信領域,nb-iot技術的應用十分廣泛。企業和個人使用nb-iot技術和nb-iot設備的可靠性和快速連接性來逐步改變技術系統,並通過與網際網路的連結實現智能世界。 nb-iot即窄帶物聯網。在nb-iot模塊中,許多設備通過傳感器相互連接。
  • LoRa和NB-IoT有什麼區別?LoRa的優勢在哪些方面?
    然而近日,阿里巴巴和中國鐵塔合作,以及騰訊宣布加入LoRa聯盟的消息又為該產業注入一支「強心劑」,藉助於阿里巴巴、騰訊等網際網路巨頭的支持,LoRa技術或將在國內迎來又一個春天。 騰訊則是把重點都放在LoRaWAN技術和應用方面的相關投資。2018年7月,騰訊還宣布計劃與合作夥伴在深圳共同建立一個LoRaWAN網絡,目的是為城市、金融、醫療、零售和工業等提供智慧解決方案。 LoRa技術市場前景廣闊 LoRa技術最早是由法國公司Cycleo(成立於2009年)開發的一種擴頻無線調製專利技術。
  • 夜神安卓模擬器:安卓環境開發、測試三步搞定
    眾所周知,在遊戲開發者進行遊戲開發之前,需要先搭建相應的安卓環境,但是目前在Windows上搭建Android開發環境,需要反反覆覆的不斷設置,比如,在百度經驗搜索安卓環境搭建,出現了相應的搭建教程,但是卻顯示有八個步驟,繁瑣和複雜程度不言而喻。
  • 俄羅斯團隊開發,騰訊首批功能遊戲《歐式幾何》
    這款遊戲在安卓上名字叫《歐氏幾何》ios叫《Euclidea》圖標長這樣。在taptap上的簡介是:俄羅斯團隊Horis開發的《歐氏幾何》,是由一款使用尺規作圖,進行幾何解謎的數學遊戲。還被納入了騰訊首批功能性遊戲哦!另外今天聽說騰訊在做與故宮有關的功能遊戲,委託給了在《我的世界》中做出故宮全圖的團隊,預計年底上線,期待吧!
  • 一款騰訊推出的安卓文件管理器--騰訊文件
    騰訊文件是由騰訊公司出品的手機文件管理軟體,能夠對微信和QQ中的圖片、視頻和文檔進行智能分類,還可以進行批量導出、分享和刪除。
  • 安卓系統是哪個國家開發的 手機安卓系統屬於哪個國家?
    安卓系統是哪個國家開發的 手機安卓系統屬於哪個國家? 並且現在這個系統是沒有中文的,只不過方便國人記憶,憑藉音譯過來就變成了安卓。 但是Android 並不是一開始就屬於GOOGEL的,也是他們收購了Andy Rubin開發的這個軟體,從而加工更新得來。 得到了ANDROID系統之後的谷歌開始了他們的一系列動作,先是大肆尋找加盟商與手機科技的人才,共同運營,匯集了眾多才子的安卓這時候已經基本成型了。
  • 安卓開發學習的路線
    Android應用程式開發是以Java語言為基礎的,所以沒有紮實的Java基礎知識,只是機械的照抄別人的代碼,是沒有任何意義的。下面給各位介紹一下安卓開發學習的路線。很多朋友一上手就開始學習Android,似乎太著急了一些。Android應用程式開發是以Java語言為基礎的,所以沒有紮實的Java基礎知識,只是機械的照抄別人的代碼,是沒有任何意義的。
  • 騰訊QQ安卓版8.2新版本整改完成:不給權限也讓用
    IT之家1月1日消息去年12月初,騰訊手機QQ安卓版迎來了8.2正式版更新,帶來了浮窗彩籤可暫存頁面、會話內可發起實時位置共享、聊天記錄支持備份到電腦、遷移至其他手機等新功能。但是12月31日,騰訊QQ官網更新了新的安卓QQ8.2.0版本,更改了權限使用的問題。
  • 騰訊旗下兩大工作室決鬥,開發《王者榮耀》的天美竟然輸了?
    48連冠,這樣的一款遊戲,以「包容」著稱的騰訊自然不會錯過,於是,騰訊也以第一廠商的身份順理成章的拿下了《絕地求生》的國區代理。除了端遊以外,有著雄厚實力的騰訊自然也不會忘掉手遊這塊,然而不知道什麼原因。騰訊居然打算讓旗下的兩大工作室同時開發不同名的「正版吃雞手遊」,這兩個工作室一個是天美,一個是光子。
  • 安卓開發:JobService中的兩個返回值,讓多少安卓程式設計師頭暈轉向
    前面幾個章節我們把JobInfo中的幾個約束條件都講完了,其實JobScheduler模塊還有一個難點或者說讓不少安卓程式設計師直接頭暈轉向的一點,那就JobService的兩個返回值。在安卓開發過程中,經常會冒出幾個令為難以捉摸的返回值。
  • 近千家知名網際網路企業匯聚首屆安卓綠色聯盟開發者大會 共議安卓新...
    而在本次安卓綠色聯盟首屆開發者大會中,針對「應用設計開發、前沿技術創新及應用分發」等主題深入交流與探索。面向未來,安卓綠色聯盟亦將竭盡全力,與廣大開發者夥伴一起共築中國安卓綠色應用生態。」  大會以高效應用開發、應用創新體驗、自動化測試三個篇章與會開發者深入分享,接下來,就讓我們一起來看看,在這場聚焦安卓應用現狀與未來的開發者大會中,安卓綠色聯盟都邀請了哪些重磅嘉賓,而這些重磅嘉賓又發表了哪些精彩觀點吧。
  • 安卓綠色聯盟攜手開發者加快各類應用適配安卓8.0
    自安卓8.0版本(奧利奧O版本)在8月14日正式發布以來,因其「強大、安全、快速、智能」的特點讓用戶對何時體驗安卓8.0翹首以盼。日前,安卓綠色聯盟聯合華為終端開放實驗室對主流遊戲類應用進行了安卓8.0版本兼容性檢測,絕大部分遊戲應用已經完成適配,但仍有38款遊戲未完全兼容適配安卓8.0版本,目前安卓綠色聯盟已正式通告應用開發者加快兼容適配工作。
  • nb-iot遠傳水錶功能技術參數介紹
    nb-iot遠傳水錶採用我司直讀水錶為計量基礎,通過NB-IOT窄帶蜂窩物聯網進行物聯,實現對水錶使用水量的自動遠程抄表。它能有效地避免了管理部門上門抄表,具備閥門控制功能。方便管理部門對水錶的用水情況進行控制,使得遠程抄表及控制變得更便捷、可靠。
  • 安卓開發測試小工具-adb
    ADB的組成客戶端(Client):可對安卓應用進行安裝、卸載和調試服務端(Service):管理客戶端到安卓設備應用的後臺adb進程。3.驗證:在運行-cmd-輸入adbADB基本命令在開發或者測試的過程中,我們可以通過 adb 來管理多臺設備,其一般的格式為:adb [-e | -
  • 騰訊雲物聯網生態戰略過:開放一個連接12億人的物聯網平臺
    作者:iot101君物聯網智庫 原創轉載請註明來源和出處導  讀騰訊雲物聯網生態戰略的最核心使命就是通過開放一個連接12億人的中立且開放的物聯網平臺,全面支持合作夥伴能力的發展和業務的提升。如果要問一家遊戲開發商選擇騰訊的理由,那麼其中一定有一條是「騰訊可以觸達月活上億的用戶」。