日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

機智云物聯(lián)網(wǎng)平臺設(shè)備接入完整實操教程

機智云 ? 2026-05-19 18:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

機智云物聯(lián)網(wǎng)設(shè)備云端服務(wù)平臺,提供設(shè)備管理、數(shù)據(jù)處理等全套解決方案。本教程詳解硬件接入平臺全流程,結(jié)合FreeRTOS實現(xiàn)多任務(wù)處理與高效通信,幫助開發(fā)者快速掌握設(shè)備上云對接技巧,提升嵌入式與云端協(xié)同開發(fā)能力。


21a590ac-536a-11f1-ab55-92fbcf53809c.png



Part.01機智云平臺概述


機智云為國內(nèi)領(lǐng)先物聯(lián)網(wǎng)開發(fā)平臺,為智能硬件提供設(shè)備接入、云端管理、終端應(yīng)用一站式方案。依托標準協(xié)議與SDK降低開發(fā)門檻,采用設(shè)備、云端、應(yīng)用三層架構(gòu),支持主流通信協(xié)議,具備設(shè)備管理、數(shù)據(jù)存儲等核心能力,配套可視化工具、規(guī)則引擎及開放API,可快速定制物聯(lián)網(wǎng)應(yīng)用。


2、平臺接入前的準備工作


在正式接入機智云平臺之前,開發(fā)者需要完成一系列基礎(chǔ)準備工作。這些工作不僅決定了后續(xù)開發(fā)的順利與否,也直接影響到設(shè)備與云端通信的安全性和穩(wěn)定性。本章將圍繞 注冊開發(fā)者賬號、項目創(chuàng)建與配置、設(shè)備模型定義、設(shè)備ID與密鑰獲取 等核心流程展開,逐步引導(dǎo)開發(fā)者從零開始構(gòu)建接入環(huán)境。


本章內(nèi)容按照開發(fā)流程遞進式展開,適合初學(xué)者系統(tǒng)掌握接入前的準備步驟,也為有經(jīng)驗的嵌入式開發(fā)者提供標準化操作參考。


2.1 注冊與項目創(chuàng)建流程


在接入機智云平臺之前,第一步是完成開發(fā)者賬號的注冊與項目初始化配置。這是整個接入流程的起點,也是后續(xù)操作的前置條件。


2.1.1 注冊開發(fā)者賬號

開發(fā)者賬號是使用機智云平臺的基礎(chǔ)身份憑證。注冊過程如下:


訪問 機智云開發(fā)者平臺 官網(wǎng)。

點擊“注冊”按鈕,填寫郵箱、手機號、密碼等基本信息。

完成郵箱或手機驗證。

登錄后進入控制臺主頁。

注冊完成后,開發(fā)者即可訪問控制臺進行項目創(chuàng)建和設(shè)備管理。


注冊流程圖


graph TD A[訪問機智云開發(fā)者平臺] --> B[點擊注冊] B --> C[填寫注冊信息] C --> D[郵箱/手機驗證] D --> E[登錄開發(fā)者平臺]



2.1.2 創(chuàng)建新項目并配置基本信息

在控制臺中創(chuàng)建項目是設(shè)備接入的第一步,也是設(shè)備分類管理的基礎(chǔ)。


操作步驟:

登錄控制臺后,點擊“新建項目”按鈕。

填寫項目名稱(如:SmartHome_Device1)。

選擇設(shè)備類型(如:Wi-Fi、藍牙4G等)。

選擇適用的行業(yè)(如:智能家居、工業(yè)控制等)。

提交后系統(tǒng)會自動生成項目ID(Project ID)和接入密鑰(Product Key)。


239d7776-536a-11f1-ab55-92fbcf53809c.png



Part.02獲取平臺提供的接入憑證


在項目創(chuàng)建完成后,平臺會為該項目生成一組接入憑證,主要包括:


Product Key :設(shè)備型號的唯一標識符。

Product Secret :用于設(shè)備認證的密鑰。

Server Domain :云端通信服務(wù)器地址。

這些信息在后續(xù)固件開發(fā)中將被嵌入代碼中,用于設(shè)備與云端建立安全連接。


獲取路徑:

控制臺 → 項目管理 → 選擇對應(yīng)項目 → 查看“產(chǎn)品信息”。

點擊“查看密鑰”按鈕,輸入驗證碼后獲取 Product Secret。


24354ed4-536a-11f1-ab55-92fbcf53809c.png


這些憑證在設(shè)備初始化時將被用于連接云端服務(wù)器,是設(shè)備認證流程的關(guān)鍵組成部分。


2.2 設(shè)備模型定義方法

設(shè)備模型(Device Model)是機智云平臺中描述設(shè)備能力的核心數(shù)據(jù)結(jié)構(gòu)。它定義了設(shè)備的屬性、數(shù)據(jù)點、通信協(xié)議等內(nèi)容。


2.2.1 理解設(shè)備模型的基本結(jié)構(gòu)

一個設(shè)備模型通常包含以下核心要素:


設(shè)備屬性(Device Attributes) :描述設(shè)備的基本能力,如是否支持遠程控制、是否支持OTA升級等。

數(shù)據(jù)點(Data Points, DP) :定義設(shè)備上報或接收的數(shù)據(jù)類型,如溫度、開關(guān)狀態(tài)、亮度等。

通信協(xié)議(Protocol) :設(shè)備與云端通信所采用的協(xié)議類型,如 MQTT、HTTP、CoAP 等。

設(shè)備模型是云端理解設(shè)備行為的基礎(chǔ),也是實現(xiàn)設(shè)備遠程控制和數(shù)據(jù)可視化的前提。


Part.03使用機智云控制臺定義設(shè)備屬性


操作步驟:

控制臺 → 項目管理 → 選擇對應(yīng)項目 → 進入“設(shè)備模型”頁面。

點擊“添加設(shè)備屬性”按鈕。

填寫屬性名稱(如:PowerStatus)、數(shù)據(jù)類型(布爾型、整型、字符串等)、讀寫權(quán)限(只讀、可寫)。

提交后,該屬性將出現(xiàn)在設(shè)備模型中。


247daf3a-536a-11f1-ab55-92fbcf53809c.png


2.2.3 配置數(shù)據(jù)點與通信協(xié)議

數(shù)據(jù)點配置:

數(shù)據(jù)點(DP)用于描述設(shè)備與云端交互的具體數(shù)據(jù)。例如:


DPID 1:設(shè)備開關(guān)狀態(tài)(布爾型)

DPID 2:當前溫度(整型)

DPID 3:設(shè)備版本號(字符串)

在控制臺中,開發(fā)者可為每個數(shù)據(jù)點設(shè)置其類型、ID、名稱和訪問權(quán)限。


通信協(xié)議配置:

機智云平臺支持多種通信協(xié)議,默認推薦使用 MQTT 協(xié)議,其具有低延遲 、輕量級、支持雙向通信等優(yōu)勢。

示例通信協(xié)議對比表:

24a6571e-536a-11f1-ab55-92fbcf53809c.png



Part.04設(shè)備ID與密鑰獲取


設(shè)備認證是確保設(shè)備合法接入平臺的關(guān)鍵環(huán)節(jié)。機智云平臺采用基于設(shè)備ID與密鑰的認證機制,保障通信安全。


2.3.1 設(shè)備認證機制簡介

機智云平臺使用 基于設(shè)備ID和密鑰的鑒權(quán)機制 ,包括:


設(shè)備ID(Device ID) :設(shè)備的唯一標識,由平臺分配或自定義。

設(shè)備密鑰(Device Secret) :用于認證的密鑰,與設(shè)備ID綁定。

認證流程如下:


設(shè)備連接云端服務(wù)器。

發(fā)送設(shè)備ID與簽名(由Device Secret加密生成)。

平臺驗證簽名,通過后建立連接。

2.3.2 獲取設(shè)備唯一標識與通信密鑰

獲取路徑:

控制臺 → 設(shè)備管理 → 選擇對應(yīng)設(shè)備 → 查看設(shè)備詳情。

獲取 Device ID 和 Device Secret。


24ecfcdc-536a-11f1-ab55-92fbcf53809c.png


2.3.3 安全存儲與使用密鑰策略

在實際開發(fā)中,如何安全地存儲和使用設(shè)備密鑰至關(guān)重要。以下是幾種推薦做法:


使用硬件安全模塊(HSM) :如 ESP32 的 Secure Element 或 STM32 的 TrustZone。

加密存儲在Flash中 :對密鑰進行AES加密后存儲在Flash中。

運行時解密使用 :在設(shè)備啟動時解密密鑰并加載到內(nèi)存中使用。

示例密鑰加載代碼(C語言):



#include"esp_aes.h"#include
// 加密后的密鑰存儲在Flash中const uint8_t encrypted_key[16] = {0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF, 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10};const uint8_t aes_key[16] = "mysecretpassword"; // 解密密鑰
void load_device_secret(char *secret_out) { esp_aes_context ctx; uint8_t decrypted_key[16];
esp_aes_init(&ctx); esp_aes_setkey_dec(&ctx, aes_key, 128); esp_aes_crypt_ecb(&ctx, ESP_AES_DECRYPT, encrypted_key, decrypted_key);
memcpy(secret_out, decrypted_key, 16); secret_out[16] = '\0'; // 添加字符串結(jié)束符}




代碼邏輯分析:

加密密鑰存儲 :將密鑰以加密形式存入Flash,避免直接暴露。

AES解密 :使用 AES 算法對加密密鑰進行解密。

運行時使用 :僅在需要時解密并加載到內(nèi)存中,避免長期暴露。

本章內(nèi)容圍繞接入平臺前的準備工作展開,涵蓋了從賬號注冊到設(shè)備模型定義、再到密鑰管理 的完整流程。通過本章的學(xué)習(xí),開發(fā)者將具備完整的接入前準備能力,并為后續(xù)的嵌入式開發(fā)和設(shè)備通信打下堅實基礎(chǔ)。


Part.05嵌入式固件開發(fā)基礎(chǔ)


嵌入式物聯(lián)網(wǎng)設(shè)備的開發(fā)中,固件開發(fā)是連接硬件與平臺服務(wù)的關(guān)鍵環(huán)節(jié)。本章將圍繞基于機智云SDK的固件開發(fā)流程,深入探討嵌入式系統(tǒng)中任務(wù)調(diào)度、時間管理與內(nèi)存優(yōu)化等核心技術(shù),幫助開發(fā)者構(gòu)建穩(wěn)定、高效且具備高并發(fā)處理能力的設(shè)備端程序。


3.1 基于SDK的固件開發(fā)


機智云提供了完善的嵌入式SDK,支持多種通信模塊(如Wi-Fi、藍牙、NB-IoT等),并集成了網(wǎng)絡(luò)連接、設(shè)備認證、數(shù)據(jù)通信等核心功能。開發(fā)者通過SDK可以快速構(gòu)建具備聯(lián)網(wǎng)能力的智能設(shè)備。


3.1.1 下載與配置機智云SDK


開發(fā)者首先需要在機智云官網(wǎng)注冊開發(fā)者賬號,并在項目詳情頁下載對應(yīng)平臺的SDK。SDK通常以壓縮包形式提供,內(nèi)含源碼、頭文件、示例工程以及配置工具。


以ESP32平臺為例,SDK目錄結(jié)構(gòu)如下:


251d2484-536a-11f1-ab55-92fbcf53809c.png


配置步驟如下:

1. 解壓SDK到開發(fā)環(huán)境目錄。

2. 安裝交叉編譯工具鏈(如ESP-IDF)。

3. 根據(jù)目標平臺修改 Makefile 中的編譯參數(shù)。

4. 將項目中獲取的設(shè)備ID與密鑰寫入 gos_device.c 中的配置項。


3.1.2 SDK核心模塊功能解析

SDK主要由以下模塊構(gòu)成:


graph TD A[SDK入口] --> B[網(wǎng)絡(luò)連接模塊] A --> C[設(shè)備認證模塊] A --> D[數(shù)據(jù)通信模塊] B --> E[WIFI連接] B --> F[藍牙連接] C --> G[設(shè)備ID驗證] D --> H[數(shù)據(jù)上報] D --> I[指令接收]



網(wǎng)絡(luò)連接模塊 :根據(jù)設(shè)備類型初始化網(wǎng)絡(luò)通信協(xié)議,支持TCP、MQTT等。

設(shè)備認證模塊 :使用設(shè)備ID和密鑰與云端進行身份驗證,確保通信安全。

數(shù)據(jù)通信模塊 :負責(zé)設(shè)備狀態(tài)數(shù)據(jù)的上報與云端指令的接收。

以Wi-Fi連接模塊為例,核心代碼如下:


#include"gos_wifi.h"
void connect_wifi() { gos_wifi_config_t config = { .ssid = "your-ssid", .password = "your-password" };
if (gos_wifi_connect(&config) == GOS_OK) { printf("Wi-Fi connected successfully.\n"); } else { printf("Failed to connect Wi-Fi.\n"); }}



代碼解析:

- gos_wifi_config_t :定義Wi-Fi連接參數(shù)結(jié)構(gòu)體。

- gos_wifi_connect() :SDK封裝的Wi-Fi連接函數(shù),返回連接狀態(tài)。

- 錯誤處理邏輯可擴展為重試機制或日志記錄。


Part.06 初始化網(wǎng)絡(luò)連接與認證流程


設(shè)備啟動后,需完成網(wǎng)絡(luò)連接與設(shè)備認證流程。流程如下:


認證流程的代碼實現(xiàn)如下:


參數(shù)說明:

- device_id :設(shè)備唯一標識,由平臺生成。

- device_secret :設(shè)備密鑰,用于加密通信。


3.2 FreeRTOS多任務(wù)調(diào)度機制


FreeRTOS 是廣泛應(yīng)用于嵌入式系統(tǒng)的實時操作系統(tǒng)(RTOS),其任務(wù)調(diào)度機制能夠有效管理多個并發(fā)任務(wù),提升系統(tǒng)響應(yīng)能力和資源利用率。


3.2.1 FreeRTOS任務(wù)創(chuàng)建與調(diào)度原理


在FreeRTOS中,任務(wù)是通過 xTaskCreate() 函數(shù)創(chuàng)建的。每個任務(wù)都有獨立的堆棧和優(yōu)先級。


代碼分析:

- xTaskCreate() :創(chuàng)建任務(wù)函數(shù),參數(shù)依次為任務(wù)函數(shù)、任務(wù)名稱、堆棧大小、傳入?yún)?shù)、優(yōu)先級、任務(wù)句柄。

- vTaskDelay() :延遲函數(shù),單位為系統(tǒng)節(jié)拍(tick)。

- 優(yōu)先級高的任務(wù)(如task2)將獲得更多的CPU時間。


3.2.2 多任務(wù)協(xié)同處理設(shè)備通信


在實際開發(fā)中,多個任務(wù)可能需要協(xié)同工作。例如,一個任務(wù)負責(zé)接收云端指令,另一個任務(wù)負責(zé)執(zhí)行設(shè)備控制。


使用隊列(Queue)實現(xiàn)任務(wù)間通信的示例代碼如下:


#include"FreeRTOS.h"#include"queue.h"
QueueHandle_t command_queue;
void receive_task(void *pvParameters) { char command[32]; while (1) { // 模擬從云端接收命令 strcpy(command, "ON"); xQueueSend(command_queue, &command, portMAX_DELAY); vTaskDelay(2000 / portTICK_PERIOD_MS); }}
void control_task(void *pvParameters) { char received[32]; while (1) { if (xQueueReceive(command_queue, &received, portMAX_DELAY)) { printf("Received command: %s\n", received); // 執(zhí)行控制邏輯 } }}
int main(void) { command_queue = xQueueCreate(10, sizeof(char) * 32); xTaskCreate(receive_task, "Receive", 1024, NULL, 1, NULL); xTaskCreate(control_task, "Control", 1024, NULL, 2, NULL); vTaskStartScheduler(); return 0;}



邏輯分析:

- 使用 xQueueCreate() 創(chuàng)建隊列,用于緩存命令數(shù)據(jù)。

- receive_task 模擬接收云端命令并發(fā)送到隊列。

- control_task 從隊列中取出命令并執(zhí)行設(shè)備控制。


3.2.3 任務(wù)優(yōu)先級與資源分配策略

合理的任務(wù)優(yōu)先級和資源分配策略對于系統(tǒng)穩(wěn)定性至關(guān)重要。高優(yōu)先級任務(wù)應(yīng)負責(zé)實時性要求高的操作(如通信),低優(yōu)先級任務(wù)則處理數(shù)據(jù)處理或UI更新。


以下為優(yōu)先級設(shè)置建議表:


25ad2d4a-536a-11f1-ab55-92fbcf53809c.png


資源分配方面,需注意:

- 避免多個任務(wù)同時訪問共享資源。

- 使用信號量或互斥鎖保護臨界資源。


3.3 FreeRTOS時間管理與內(nèi)存優(yōu)化


時間管理和內(nèi)存優(yōu)化是嵌入式系統(tǒng)性能調(diào)優(yōu)的重要方面。FreeRTOS提供了豐富的API支持精確的時間控制和高效的內(nèi)存管理。


3.3.1 時間延遲與定時器使用

FreeRTOS支持兩種時間控制方式:任務(wù)延遲和軟件定時器。


示例代碼展示使用定時器:


#include"FreeRTOS.h"#include"timers.h"
TimerHandle_t my_timer;
void timer_callback(TimerHandle_t xTimer) { printf("Timer triggered.\n");}
int main(void) { my_timer = xTimerCreate("MyTimer", pdMS_TO_TICKS(1000), pdTRUE, 0, timer_callback); xTimerStart(my_timer, 0); vTaskStartScheduler(); return 0;}



參數(shù)說明:


- "MyTimer" :定時器名稱。

- pdMS_TO_TICKS(1000) :定時周期,單位毫秒轉(zhuǎn)換為tick。

- pdTRUE :設(shè)置為周期性定時器。

- timer_callback :回調(diào)函數(shù)。


3.3.2 動態(tài)內(nèi)存管理機制

FreeRTOS提供 pvPortMalloc() 和 vPortFree() 用于動態(tài)內(nèi)存分配與釋放。合理使用可提高內(nèi)存利用率。


邏輯分析:

- pvPortMalloc() :申請指定大小的內(nèi)存空間。

- vPortFree() :釋放內(nèi)存,避免內(nèi)存泄漏。


3.3.3 內(nèi)存泄漏檢測與優(yōu)化技巧

使用內(nèi)存泄漏檢測工具(如Valgrind或FreeRTOS內(nèi)置鉤子函數(shù))可有效發(fā)現(xiàn)內(nèi)存問題。建議在開發(fā)中啟用 configUSE_MALLOC_FAILED_HOOK 配置項。


優(yōu)化技巧包括:

- 避免頻繁分配與釋放內(nèi)存。

- 使用內(nèi)存池管理固定大小對象。

- 合理設(shè)置任務(wù)堆棧大小,避免棧溢出。


本章從SDK的使用入手,逐步深入到FreeRTOS的任務(wù)調(diào)度、時間管理與內(nèi)存優(yōu)化,幫助開發(fā)者掌握構(gòu)建高效嵌入式固件的核心技能。下一章將圍繞設(shè)備通信與數(shù)據(jù)交互展開更深入的探討。


4. 設(shè)備通信與數(shù)據(jù)交互


在物聯(lián)網(wǎng)系統(tǒng)中,設(shè)備通信與數(shù)據(jù)交互是整個架構(gòu)的核心環(huán)節(jié)。本章將深入探討如何通過機智云平臺實現(xiàn)設(shè)備與云端之間的數(shù)據(jù)上報、指令下發(fā)、異常處理等關(guān)鍵通信功能,并結(jié)合FreeRTOS系統(tǒng)中的互斥鎖與信號量機制,保障多任務(wù)環(huán)境下的數(shù)據(jù)一致性與任務(wù)協(xié)調(diào)。最后,通過一個完整的機智云+FreeRTOS接入例程,幫助讀者掌握實際開發(fā)中通信模塊的構(gòu)建與調(diào)試技巧。


4.1 數(shù)據(jù)上報與命令接收實現(xiàn)


物聯(lián)網(wǎng)設(shè)備在運行過程中需要將采集到的數(shù)據(jù)上傳至云端,同時接收來自云端的控制指令。這一過程涉及數(shù)據(jù)格式定義、通信協(xié)議選擇、錯誤處理機制等多個方面。


4.1.1 上報設(shè)備狀態(tài)數(shù)據(jù)到云端


設(shè)備狀態(tài)數(shù)據(jù)通常包括傳感器數(shù)值、設(shè)備運行狀態(tài)、故障信息等。使用機智云SDK時,開發(fā)者需要通過數(shù)據(jù)點(Data Point)機制將這些數(shù)據(jù)結(jié)構(gòu)化,并通過MQTT或HTTP協(xié)議上報至云端。


// 示例:上報溫度數(shù)據(jù)到云端void report_temperature(float temp) { int32_t temp_int = (int32_t)(temp * 10); // 轉(zhuǎn)換為整數(shù),保留一位小數(shù) GosDeviceReport("temp", &temp_int, sizeof(temp_int));}



Part.07代碼分析


GosDeviceReport 是機智云SDK提供的數(shù)據(jù)上報接口,第一個參數(shù)為數(shù)據(jù)點名稱(如“temp”),第二個參數(shù)為數(shù)據(jù)指針,第三個參數(shù)為數(shù)據(jù)長度。


數(shù)據(jù)點名稱需要在機智云控制臺中預(yù)先定義,確保云端能夠正確識別和解析。


為保證傳輸精度,浮點數(shù)通常轉(zhuǎn)換為整數(shù)處理,如乘以10保留一位小數(shù)。


4.1.2 接收云端指令并執(zhí)行本地操作


設(shè)備需要監(jiān)聽云端下發(fā)的指令,并根據(jù)指令內(nèi)容執(zhí)行相應(yīng)的操作,如開關(guān)設(shè)備、調(diào)節(jié)參數(shù)等。


// 示例:處理云端下發(fā)的指令void cloud_command_handler(const char *cmd, const uint8_t *data, uint32_t len) { if (strcmp(cmd, "switch") == 0) { uint8_t switch_state = *(uint8_t *)data; if (switch_state == 1) { turn_on_device(); } else { turn_off_device(); } }}
// 注冊指令回調(diào)函數(shù)GosRegisterCommandHandler(cloud_command_handler);



代碼分析:


cloud_command_handler 是指令處理回調(diào)函數(shù),接收到的指令通過 cmd 字符串識別。


data 指針指向指令參數(shù),開發(fā)者需根據(jù)協(xié)議進行解析。

通過 GosRegisterCommandHandler 注冊回調(diào)函數(shù),使SDK在接收到指令時自動調(diào)用該函數(shù)。


4.1.3 數(shù)據(jù)格式解析與通信異常處理


在數(shù)據(jù)交互過程中,通信異??赡軐?dǎo)致數(shù)據(jù)丟失或解析錯誤。開發(fā)者需在設(shè)計時加入異常處理機制,如重試、超時控制、數(shù)據(jù)校驗等。


25f84c30-536a-11f1-ab55-92fbcf53809c.png


示例:使用JSON解析數(shù)據(jù)點


// 使用 cJSON 庫解析 JSON 數(shù)據(jù)void parse_json_data(const char *json_str) { cJSON *root = cJSON_Parse(json_str); if (root == NULL) { printf("JSON parse error\n"); return; }
cJSON *temp = cJSON_GetObjectItemCaseSensitive(root, "temp"); if (temp && cJSON_IsNumber(temp)) { float temperature = temp->valuedouble; printf("Current temperature: %.2f°C\n", temperature); }
cJSON_Delete(root);}



代碼分析:


使用 cJSON 庫解析從云端接收到的 JSON 格式數(shù)據(jù)。

cJSON_Parse 將字符串轉(zhuǎn)換為 JSON 對象樹。

cJSON_GetObjectItemCaseSensitive 用于獲取指定字段。

cJSON_IsNumber 判斷字段類型,確保數(shù)據(jù)正確性。

使用 cJSON_Delete 釋放內(nèi)存,避免內(nèi)存泄漏。


4.2 FreeRTOS互斥鎖與信號量應(yīng)用


在嵌入式系統(tǒng)中,尤其是使用FreeRTOS進行多任務(wù)開發(fā)時,共享資源的訪問需要通過互斥鎖(Mutex)與信號量(Semaphore)來協(xié)調(diào),防止數(shù)據(jù)競爭與資源沖突。


4.2.1 互斥鎖保護共享資源


互斥鎖用于保護共享資源,如全局變量、外設(shè)寄存器等,確保同一時刻只有一個任務(wù)訪問資源。


// 定義互斥鎖SemaphoreHandle_t xMutex;
// 初始化互斥鎖xMutex = xSemaphoreCreateMutex();
// 任務(wù)A中使用互斥鎖void taskA(void *pvParameters) { while (1) { if (xSemaphoreTake(xMutex, portMAX_DELAY) == pdTRUE) { // 訪問共享資源 shared_resource++; xSemaphoreGive(xMutex); } vTaskDelay(pdMS_TO_TICKS(1000)); }}



代碼分析:


xSemaphoreCreateMutex() 創(chuàng)建一個互斥鎖。

xSemaphoreTake() 用于獲取鎖,若無法獲取則阻塞等待。

xSemaphoreGive() 釋放鎖,允許其他任務(wù)訪問資源。

使用互斥鎖可以防止多個任務(wù)同時修改共享資源,避免數(shù)據(jù)不一致問題。

4.2.2 使用信號量協(xié)調(diào)任務(wù)通信

信號量常用于任務(wù)間通信,控制任務(wù)執(zhí)行順序或同步事件。


// 創(chuàng)建二值信號量SemaphoreHandle_t xBinarySemaphore;
// 初始化信號量xBinarySemaphore = xSemaphoreCreateBinary();
// 任務(wù)B等待信號量void taskB(void *pvParameters) { while (1) { if (xSemaphoreTake(xBinarySemaphore, portMAX_DELAY) == pdTRUE) { // 執(zhí)行操作 process_data(); } }}
// 任務(wù)C發(fā)送信號量void taskC(void *pvParameters) { while (1) { // 模擬事件發(fā)生 data_ready = true; xSemaphoreGive(xBinarySemaphore); vTaskDelay(pdMS_TO_TICKS(5000)); }}



代碼分析:


xSemaphoreCreateBinary() 創(chuàng)建一個二值信號量,用于任務(wù)間通信。

xSemaphoreTake() 用于等待信號量,若未收到則阻塞。

xSemaphoreGive() 由另一個任務(wù)調(diào)用,釋放信號量以喚醒等待任務(wù)。

該機制可用于實現(xiàn)事件驅(qū)動的通信模型,如數(shù)據(jù)準備完成、中斷處理等。

4.2.3 避免死鎖與資源競爭問題

在使用互斥鎖與信號量時,需要注意避免死鎖和資源競爭問題:


死鎖避免策略:

保持資源請求順序一致。

設(shè)置超時機制,防止無限等待。

使用遞歸互斥鎖處理嵌套調(diào)用。


Part.09資源競爭處理


臨界區(qū)保護:使用 taskENTER_CRITICAL() 和 taskEXIT_CRITICAL() 保護短小關(guān)鍵代碼段。

使用隊列(Queue)代替共享變量進行任務(wù)通信。

示例:使用隊列替代共享變量


QueueHandle_t xQueue;
// 創(chuàng)建隊列xQueue = xQueueCreate(10, sizeof(int));
// 任務(wù)D發(fā)送數(shù)據(jù)void taskD(void *pvParameters) { int data = 42; xQueueSend(xQueue, &data, portMAX_DELAY);}
// 任務(wù)E接收數(shù)據(jù)void taskE(void *pvParameters) { int receivedData; if (xQueueReceive(xQueue, &receivedData, portMAX_DELAY)) { printf("Received data: %d\n", receivedData); }}



4.3 機智云+FreeRTOS接入例程解析

為了幫助讀者更好地理解整個通信流程,本節(jié)將解析一個完整的機智云+FreeRTOS接入例程。


4.3.1 完整例程結(jié)構(gòu)分析

完整的接入例程通常包括以下模塊:


初始化模塊: 包括Wi-Fi連接、SDK初始化、任務(wù)創(chuàng)建等。

通信模塊: 數(shù)據(jù)上報、指令接收、數(shù)據(jù)解析。

任務(wù)管理模塊: 多任務(wù)調(diào)度、資源同步、異常處理。

調(diào)試模塊: 日志輸出、錯誤檢測、調(diào)試接口。

4.3.2 核心代碼模塊功能詳解


// 初始化Wi-Fi與SDKvoid app_main() { wifi_init(); gos_sdk_init();
// 創(chuàng)建通信任務(wù) xTaskCreate(communication_task, "comm_task", 2048, NULL, 5, NULL);
// 創(chuàng)建數(shù)據(jù)處理任務(wù) xTaskCreate(data_processing_task, "data_task", 2048, NULL, 4, NULL);}
// 通信任務(wù)void communication_task(void *pvParameters) { while (1) { if (is_wifi_connected()) { GosDeviceReport("temp", ¤t_temp, sizeof(current_temp)); } vTaskDelay(pdMS_TO_TICKS(5000)); }}
// 數(shù)據(jù)處理任務(wù)void data_processing_task(void *pvParameters) { while (1) { current_temp = read_temperature_sensor(); vTaskDelay(pdMS_TO_TICKS(1000)); }}



代碼分析:


app_main() 是程序入口,負責(zé)初始化Wi-Fi和SDK。

communication_task 負責(zé)定時上報數(shù)據(jù),依賴網(wǎng)絡(luò)狀態(tài)。

data_processing_task 負責(zé)讀取傳感器數(shù)據(jù),定時更新。

使用FreeRTOS的 xTaskCreate 創(chuàng)建任務(wù),設(shè)置優(yōu)先級和??臻g。


4.3.3 例程調(diào)試與問題排查思路

在實際開發(fā)中,常見問題包括:


連接失?。?檢查Wi-Fi配置、認證密鑰、服務(wù)器地址。

數(shù)據(jù)未上報: 查看SDK初始化是否成功,數(shù)據(jù)點是否定義正確。

任務(wù)卡死: 使用 vTaskList() 查看任務(wù)狀態(tài),確認是否阻塞。

內(nèi)存泄漏: 使用 uxTaskGetStackHighWaterMark() 檢查任務(wù)棧使用情況。

調(diào)試建議:


啟用日志輸出,查看SDK內(nèi)部狀態(tài)。

使用Wireshark等工具抓包分析通信流量。

使用斷點調(diào)試器(如JTAG)逐行調(diào)試任務(wù)執(zhí)行流程。

在關(guān)鍵路徑加入 printf 輸出,定位執(zhí)行卡頓點。

通過本章內(nèi)容的學(xué)習(xí),讀者可以掌握設(shè)備與云端之間的通信機制、多任務(wù)資源協(xié)調(diào)策略,以及實際接入例程的構(gòu)建與調(diào)試方法。下一章將進一步介紹設(shè)備的測試與部署流程,幫助讀者完成從開發(fā)到上線的完整閉環(huán)。


5. 設(shè)備測試與部署上線


在物聯(lián)網(wǎng)設(shè)備開發(fā)流程中, 設(shè)備測試與部署上線 是確保產(chǎn)品穩(wěn)定性和功能完整性的關(guān)鍵階段。本章將從 本地測試與調(diào)試技巧 、 固件燒錄與設(shè)備上線 、 機智云控制臺使用與監(jiān)控 三個主要方面,深入講解如何高效完成設(shè)備的最終部署與上線驗證。


本章內(nèi)容將涵蓋設(shè)備測試的常見方法、調(diào)試工具的使用技巧、固件燒錄的具體步驟、設(shè)備連接云端的驗證流程,以及如何通過機智云平臺對設(shè)備進行實時監(jiān)控與性能優(yōu)化建議。


Part.10本地測試與調(diào)試技巧


在設(shè)備正式部署之前,進行 本地測試 是確保其功能正確性和通信穩(wěn)定性的必要步驟。通過模擬設(shè)備行為、使用調(diào)試工具查看通信日志、快速定位并解決常見問題,可以有效提升開發(fā)效率。


5.1.1 模擬設(shè)備行為進行本地測試


在實際部署前,開發(fā)者可以使用虛擬設(shè)備或模擬器來模擬真實設(shè)備的行為,驗證其通信邏輯是否正確。


示例:使用 Python 模擬設(shè)備上報數(shù)據(jù)


import timeimport jsonimport random
def simulate_device_data(): while True: data = { "temperature": round(random.uniform(20, 40), 2), "humidity": round(random.uniform(30, 70), 2), "timestamp": int(time.time()) } print("上報數(shù)據(jù):", json.dumps(data)) time.sleep(5)
simulate_device_data()



代碼解析:

random.uniform(20, 40) :模擬溫度傳感器的隨機數(shù)值;

json.dumps(data) :將字典數(shù)據(jù)轉(zhuǎn)換為 JSON 格式用于模擬上報;

time.sleep(5) :每 5 秒上報一次數(shù)據(jù);

該腳本可用于模擬設(shè)備在本地向服務(wù)器發(fā)送數(shù)據(jù)的過程。

延伸討論:

在實際開發(fā)中,可以將上述邏輯嵌入到設(shè)備的測試固件中,模擬其與機智云平臺的通信過程,確保在沒有真實硬件的情況下也能進行功能驗證。


5.1.2 使用調(diào)試工具查看通信日志


在嵌入式開發(fā)中,使用串口調(diào)試工具查看設(shè)備與云端的通信日志是定位問題的關(guān)鍵手段。


2657c23c-536a-11f1-ab55-92fbcf53809c.png


示例:使用 minicom 查看日志


sudo minicom -D /dev/ttyUSB0 -b 115200



-D /dev/ttyUSB0 :指定串口設(shè)備;

-b 115200 :設(shè)置波特率為 115200;

通過該命令可以實時查看設(shè)備輸出的調(diào)試信息,如連接狀態(tài)、心跳包、數(shù)據(jù)上報等。


通信日志示例


[INFO] WiFi Connected: SSID=MyHomeWiFi[INFO] Connecting to GosSocket...[INFO] Socket Connected[INFO] Sending Auth Packet...[INFO] Auth Success[INFO] Sending Data: {"temp":25.3, "humi":60.1}



日志分析要點:

連接狀態(tài) :檢查 WiFi 和云端連接是否正常;

認證流程 :觀察設(shè)備是否成功通過認證;

數(shù)據(jù)交互 :確認數(shù)據(jù)是否正常發(fā)送與接收;

錯誤提示 :識別如超時、斷開等異常信息。


5.1.3 常見問題定位與解決方法

在本地測試過程中,常見的問題包括連接失敗、認證失敗、數(shù)據(jù)無法上報等。


2676caf6-536a-11f1-ab55-92fbcf53809c.png


常見問題與解決策略:


舉例說明:


[ERROR] Connect to GosSocket Failed



假設(shè)設(shè)備連接云端失敗,調(diào)試日志顯示:

此時應(yīng)檢查:


是否已正確配置設(shè)備 ID 與密鑰;

網(wǎng)絡(luò)是否允許訪問機智云的服務(wù)器 IP 和端口;

固件中是否啟用了 DNS 解析功能;

是否存在防火墻或路由器限制訪問。


5.2 固件燒錄與設(shè)備上線

在設(shè)備完成本地測試后,下一步是將固件燒錄到目標硬件中,并確保其能夠成功連接機智云平臺。


Part.12 使用燒錄工具準備固件文件


不同的硬件平臺使用不同的燒錄工具。以 ESP32 為例,常用的燒錄工具是 esptool.py 。


26b5247c-536a-11f1-ab55-92fbcf53809c.png


--port /dev/ttyUSB0 :指定串口設(shè)備;

--baud 460800 :設(shè)置波特率;

0x1000 :指定固件寫入的起始地址;

firmware.bin :待燒錄的固件文件。

參數(shù)說明:

--chip :可指定芯片型號,如 esp32 ;

--flash_mode :設(shè)定 Flash 模式(默認為 dio );

--flash_freq :設(shè)定 Flash 頻率(如 40m );

固件文件結(jié)構(gòu):


5.2.2 連接設(shè)備并完成固件燒錄

完成燒錄后,需重新啟動設(shè)備并觀察串口輸出,確保設(shè)備能夠正常啟動并連接網(wǎng)絡(luò)。


Part.13燒錄流程總結(jié)


使用 USB 轉(zhuǎn) TTL 模塊連接設(shè)備;

打開終端并運行燒錄命令;

燒錄完成后斷電重啟設(shè)備;

使用串口調(diào)試工具查看啟動日志;

觀察設(shè)備是否連接 WiFi 和云端;

驗證是否成功上報數(shù)據(jù)。

常見燒錄問題:

設(shè)備無法識別 :檢查 USB 驅(qū)動是否安裝;

燒錄失敗 :嘗試降低波特率或更換 USB 線;

啟動失敗 :檢查固件是否完整、是否適配當前硬件。

5.2.3 設(shè)備連接云端并驗證上線狀態(tài)

設(shè)備燒錄完成后,需驗證其是否成功連接機智云平臺。


驗證步驟:

在串口調(diào)試工具中查看設(shè)備輸出日志;

登錄機智云控制臺,進入項目管理頁面;

查看設(shè)備是否出現(xiàn)在設(shè)備列表中;

檢查設(shè)備是否上報了數(shù)據(jù);

嘗試下發(fā)控制指令,觀察設(shè)備響應(yīng)。

控制臺界面截圖示意(偽代碼):


graph TD A[設(shè)備啟動] --> B[連接WiFi] B --> C[連接機智云] C --> D[認證通過] D --> E[上報數(shù)據(jù)] E --> F{是否收到云端指令?} F -->|是| G[執(zhí)行操作] F -->|否| H[等待指令]



說明:

該流程圖展示了設(shè)備從啟動到連接云端并響應(yīng)指令的完整生命周期;

每個階段的輸出日志可用于判斷設(shè)備狀態(tài);

若某一階段失敗,需針對性地排查問題。


Part.14機智云控制臺使用與監(jiān)控


設(shè)備上線后,開發(fā)者可以通過機智云控制臺對設(shè)備進行 狀態(tài)監(jiān)控 、 告警設(shè)置 、 數(shù)據(jù)可視化 等操作,進一步提升設(shè)備管理效率。


5.3.1 查看設(shè)備在線狀態(tài)與運行日志


機智云控制臺提供設(shè)備在線狀態(tài)查看和日志記錄功能。


示例:查看設(shè)備日志

在控制臺中點擊“設(shè)備日志”后,可看到如下信息:


日志用途:

數(shù)據(jù)驗證:確認設(shè)備是否正常上報;

指令追蹤:查看下發(fā)指令是否被正確執(zhí)行;

故障排查:快速定位異常行為。

5.3.2 設(shè)置告警規(guī)則與數(shù)據(jù)可視化

機智云支持設(shè)置設(shè)備狀態(tài)告警和數(shù)據(jù)可視化功能,幫助開發(fā)者更直觀地掌握設(shè)備運行情況。


示例:設(shè)置溫度過高告警


數(shù)據(jù)可視化圖表示意(mermaid):


可視化類型:

折線圖:適用于時間序列數(shù)據(jù)(如溫度、電量);

柱狀圖:適用于分類統(tǒng)計(如不同設(shè)備的數(shù)據(jù)分布);

儀表圖:適用于實時監(jiān)控關(guān)鍵指標(如水位、電壓);

地圖視圖:適用于 GPS 類設(shè)備的地理位置展示。


5.3.3 分析設(shè)備行為與性能優(yōu)化建議


通過對設(shè)備行為的長期監(jiān)控,開發(fā)者可以發(fā)現(xiàn)潛在的性能瓶頸并進行優(yōu)化。

優(yōu)化建議:

降低通信頻率 :在低功耗場景中,適當延長心跳間隔;

優(yōu)化內(nèi)存使用 :避免頻繁動態(tài)內(nèi)存分配,減少內(nèi)存碎片;

調(diào)整任務(wù)優(yōu)先級 :確保關(guān)鍵任務(wù)(如通信、控制)優(yōu)先執(zhí)行;

啟用低功耗模式 :在無通信任務(wù)時,讓設(shè)備進入休眠狀態(tài)。

示例:優(yōu)化 FreeRTOS 任務(wù)優(yōu)先級


task_control 優(yōu)先級為 1,確??刂浦噶顑?yōu)先處理;

task_wifi 優(yōu)先級為 3,負責(zé)網(wǎng)絡(luò)連接和數(shù)據(jù)上報;

優(yōu)先級數(shù)字越小表示優(yōu)先級越高(FreeRTOS 默認配置);

本章通過本地測試、固件燒錄、上線驗證以及控制臺監(jiān)控等多個方面,詳細講解了設(shè)備從測試到部署的完整流程。下一章將深入探討設(shè)備的遠程控制實現(xiàn),包括用戶界面設(shè)計、指令下發(fā)機制等內(nèi)容。


6. 物聯(lián)網(wǎng)設(shè)備遠程控制實戰(zhàn)

6.1 物聯(lián)網(wǎng)設(shè)備遠程控制實戰(zhàn)


在物聯(lián)網(wǎng)系統(tǒng)中,遠程控制是核心功能之一。通過遠程控制,用戶可以隨時隨地通過手機 App 或 Web 端對設(shè)備進行操作,例如開關(guān)設(shè)備、調(diào)整參數(shù)、查詢狀態(tài)等。


Part.15設(shè)計遠程控制交互邏輯


實現(xiàn)遠程控制的第一步是設(shè)計合理的通信交互邏輯。通常流程如下:


用戶在 App/Web 端發(fā)起控制指令(如打開燈、調(diào)節(jié)溫度);

指令通過機智云平臺轉(zhuǎn)發(fā)至設(shè)備;

設(shè)備接收指令并執(zhí)行對應(yīng)操作;

設(shè)備將執(zhí)行結(jié)果反饋給平臺;

用戶端獲取反饋信息,更新狀態(tài)顯示。

如下為該流程的 mermaid 流程圖 :


graph TD A[設(shè)備上報數(shù)據(jù)] --> B[數(shù)據(jù)存儲] B --> C[數(shù)據(jù)可視化] C --> D[折線圖顯示溫度變化] C --> E[柱狀圖顯示濕度分布]



6.1.2 實現(xiàn)設(shè)備指令下發(fā)與執(zhí)行反饋


以一個簡單的 LED 控制為例,說明如何實現(xiàn)遠程控制。

示例代碼:接收指令并控制 LED


#include"gizwits_product.h"#include"led.h"
// 指令回調(diào)函數(shù)int8_t gizwitsEventProcess(eventType_t type, uint8_t *data, uint16_t len){ switch(type) { case EVENT_LED_SWITCH: // 假設(shè)定義了一個LED開關(guān)數(shù)據(jù)點 if(data[0] == 1) { LED_ON(); // 打開LED printf("LED is ON\n"); } else { LED_OFF(); // 關(guān)閉LED printf("LED is OFF\n"); } break;
default: break; }
return 0;}



代碼說明:


gizwitsEventProcess 是機智云 SDK 提供的事件回調(diào)函數(shù),用于處理來自云端的指令;

EVENT_LED_SWITCH 是設(shè)備模型中定義的數(shù)據(jù)點標識;

data[0] 表示接收到的指令值(如 1 表示打開,0 表示關(guān)閉);

LED_ON() 和 LED_OFF() 是控制 LED 的硬件操作函數(shù);

操作完成后可通過機智云接口上報當前狀態(tài)。

狀態(tài)上報示例:


void reportLEDStatus(uint8_t status){ devStatus_t devStatus;
devStatus.status = status; // 狀態(tài)值 0 或 1 gizwitsReportData(STATUS_LED_SWITCH, &devStatus);}



6.1.3 構(gòu)建用戶端控制界面(App/Web)

機智云平臺提供快速構(gòu)建 App 和 Web 控制界面的工具,開發(fā)者可以通過以下步驟完成界面開發(fā):


登錄機智云控制臺,進入項目管理頁面;

選擇“應(yīng)用開發(fā)”模塊,使用內(nèi)置模板生成基礎(chǔ)控制界面;

自定義界面元素,如按鈕、滑塊、狀態(tài)指示燈等;

綁定數(shù)據(jù)點與界面控件,實現(xiàn)聯(lián)動控制;

生成 App 安裝包或 Web 頁面鏈接,供用戶訪問。

示例界面控件綁定數(shù)據(jù)點配置表:

27cba7e6-536a-11f1-ab55-92fbcf53809c.png


通過上述流程,即可實現(xiàn)一個完整的遠程控制交互系統(tǒng),涵蓋指令下發(fā)、設(shè)備執(zhí)行、狀態(tài)反饋和用戶界面展示。

6.2 機智云接入全流程總結(jié)

6.2.1 從注冊到上線的關(guān)鍵步驟回顧

接入機智云平臺并實現(xiàn)設(shè)備遠程控制的完整流程如下:


27ed3640-536a-11f1-ab55-92fbcf53809c.png


整個流程需要開發(fā)者具備嵌入式開發(fā)、網(wǎng)絡(luò)通信、任務(wù)調(diào)度、平臺接入等多方面知識。


Part.16 開發(fā)中常見問題與最佳實踐


常見問題:

設(shè)備無法連接云端 :檢查 Wi-Fi 配置、DNS 設(shè)置、防火墻策略;

指令接收失敗 :確認設(shè)備模型與數(shù)據(jù)點定義一致,SDK 版本兼容;

狀態(tài)上報失敗 :檢查設(shè)備是否在線,是否完成認證流程;

內(nèi)存泄漏 :使用 FreeRTOS 內(nèi)存檢測工具排查任務(wù)堆棧分配問題;

任務(wù)調(diào)度沖突 :合理分配任務(wù)優(yōu)先級,避免高優(yōu)先級任務(wù)長期占用 CPU。

最佳實踐建議:

使用機智云官方 SDK 和示例代碼,避免自行實現(xiàn)底層通信;

在調(diào)試階段使用串口打印日志,便于定位問題;

對關(guān)鍵任務(wù)使用看門狗機制,防止死鎖;

采用模塊化設(shè)計,便于后期功能擴展;

使用 OTA 功能進行固件升級,提升維護效率。


6.2.3 后續(xù)擴展方向與功能建議


在實現(xiàn)基礎(chǔ)遠程控制后,可進一步擴展以下功能:


OTA 固件升級 :支持遠程升級設(shè)備固件;

數(shù)據(jù)可視化 :通過機智云控制臺查看設(shè)備運行狀態(tài)趨勢圖;

多設(shè)備管理 :支持多設(shè)備同時接入與統(tǒng)一控制;

AI 智能聯(lián)動 :結(jié)合 AI 算法實現(xiàn)自動化控制;

告警機制 :設(shè)置異常狀態(tài)告警并推送通知;

本地邊緣計算 :在設(shè)備端部署輕量推理模型,實現(xiàn)本地決策。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5213

    文章

    20857

    瀏覽量

    339618
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2951

    文章

    48370

    瀏覽量

    420438
  • 機智云
    +關(guān)注

    關(guān)注

    3

    文章

    655

    瀏覽量

    27896
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    機智想說愛你不容易 - 如何開發(fā)接入機智聯(lián)網(wǎng)設(shè)備

    `機智是一個聯(lián)網(wǎng)/智能硬件服務(wù)平臺,提供了一系列
    發(fā)表于 09-27 13:26

    5分鐘開發(fā)智能單車,機智4.0加速聯(lián)網(wǎng)設(shè)備開發(fā)

    聯(lián)網(wǎng)開發(fā)平臺機智,本次大會又在哪些領(lǐng)域邁出了大步?技術(shù)創(chuàng)新促進
    發(fā)表于 10-26 10:31

    基于機智平臺聯(lián)網(wǎng)實驗平臺設(shè)計

    互聯(lián)互通的網(wǎng)絡(luò)。為了提高學(xué)生的學(xué)習(xí)興趣,方便快速地對聯(lián)網(wǎng)設(shè)備熟悉、了解和操作,本文設(shè)計了一款基于機智
    發(fā)表于 09-09 14:39

    機智5.0推出IoT套件GoKit4.0 可實現(xiàn)聯(lián)網(wǎng)應(yīng)用協(xié)同開發(fā)

    設(shè)立的電子通信行業(yè)職業(yè)技能鑒定機構(gòu),第十四職業(yè)技能鑒定站希望在今后的工作中加強與機智的合作,培養(yǎng)出計算、聯(lián)網(wǎng)、大數(shù)據(jù)等領(lǐng)域更多、
    發(fā)表于 09-25 09:24

    基于機智聯(lián)網(wǎng)平臺的智能樓宇服務(wù)機器人

    基于機智聯(lián)網(wǎng)平臺的智能樓宇服務(wù)機器人
    發(fā)表于 09-30 09:19

    STM32+機智WebSocket實現(xiàn)聯(lián)網(wǎng)游戲

    0、簡介  本人在大學(xué)本科最后的一個課程設(shè)計,做的比較有趣味,同時最近的聯(lián)網(wǎng)逐漸大熱,所以分享一下自己的作品設(shè)計過程。作品是在機智最為簡單的STM32核心板例程上開展的,使用到的通
    發(fā)表于 07-16 14:30

    機智聯(lián)網(wǎng)平臺出席聯(lián)網(wǎng)科技創(chuàng)新峰會/廣州創(chuàng)新企業(yè)聯(lián)盟理事會

    聯(lián)網(wǎng)科技創(chuàng)新峰會暨第二屆國家聯(lián)網(wǎng)標識管理公共服務(wù)平臺合作伙伴大會圓滿舉辦,受中科院計算機網(wǎng)絡(luò)信息中心邀請,機智
    發(fā)表于 07-01 17:45

    機智聯(lián)網(wǎng)平臺)上新了

    方式,如GPRS、NB-IoT、4G全網(wǎng)通;支持RS232、RS485等方式接入;甚至是可通過APP、后臺、小程序等方式進行設(shè)備管理。機智
    發(fā)表于 11-05 19:21

    機智推標準化聯(lián)網(wǎng)平臺接入服務(wù)

    `近日, 由中國產(chǎn)業(yè)互聯(lián)網(wǎng)發(fā)展聯(lián)盟舉辦的2019年度中國產(chǎn)業(yè)互聯(lián)網(wǎng)優(yōu)秀創(chuàng)新解決方案正式出爐,共有30個方案從近300個解決方案中脫穎而出,機智商用
    發(fā)表于 05-14 15:27

    485轉(zhuǎn)4G DTU設(shè)備(透傳機智)

    ,記得在機智聯(lián)網(wǎng)平臺修改相應(yīng)的數(shù)據(jù)點的名稱。六,DTU設(shè)備的使用(1)DTU向
    發(fā)表于 10-26 19:02

    阿里聯(lián)網(wǎng)平臺接入NodeMCU的方法

    NodeMCU(ESP8266) 接入阿里聯(lián)網(wǎng)平臺 踩坑之旅在看阿里
    發(fā)表于 11-03 07:11

    如何使用STM32F103RC配合esp-01s接入機智聯(lián)網(wǎng)?

    如何使用STM32F103RC配合esp-01s接入機智聯(lián)網(wǎng)?
    發(fā)表于 12-14 06:00

    NodeMCU開發(fā)板接入阿里聯(lián)網(wǎng)平臺和百度天工聯(lián)網(wǎng)平臺的注意事項

    的也是NodeMCU開發(fā)板。下面是分別是接入阿里聯(lián)網(wǎng)平臺和百度天工
    發(fā)表于 01-24 07:46

    基于機智聯(lián)網(wǎng)平臺與4G DTU遠程車庫門

    一、項目內(nèi)容及背景隨著聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,逐漸進入了萬互聯(lián)時代;本項目針對不支持手機遠程開門的老舊門鎖升級改裝,對門鎖進行簡單升級,接入機智
    發(fā)表于 08-03 16:44

    機智推出可私有化部署聯(lián)網(wǎng)平臺產(chǎn)品GIE

    針對聯(lián)網(wǎng)私有化場景的特點及客戶需求,基于機智超過10年、千萬級設(shè)備接入
    發(fā)表于 04-28 14:33 ?1295次閱讀
    <b class='flag-5'>機智</b><b class='flag-5'>云</b>推出可私有化部署<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>云</b><b class='flag-5'>平臺</b>產(chǎn)品GIE
    洛扎县| 乐安县| 祥云县| 铜梁县| 汨罗市| 开封市| 蒙自县| 宁强县| 长寿区| 横山县| 三明市| 浑源县| 晋城| 新源县| 湛江市| 慈利县| 宾阳县| 丽水市| 连山| 丰县| 哈巴河县| 手游| 红原县| 慈利县| 克拉玛依市| 广德县| 龙游县| 铜川市| 乌鲁木齐市| 射阳县| 象州县| 佛冈县| 宜宾县| 格尔木市| 闽侯县| 深水埗区| 景德镇市| 滁州市| 大悟县| 丹寨县| 宣武区|