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

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

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

物聯(lián)網(wǎng)系統(tǒng)中定時上報產(chǎn)品隨機上報,降低并發(fā)功能的實現(xiàn)方案

jf_94171069 ? 來源:jf_94171069 ? 作者:jf_94171069 ? 2024-09-29 11:44 ? 次閱讀

一 概述

物聯(lián)網(wǎng)開發(fā)場景中,大多數(shù)情況下是一臺服務(wù)器對應(yīng)很多臺設(shè)備。大量的設(shè)備定時和服務(wù)器進行通信,會產(chǎn)生高并發(fā),服務(wù)器處理不及時,可能會產(chǎn)生丟包等問題。因此,需要有一種機制,讓設(shè)備分散上報,減輕服務(wù)器的壓力。

本組件適合TCP等傳統(tǒng)的通信方式。MQTT等服務(wù)器端如果做了消息隊列這種處理,設(shè)備端可以不用考慮高并發(fā)。

二 高并發(fā)

高并發(fā)是指系統(tǒng)或應(yīng)用程序在同一時間段內(nèi)接收到大量并發(fā)請求的能力。具體來說,高并發(fā)環(huán)境下系統(tǒng)需要能夠同時處理大量的請求,而不會出現(xiàn)性能問題或響應(yīng)延遲。

大量請求:高并發(fā)場景下,系統(tǒng)需要同時處理大量的請求,這些請求可能來自于不同的用戶或客戶端。

同時訪問:這些請求幾乎同時到達系統(tǒng),需要在短時間內(nèi)進行處理和響應(yīng)。

資源競爭:由于大量請求同時到達,系統(tǒng)的資源(如CPU、內(nèi)存、網(wǎng)絡(luò)帶寬等)可能會面臨競爭和爭奪。

響應(yīng)時間要求高:高并發(fā)場景通常對系統(tǒng)的響應(yīng)速度有較高的要求,用戶期望能夠快速獲取響應(yīng)結(jié)果。

三 應(yīng)對策略

1 服務(wù)器端

負載均衡

負載均衡是指將多臺服務(wù)器組成一個集群,通過某種策略將訪問請求均勻地分發(fā)到各個服務(wù)器上,使每個服務(wù)器的負載均衡。負載均衡可以提高系統(tǒng)的可用性和性能。

緩存

緩存是將數(shù)據(jù)存儲在高速緩存中,以便在需要時快速訪問。緩存可以減少數(shù)據(jù)庫的讀寫操作,從而提高系統(tǒng)的性能??梢允褂脙?nèi)存緩存、分布式緩存等方式實現(xiàn)緩存功能。

數(shù)據(jù)庫優(yōu)化

數(shù)據(jù)庫是高并發(fā)系統(tǒng)的瓶頸之一,因此對數(shù)據(jù)庫進行優(yōu)化是解決高并發(fā)問題的重要方法??梢酝ㄟ^分庫分表、索引優(yōu)化、SQL優(yōu)化等方式來提高數(shù)據(jù)庫的性能。

異步處理

異步處理是將處理請求放入消息隊列中,由后臺進程或線程異步處理,從而避免了同步處理帶來的性能瓶頸。異步處理可以使用消息隊列、定時任務(wù)等方式實現(xiàn)。

分布式架構(gòu)

分布式架構(gòu)是將系統(tǒng)拆分成多個獨立的子系統(tǒng),每個子系統(tǒng)都可以獨立運行,從而提高系統(tǒng)的可擴展性和可用性。分布式架構(gòu)可以使用微服務(wù)、分布式緩存等方式實現(xiàn)。

高并發(fā)是互聯(lián)網(wǎng)應(yīng)用面臨的一個重要問題,需要采取一系列措施來解決。負載均衡、緩存、數(shù)據(jù)庫優(yōu)化、異步處理和分布式架構(gòu)是解決高并發(fā)問題的主要方法。

在實際應(yīng)用中,需要根據(jù)具體情況選擇不同的方法來解決高并發(fā)問題。在高并發(fā)情況下,使用負載均衡是解決問題的一種常見方法。

負載均衡可以通過將請求分配到多個服務(wù)器上,從而減少單個服務(wù)器的負載。這可以通過硬件設(shè)備或軟件實現(xiàn)。在選擇負載均衡器時,需要考慮多種因素,包括負載均衡算法、可靠性、安全性、性能和成本等。負載均衡算法是負載均衡器的關(guān)鍵組成部分之一。

負載均衡算法的選擇會影響到服務(wù)器的響應(yīng)時間、可用性和負載均衡的效率等因素。

常見的負載均衡算法包括輪詢、加權(quán)輪詢、最少連接、IP散列和URL散列等。每種算法都有其優(yōu)缺點,需要根據(jù)具體的業(yè)務(wù)場景進行選擇。

在高并發(fā)情況下,緩存也是提高性能的有效方法之一。

緩存可以將常用的數(shù)據(jù)存儲在內(nèi)存中,從而避免每次都去查詢數(shù)據(jù)庫,從而提高響應(yīng)速度和并發(fā)能力。

常見的緩存方案包括本地緩存和分布式緩存。本地緩存是指將數(shù)據(jù)存儲在應(yīng)用服務(wù)器的內(nèi)存中,而分布式緩存則是將數(shù)據(jù)存儲在多個服務(wù)器上,從而實現(xiàn)更高的可靠性和可擴展性。

此外,在高并發(fā)情況下,需要優(yōu)化數(shù)據(jù)庫的性能,以避免成為瓶頸。數(shù)據(jù)庫優(yōu)化的方法包括使用索引、合理設(shè)計數(shù)據(jù)庫表結(jié)構(gòu)、優(yōu)化SQL查詢語句、使用分庫分表等。這些方法可以提高數(shù)據(jù)庫的響應(yīng)速度和并發(fā)能力,從而保證系統(tǒng)的穩(wěn)定性和可靠性。

針對不同的業(yè)務(wù)場景,還可以采用其他的技術(shù)方案來解決高并發(fā)問題。例如,使用消息隊列解耦系統(tǒng)各個組件之間的依賴關(guān)系,從而提高系統(tǒng)的可擴展性;使用異步處理機制將耗時的操作放在后臺進行,從而提高系統(tǒng)的響應(yīng)速度等。

在高并發(fā)的環(huán)境下,需要綜合考慮多種技術(shù)手段來解決問題。從負載均衡、緩存、數(shù)據(jù)庫優(yōu)化到消息隊列等方面入手,才能實現(xiàn)系統(tǒng)的高性能和高可用性。

高并發(fā)情況下的系統(tǒng)性能瓶頸分析可以采用性能分析工具,例如 JProfiler、VisualVM 等,這些工具可以幫助開發(fā)者定位代碼中的性能問題,分析線程和內(nèi)存使用情況,從而優(yōu)化系統(tǒng)性能。

此外,還可以采用分布式系統(tǒng)架構(gòu)來解決高并發(fā)問題。分布式系統(tǒng)是將系統(tǒng)中的不同模塊分離出來,分別部署在不同的服務(wù)器上,通過網(wǎng)絡(luò)協(xié)議進行通信,以此提高系統(tǒng)的并發(fā)處理能力。在分布式架構(gòu)中,可以采用負載均衡技術(shù),將請求均勻地分發(fā)到不同的服務(wù)器上,從而避免單一服務(wù)器出現(xiàn)瓶頸。

針對高并發(fā)場景下的數(shù)據(jù)訪問問題,可以采用緩存技術(shù),將熱點數(shù)據(jù)緩存在內(nèi)存中,從而加速數(shù)據(jù)的訪問速度。常用的緩存技術(shù)有 Redis、Memcached 等,它們能夠有效地減輕數(shù)據(jù)庫的負擔(dān),提高系統(tǒng)的并發(fā)處理能力。

針對高并發(fā)場景下的安全問題,需要采用一些安全防護措施,例如限流、熔斷、防火墻等,防止系統(tǒng)受到惡意攻擊或者大量無效請求的干擾。同時,需要對系統(tǒng)進行定期的安全評估和漏洞掃描,及時修補安全漏洞,確保系統(tǒng)的穩(wěn)定和安全。

綜上所述,高并發(fā)場景下的系統(tǒng)性能優(yōu)化需要綜合考慮多個方面,包括代碼優(yōu)化、分布式系統(tǒng)架構(gòu)、緩存技術(shù)、安全防護措施等。只有在各個方面都得到充分的考慮和優(yōu)化,才能夠構(gòu)建出穩(wěn)定、高效、安全的高并發(fā)系統(tǒng)。

當然,在進行高并發(fā)優(yōu)化時,也需要注意安全性問題。例如,防止惡意攻擊、防止SQL注入、防止DDoS攻擊等等。因此,在進行高并發(fā)優(yōu)化時,也需要考慮安全性問題,并采取相應(yīng)的安全措施。

高并發(fā)優(yōu)化是一個復(fù)雜的過程,需要從多個方面入手。從架構(gòu)層面優(yōu)化,例如采用分布式架構(gòu)、緩存技術(shù)等等;從代碼層面優(yōu)化,例如采用異步編程、使用多線程技術(shù)等等;從數(shù)據(jù)庫層面優(yōu)化,例如采用數(shù)據(jù)庫分庫分表、使用讀寫分離等等。當然,在進行高并發(fā)優(yōu)化時,也需要注意安全性問題,并采取相應(yīng)的安全措施。

2 設(shè)備端

對于定時定點上報的場景,設(shè)備盡可能在定時的時刻左右偏移一些時間上報,減輕服務(wù)器壓力,本文描述的就是設(shè)備端偏移時間隨機產(chǎn)生的方法。

三 設(shè)備隨機上報組件的使用

1 Gitee鏈接地址

Demo位于amaziot_bloom_os_sdksamplelibraries8.6_random

Gitee源碼地址:https://gitee.com/ning./hongdou

Github源碼地址:https://github.com/ayumid/hongdou

編譯指令:.build.bat -l .amaziot_bloom_os_sdksamplelibraries8.6_random

2 組件功能介紹

隨機上報組件,利用系統(tǒng)ticks和時間戳進行整出取余運算,余數(shù)作為一個隨機數(shù),隨機數(shù)可以通過調(diào)用函數(shù)中的形參傳遞來確定范圍。

隨機數(shù)可以用來設(shè)置定時器定時時間,或者作為其它用途。

3 代碼講解

1 lib_random_systick_get

功能:該函數(shù)用于,通過系統(tǒng)ticks取余來獲取一個隨機數(shù)。

參數(shù)

參數(shù) 釋義
residual 除數(shù),ticks除以這個數(shù)后的余數(shù),返回給調(diào)用函數(shù) 例如61 % 60 = 1, 隨機數(shù)就是1 156 % 120 = 36 隨機數(shù)就是36

返回值:無

示例:

lib_random_systick_get(121);

2 lib_random_timestamp_get

功能:該函數(shù)用于,通過系統(tǒng)時間戳取余來獲取一個隨機數(shù)。

參數(shù):

參數(shù) 釋義
residual 除數(shù),ticks除以這個數(shù)后的余數(shù),返回給調(diào)用函數(shù) 例如1724741112 % 60 = 12, 隨機數(shù)就是1 1724741153 % 120 = 113 隨機數(shù)就是113

返回值:0

示例:

air_sw_log_write_data(1111.1111)

3 lib_random_timer_callback

功能:該函數(shù)用于,定時器回調(diào)函數(shù),產(chǎn)生事件,給調(diào)用文件中的任務(wù)使用。

參數(shù):無

返回值:無

示例:

OSATimerStart(lib_random_timer_ref, random_num * 200, 0, lib_random_timer_callback, 0); //隨機時間 一個系統(tǒng)ticks是50ms,200個就是1s

4lib_random_event_flg_init

功能:該函數(shù)用于,事件標志位初始化。

參數(shù):無

返回值:無

示例:

lib_random_event_flg_init();

5lib_random_timer_init

功能:該函數(shù)用于,上報定時器初始化。

參數(shù):無

返回值:文件指針

示例:

lib_random_timer_init();

6lib_random_timer_start_random_systick

功能:該函數(shù)用于,開始上報定時器,使用系統(tǒng)ticks定時。

參數(shù):無

返回值:無

示例:

lib_random_timer_start_random_systick(60);

6lib_random_timer_start_random_timestamp

功能:該函數(shù)用于,開始上報定時器,使用系統(tǒng)時間戳定時。

參數(shù):無

返回值:無

示例:

lib_random_timer_start_random_timestamp(60);

4 Demo實戰(zhàn)

4.1 創(chuàng)建一個Demo

復(fù)制5.1_socket示例工程,到同一個文件夾下,修改文件名為8.6_random,如圖:

wKgZomb4zSyAc_OXAACOt6tSGdM313.jpg

4.2 修改makefile

增加文件組件所在目錄頭文件路徑,和源文件路徑,如圖:

wKgaomb4zS2ALJU3AABnIZA3IWI625.jpg

4.3 增加頭文件

使用代碼編輯器,將新建的工程文件加入代碼編輯器中,打開main.c,修改main.c,加入am.h等頭文件,如圖:

wKgZomb4zTCAOX7PAAAMd9mY5Zg120.jpg

4.4 修改代碼

在Phase2Inits_exit 創(chuàng)建一個任務(wù),如圖:

wKgaomb4zTGAelOlAABe7r7BB2Q650.jpg

4.5 宏定義介紹

sample_random_uart_printf

輸出日志到DEBUG 串口,日志比較少,可以輸出到這個串口,如果日志比較多,需要輸出到usb口,以免不必要的問題出現(xiàn)

sample_random_catstudio_printf

輸出日志到USB 串口,使用catstudio查看,catstudio查看日志需要更新對應(yīng)版本mdb.txt文件,軟件打開filtter過濾日志,只查看用戶輸出的日志

SAMPLE_RANDOM_TASK_STACK_SIZE

??臻g宏定義

4.6 全局變量介紹

sample_random_task_stack

任務(wù)棧空間,本例使用數(shù)組實現(xiàn),用戶在做項目時,可以預(yù)先估算下當先任務(wù)需要的大致??臻g,OS沒有提供可以查看??臻g使用情況的API

sample_random_task_ref

任務(wù)指針

4.7 函數(shù)介紹

Phase1Inits_enter

底層初始化,本例空

Phase1Inits_exit

底層初始化,本例空

Phase2Inits_enter

底層初始化,本例空

Phase2Inits_exit

創(chuàng)建主任務(wù),初始化消息隊列,定時器,任務(wù)等。

代碼片段:

int ret; //事件初始化 lib_random_event_flg_init(); //初始化上報定時器 lib_random_timer_init(); ret = OSATaskCreate(&sample_random_task_ref, sample_random_task_stack, SAMPLE_RANDOM_TASK_STACK_SIZE, 200, "test-task", sample_random_task, NULL); ASSERT(ret == OS_SUCCESS); //打開定時器,定時時間使用系統(tǒng)ticks,獲取一個隨機數(shù) lib_random_timer_start_random_systick(60);

sample_random_socket

socket業(yè)務(wù)函數(shù),連接服務(wù)器后隨機時間發(fā)送“amaziot”字符串

代碼片段:

int ret, sock = -1; struct addrinfo hints; struct addrinfo *result, *rp; sample_random_uart_printf("sample_random_task:"); memset(&hints, 0, sizeof(hints)); hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; hints.ai_flags = 0; hints.ai_protocol = 0; ret = getaddrinfo("59.110.137.145", "8866", &hints, &result); if (ret != 0) { sample_random_uart_printf("sample_random_task: resolve error"); return; } for (rp = result; rp; rp = rp->ai_next) { sock = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol); if (sock < 0) { sample_random_uart_printf("sample_random_task: socket error"); continue; } ret = connect(sock, rp-?>ai_addr, rp->ai_addrlen); if (ret < 0) { sample_random_uart_printf("sample_random_task: connect error"); close(sock); sock = -1; continue; } else { break; } } freeaddrinfo(result); if (sock < 0) { sample_random_uart_printf("sample_random_task: connect error"); return; } ret = send(sock, "amaziot", 7, 0); if (ret != 7) { sample_random_uart_printf("sample_random_task: send error"); close(sock); return; } close(sock);

sample_random_task

接收組件發(fā)來的事件,觸發(fā)一次,連接服務(wù)器并進行數(shù)據(jù)通信

代碼片段:

//等待駐網(wǎng),聯(lián)網(wǎng)后時間戳?xí)r間會處于變化中,之后產(chǎn)生隨機數(shù) do { int count = 0; while(!getCeregReady(isMasterSim0()? IND_REQ_HANDLE : IND_REQ_HANDLE_1)) { OSATaskSleep(200); count++; if (count > 150) { PM812_SW_RESET(); } } }while(0); while(1) { status = OSAFlagWait(lib_random_flag_ref, flag_mask, OSA_FLAG_OR_CLEAR, &flag_value, OSA_SUSPEND); ASSERT(status == OS_SUCCESS); sample_random_uart_printf("flag_value: %d", flag_value); if (flag_value & SAMPLE_RANDOM_TASK_TIMER_CHANGE_FLAG_BIT) { sample_random_socket(); //打開定時器,定時時間使用系統(tǒng)時間戳,獲取一個隨機數(shù) lib_random_timer_start_random_timestamp(120); } }

4.8 編譯

在SDK根目錄打開命令行,輸入命令.build.bat -l .amaziot_bloom_os_sdksamplelibraries8.6_random

λ .build.bat -l .amaziot_bloom_os_sdksamplelibraries8.6_random 子目錄或文件 outbin 已經(jīng)存在。 命令語法不正確。 子目錄或文件 buildobj 已經(jīng)存在。 gnumake: Entering directory `F:/3.asr-b/cat.1-asr1606/1.software/BLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/libraries/8.6_random' armcc.exe -c --cpu Cortex-R4 --no_unaligned_access -g -O2 --apcs /inter --diag_suppress 2084,1,2,177,188,223,550,1296,2795,6319,9931,9933 --diag_error=warning --gnu --thumb --loose_implicit_cast -DDATA_COLLECTOR_IMPL -DISPT_OVER_SSP -DDIAG_SSP_DOUBLE_BUFFER_USE_DYNAMIC_ALLOCATION -DENV_XSCALE -DL1_DCXO_ENABLED -DLTE_HIGH_MOBILITY_OPTIMIZATION -DRUN_XIP_MODE -DCRANE_Z2 -DCA_LONG_IPC_MSG -DNEZHA3 -DNEZHA3_1826 -DUPGRADE_PLMS -DUPGRADE_PLMS_SR -DLTE_GSMMULTIBCCH -DGPLC_LTE_RSSI_SCAN -DL1V_NEW_RSSI -DUPGRADE_PLMS_3G -DUPGRADE_PLMS_L1 -DUPGRADE_FG_PLMS -DFG_PLMS_URR -DUPGRADE_L1A_FG_PLMS -DUPGRADE_PLMS_STAGE_2 -DUPGRADE_MBCCH -DMULTI_BCCH_READY_IND -DURR_MRAT_ICS_SEARCH -DUPGRADE_ICS -DMRAT_NAS -DUPGRADE_PLMS_SEARCH_API -DICS_MBCCH -DICS_MBCCH_2G_RSSI -DDIAG_NEWPP -DPHS_SW_DEMO -DPHS_SW_DEMO_TTC -DPHS_SW_DEMO_TTC_PM -DFULL_SYSTEM -D_DDR_INIT_ -D_TAVOR_HARBELL_ -DUPGRADE_ARBEL_PLATFORM -D_TAVOR_B0_SILICON_ -DTDL1C_SPY_ENABLE -DDLM_TAVOR -DTAVOR -DFLAVOR_DUALCORE -DDEBUG_D2_MOR_REG_RESEREVED_ENABLE -D_DIAG_USE_COMMSTACK_ -D_TAVOR_DIAG_ -DPM_DEBUG_MODE_ENABLED -DPM_D2FULL_MODE -DPM_EXT_DBG_INT_ARR -DFEATURE_WB_AMR_PS -DMACRO_FOR_LWG -DHL_LWG -DOPTIMIZE_FOR_2G_BCCH -DPLAT_TEST -D_FDI_USE_OSA_ -DPLAT_USE_THREADX -DLWIP_IPNETBUF_SUPPORT -DCRANE_MCU_DONGLE -DAT_OVER_UART -DPHS_SW_DEMO_TTC_PM -DUPGRADE_LTE_ONLY -DEXT_AT_MODEM_SUPPORT -DLTEONLY_THIN_SINGLE_SIM -DLFS_FILE_SYS -DLFS_FILE_SYS_V2 -DPSM_ENABLE -DNO_PAHO_MQTT -DNO_XML -DNO_LWM2M -DREMOVE_MBEDTLS -DNO_AT_NET -DCRANE_SD_NOT_SUPPORT -DNTP -DYMODEM_EEH_DUMP -DENABLE_DM_LTEONLY -DLTEONLY_THIN -DNO_EXTEND_MY_Q_AT -DNOT_SUPPORT_HTTPS -DNOT_SUPPORT_PM813 -DCRANEL_4MRAM -DREMOVE_PB -DUART_NEW_VERSION -DREMOVE_MEP -DREMOVE_SMS -DREMOVE_ENVSIM -DAPN_INCODE -DLTEONLY_THIN_SINGLE_SIM_2MFLASH -DASR160X_OPENCPU_FEATURE -DENABLE_UART3_FEATRUE -DENABLE_UART4_FEATRUE -DYUGE_MBEDTLS_3_2_1 -DENABLE_MAC_TX_DATA_LOGGING -DDISABLE_NVRAM_ACCESS -DINTEL_UPGRADE_EE_HANDLER_SUPPORT -DLTE_W_PS -DL1_DUAL_MODE -DUPGRADE_HERMON_DUAL -DINTEL_UPGRADE_DUAL_RAT -DINTEL_UPGRADE_GPRS_CIPHER_FLUSH -DUPGRADE_ENHANCED_QUAD_BAND -DINTEL_2CHIP_PLAT -DI_2CHIP_PLAT -DUPGRDE_TAVOR_COMMUNICATION -DRUN_WIRELESS_MODEM -DFLAVOR_DDR12MB_GB1MB5 -DFEATURE_SHMEM -DACIPC_ENABLE_NEW_CALLBACK_MECHANISM -DRELIABLE_DATA -DMAP_NSS -DTV_FNAME=""SW_PLATFORM=PMD2NONE PHS_SW_DEMO PHS_SW_DEMO_PM SRCNUCLEUS FULL_SYSTEM NOACRTC PDFLT PLAT_TEST PV2 DIAGOSHMEM NVM WITHL1V"" -DTV_FDESC=""SW_DESCRIPTION="" -DENABLE_ACIPC -D_DATAOMSL_ENABLED_ -DUSB_CABLE_DETECTION_VIA_PMIC -DMIPS_TEST -DMIPS_TEST_RAM -DFLAVOR_DIET_RAM -DNVM_INCLUDE -DMSL_INCLUDE -DMSL_POOL_MEM -DNO_AUDIO -DOSA_QUEUE_NAMES -D_DIAG_DISABLE_USB_ -DOSA_NUCLEUS -DOSA_USED -DPM_D2NONE_MODE -DCRANE_SOC_TEMPERATURE_SENSOR -DL1_SW_UPDATE_FOR_DIGRF -DPHS_L1_SW_UPDATE_R7 -DUPGRADE_LTE -DFRBD_CALIB_NVM -DFRBD_AGC_CALIB -DFRBD_FDT_CALIB -DHSPA_MPR -DCAPT_PARAMS_OPTIMIZE -DL1_WB_R99_ONLY -DL1V_WB_R99_ONLY -DINTERGRATED_RF_SUPPORT -DL1_RX_DIV_SUPPORT -DENABLE_OOS_HANDLING -DTAVOR_D2_WB_L1_SUPPORT -DL1_DDR_HIGH_FREQ -DUPGRADE_DIGRF3G_SUPPORT -DW_PS_PLUS_G_PAGING -D"NO_APLP=0" -DINTEL_UPGRADE_UNIFIED_VOICE_TASK -DINTEL_UPGRADE_R99 -DAPLP_SPY_ENABLE -D__TARGET_FEATURE_DOUBLEWORD -DWHOLE_UMTS_STACK -DUSE_TTPCOM_CSR_BLUETOOTH_AUDIO_GAIN_CONTROL -DL1_UPGRADE_R5 -DUPGRADE_EDGE -DUPGRADE_R4_FS1 -DINTEL_UPGRADE_GSM_CRL_IF -DUPGRADE_EGPRS_M -DINTEL_UPGRADE_EGPRS_M -DINTEL_UPGRADE_RF_PARAMS_IN_CF_TDS -DINTEL_UPGRADE_2SAMPLES_PER_SYMBOL -D"GPRS_MULTISLOT_CLASS=12" -D"EGPRS_MULTISLOT_CLASS=12" -DMARVELL_UPGRADE_BSIC_REDESIGN -DMSL_INCLUDE -DINTEL_HERMON_SAC -DCRANE_CUST_BUILD -DL1_SW_UPDATE_FOR_DIGRF -DFLAVOR_COM -DSILICON_PV2 -DSILICON_SEAGULL -DSILICON_TTC_CORE_SEAGULL -DPCAC_INCLUDE -Otime -DBUILD_DATE=""08 27 2024"" -DBUILD_TIME=""15:33:13"" -Iatcmdsinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonyyugeinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalUARTinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalcoreinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalPMUinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalGPIOinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xosposixinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xdiagdiag_logicsrc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswSysCfginc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswplatforminc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xenvwin32inc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswBSPinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswplatformdev_platbuild -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xososainc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xosthreadxinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xosnu_xscaleinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacpsminc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcachttpclientsrc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xdiagdiag_logicinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptimerinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopintcinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswPMinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoppminc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilTickManagerinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopBSPinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonyatcmdsrvinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonyatparserinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonysdkinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcachttpclientinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacciinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcinclude -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludearch -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludeipv4 -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludeipv6 -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludelwip -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludenetif -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopmmi_matinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xtavorArbelinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xtavorenvinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonymodeminc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacdusterinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacfotainc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalI2Cinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalACIPCinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilfatsysflash -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilFDIsrcINCLUDE -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalMMUinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilFDIsrcFDI_ADD -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilFDIsrcFM_INC -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilfatsysfshdr -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutillittlefsinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacttsinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacdialinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilcsw_memoryinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoputilitiesinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopcommpminc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilnvminc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilEEhandlerinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilEEhandlersrc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopRTCinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonyci_clientinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalBT_deviceinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalUARTinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopmrdinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopdmainc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilsoftutilinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalSPIinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacwebsocketinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacatnet_srvinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilfotacomminc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xaud_swAudioinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xaud_swACM_COMMinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xaud_swaudio_stubsrc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopaaminc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xaud_swAudioHALinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhaldbgshellinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacopencpuinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFamaziot_bloom_os_sdkutils -IF:/3.asr-b/cat.1-asr1606/1.software/BLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/libraries/8.6_randomaminc -IF:/3.asr-b/cat.1-asr1606/1.software/BLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/libraries/8.6_randomatcmdsinc -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFamaziot_bloom_os_sdkutils -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFamaziot_bloom_os_sdklibrariesamcommon -IF:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFamaziot_bloom_os_sdklibraries -o buildobj/ext_at_cmds.o F:/3.asr-b/cat.1-asr1606/1.software/BLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/libraries/8.6_random/atcmds/src/ext_at_cmds.c armlink.exe buildobj/main.o buildobj/ext_at_cmds.o buildobj/utils_string.o buildobj/lib_random.o buildobj/ext_at_controller.o -o F:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFoutbinArbel_PMD2NONE_40M.axf --via F:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFprebuilt_1606lArbel_PMD2NONE_targ_objliblist.txt --elf --scatter F:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFprebuilt_1606lCrane_DS_4M_Ram_2M_Flash_XIP_CIPSRAM_Common_SingleSIM.sct --predefine="-DLTEONLY_THIN_SINGLE_SIM" --map --symbols --info sizes,totals --list F:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFoutbinArbel_PMD2NONE_40M.map --keep init.o(Header) --keep init.o(Vectors) --diag_suppress 6312,6314,6319,6329 --feedback F:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFoutfeedbackLinkOptLteonlyThin_SingleSim_NoSMS.txt F:3.asr-bcat.1-asr16061.softwareBLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFtoolsbuildimage_1606l.bat SDK_PROD_TYPE : [DM] SDK_CUST_SKU : [THIN_SINGLE_SIM_NO_SMS] SDK_PS_MODE : [LTEONLY] SDK_CHIP_VER : [Z2A0] SDK_OS_TYPE : [TX] Platform Convertion Tools v4.01 with PS option extension Convertion done! |INPUT |outbincp_1606L.bin |MARK |NAME |EXEADDR .LOADADDR.LENGTH .CPZLADDR|COMPRESS STASTIC | |--------|--------|--------.--------.--------.--------|------------------------------| |This Is LteOnly 4M| |RW_CPZ_1|DDR_RW_ |7e119000.80064a10.0000cde0.80065000|0000cde0->00003000 |This Is LteOnly 4M| |RW_CPZ_2|PS_NCAH |7e388000.800717f0.00001300.80068000|00001300->00001000 |This Is LteOnly 4M| |RW_CPZ_3|ITCM |7e3dac00.80072af0.0000f51c.80069000|0000f51c->0000a000 |This Is LteOnly 4M| |RW_CPZ_4|CODE_PS |7e1aa000.8008200c.0002fe3c.80073000|0002fe3c->0001e000 |This Is LteOnly 4M| |RW_CPZ_5|CODEPSB |7e1dc000.800b1e48.000339bc.80091000|000339bc->0001b000 |This Is LteOnly 4M| |RW_CPZ_6|CODEPSC |7e213000.800e5804.000323ec.800ac000|000323ec->0001b000 |This Is LteOnly 4M| |RW_CPZ_7|CODEPSD |7e249000.80117bf0.00028d88.800c7000|00028d88->0001a000 |This Is LteOnly 4M| |RW_CPZ_8|CODEPSE |7e277000.80140978.0002e310.800e1000|0002e310->0001a000 |This Is LteOnly 4M| |RW_CPZ_9|CODEPSF |7e2a9000.8016ec88.0001c948.800fb000|0001c948->00011000 |This Is LteOnly 4M| |RW_CPZ_A|CODE_PL |7e2ca000.8018b5d0.0002fa44.8010c000|0002fa44->0001e000 |This Is LteOnly 4M| |RW_CPZ_B|CODEPLB |7e2fa000.801bb014.0003905c.8012a000|0003905c->00021000 |This Is LteOnly 4M| |RW_CPZ_C|CODEPLC |7e337000.801f4070.000268d4.8014b000|000268d4->00011000 |--------|--------|--------.--------.--------.--------|------------------------------| | | 0x00203944 -> 0x00145000| | | 2.014(MB) -> 1.270(MB)| |------------------------------------------------------------------------------------| cp_1606L.axf cp_1606L.bin cp_1606L.map gnumake: Leaving directory `F:/3.asr-b/cat.1-asr1606/1.software/BLOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/libraries/8.6_random' "copy NEZHAC_CP_CNR_MIFI_TX.bin to ./ " 已復(fù)制 1 個文件。

4.9 生成固件

參考入門中開發(fā)工具,生成工具。

4.10 測試

測試步驟:

參考編譯教程,和文檔開頭的編譯指令,進行編譯

按照編譯教程選擇對應(yīng)的選項

燒錄

4.11 固件

上電后,系統(tǒng)會隨機時間上報,日志如下,日志中的時間為定時器定時隨機時間;

wKgZomb4zTGAWFvAAABseDgGOKo740.jpg

5 生態(tài)組件鏈接

本文章源自奇跡物聯(lián)開源的物聯(lián)網(wǎng)應(yīng)用知識庫Cellular IoT Wiki,更多技術(shù)干貨歡迎關(guān)注收藏Wiki:Cellular IoT Wiki 知識庫(https://rckrv97mzx.feishu.cn/wiki/wikcnBvAC9WOkEYG5CLqGwm6PHf)

歡迎同學(xué)們走進AmazIOT知識庫的世界!

這里是為物聯(lián)網(wǎng)人構(gòu)建的技術(shù)應(yīng)用百科,以便幫助你更快更簡單的開發(fā)物聯(lián)網(wǎng)產(chǎn)品。

Cellular IoT Wiki初心:

在我們長期投身于蜂窩物聯(lián)網(wǎng) ODM/OEM 解決方案的實踐過程中,一直被物聯(lián)網(wǎng)技術(shù)碎片化與產(chǎn)業(yè)資源碎片化的問題所困擾。從產(chǎn)品定義、芯片選型,到軟硬件研發(fā)和測試,物聯(lián)網(wǎng)技術(shù)的碎片化以及產(chǎn)業(yè)資源的碎片化,始終對團隊的產(chǎn)品開發(fā)交付質(zhì)量和效率形成制約。為了減少因物聯(lián)網(wǎng)碎片化而帶來的重復(fù)開發(fā)工作,我們著手對物聯(lián)網(wǎng)開發(fā)中高頻應(yīng)用的技術(shù)知識進行沉淀管理,并基于 Bloom OS 搭建了不同平臺的 RTOS 應(yīng)用生態(tài)。后來我們發(fā)現(xiàn),很多物聯(lián)網(wǎng)產(chǎn)品開發(fā)團隊都面臨著相似的困擾,于是,我們決定向全體物聯(lián)網(wǎng)行業(yè)開發(fā)者開放奇跡物聯(lián)內(nèi)部沉淀的應(yīng)用技術(shù)知識庫 Wiki,期望能為更多物聯(lián)網(wǎng)產(chǎn)品開發(fā)者減輕一些重復(fù)造輪子的負擔(dān)。

Cellular IoT Wiki沉淀的技術(shù)內(nèi)容方向如下:

wKgaombqoM2AYL2RAAQrZ8e-uz8392.jpg

奇跡物聯(lián)的業(yè)務(wù)服務(wù)范圍:基于自研的NB-IoT、Cat1、Cat4等物聯(lián)網(wǎng)模組,為客戶物聯(lián)網(wǎng)ODM/OEM解決方案服務(wù)。我們的研發(fā)技術(shù)中心在石家莊,PCBA生產(chǎn)基地分布在深圳、石家莊、北京三個工廠,滿足不同區(qū)域&不同量產(chǎn)規(guī)模&不同產(chǎn)品開發(fā)階段的生產(chǎn)制造任務(wù)。跟傳統(tǒng)PCBA工廠最大的區(qū)別是我們只服務(wù)物聯(lián)網(wǎng)行業(yè)客戶。

連接我們,和10000+物聯(lián)網(wǎng)開發(fā)者一起降低技術(shù)和成本門檻

讓蜂窩物聯(lián)網(wǎng)應(yīng)用更簡單~~

哈哈你終于滑到最重要的模塊了,

千萬不!要!劃!走!忍住沖動!~

歡迎加入飛書“開源技術(shù)交流群”,隨時找到我們哦~

點擊鏈接如何加入奇跡物聯(lián)技術(shù)話題群(https://rckrv97mzx.feishu.cn/docx/Xskpd1cFQo7hu9x5EuicbsjTnTf)可以獲取加入技術(shù)話題群攻略

Hey 物聯(lián)網(wǎng)從業(yè)者,

你是否有了解過奇跡物聯(lián)的官方公眾號“eSIM物聯(lián)工場”呢?

這里是奇跡物聯(lián)的物聯(lián)網(wǎng)應(yīng)用技術(shù)開源wiki主陣地,歡迎關(guān)注公眾號,不迷路~

及時獲得最新物聯(lián)網(wǎng)應(yīng)用技術(shù)沉淀發(fā)布

注:本文部分內(nèi)容來源于網(wǎng)絡(luò),如有侵權(quán),請及時聯(lián)系我們。

審核編輯 黃宇

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

    關(guān)注

    2895

    文章

    43550

    瀏覽量

    367136
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8740

    瀏覽量

    84636
收藏 人收藏

    評論

    相關(guān)推薦

    聯(lián)網(wǎng)行業(yè)的電機家族成員解密(二)_步進電機篇

    聯(lián)網(wǎng)系統(tǒng)為什么要使用電機 聯(lián)網(wǎng)系統(tǒng)中使用電機可
    的頭像 發(fā)表于 09-27 17:36 ?147次閱讀
    <b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>行業(yè)<b class='flag-5'>中</b>的電機家族成員解密(二)_步進電機篇

    聯(lián)網(wǎng)行業(yè)的電機家族成員解密(一)_電機總述篇

    聯(lián)網(wǎng)系統(tǒng)為什么要使用電機 聯(lián)網(wǎng)系統(tǒng)中使用電機可
    的頭像 發(fā)表于 09-27 17:33 ?91次閱讀
    <b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>行業(yè)<b class='flag-5'>中</b>的電機家族成員解密(一)_電機總述篇

    聯(lián)網(wǎng)行業(yè)的電機家族成員解密(四)_舵機篇

    聯(lián)網(wǎng)系統(tǒng)為什么要使用電機 聯(lián)網(wǎng)系統(tǒng)中使用電機可
    的頭像 發(fā)表于 09-20 17:44 ?194次閱讀
    <b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>行業(yè)<b class='flag-5'>中</b>的電機家族成員解密(四)_舵機篇

    生產(chǎn)定時計數(shù)PLC數(shù)據(jù)采集聯(lián)網(wǎng)系統(tǒng)方案

    計算過程數(shù)據(jù)采集的解決方案,進一步提升生產(chǎn)效率、降低成本、加強安全管理,并實現(xiàn)企業(yè)的數(shù)字化轉(zhuǎn)型。 現(xiàn)場PLC控制定時器、光電傳感器、計數(shù)器等設(shè)備,
    的頭像 發(fā)表于 09-10 17:09 ?148次閱讀
    生產(chǎn)<b class='flag-5'>定時</b>計數(shù)PLC數(shù)據(jù)采集<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>方案</b>

    什么是聯(lián)網(wǎng)技術(shù)?

    什么是聯(lián)網(wǎng)技術(shù)? 聯(lián)網(wǎng)技術(shù)(Internet of Things, IoT)是一種通過信息傳感設(shè)備,按約定的協(xié)議,將任何物體與網(wǎng)絡(luò)相連接,實現(xiàn)
    發(fā)表于 08-19 14:08

    并發(fā)聯(lián)網(wǎng)云平臺是什么

    并發(fā)聯(lián)網(wǎng)云平臺是一種能夠處理大量設(shè)備同時連接并進行數(shù)據(jù)交換的云計算平臺。這種平臺通常被設(shè)計用來應(yīng)對來自數(shù)以萬計甚至數(shù)十億計的聯(lián)網(wǎng)設(shè)備的并發(fā)
    的頭像 發(fā)表于 08-13 13:50 ?147次閱讀

    聯(lián)網(wǎng)是什么?聯(lián)網(wǎng)功能

    。在聯(lián)網(wǎng)應(yīng)用中有三項關(guān)鍵,分別是感知層、網(wǎng)絡(luò)傳輸層和應(yīng)用層。聯(lián)網(wǎng)的本質(zhì)是網(wǎng)絡(luò)通訊技術(shù),通過聯(lián)網(wǎng)
    的頭像 發(fā)表于 04-20 09:44 ?1785次閱讀

    【天拓四方】聯(lián)網(wǎng)網(wǎng)關(guān)硬件和云端分別實現(xiàn)了哪些功能?

    網(wǎng)關(guān)硬件和云端分別實現(xiàn)了哪些功能,并探討這些功能如何為聯(lián)網(wǎng)系統(tǒng)帶來的支持。 一、
    的頭像 發(fā)表于 04-19 16:18 ?236次閱讀

    基于唯創(chuàng)語音芯片的三大煙霧報警器語音方案

    在智能設(shè)備與聯(lián)網(wǎng)(IoT)技術(shù)的飛速發(fā)展,語音播報功能的重要性日益凸顯,已成為提升用戶體驗、實現(xiàn)人機交互的關(guān)鍵一環(huán)。本文將深入探討三種創(chuàng)
    的頭像 發(fā)表于 04-12 15:08 ?310次閱讀
    基于唯創(chuàng)語音芯片的三大煙霧報警器語音<b class='flag-5'>方案</b>

    ZWS云平臺應(yīng)用(4)-設(shè)備數(shù)據(jù)上報

    智能設(shè)備連接到聯(lián)網(wǎng),會產(chǎn)生大量的數(shù)據(jù),可以說:聯(lián)網(wǎng)最大的價值,其實是數(shù)據(jù),那么設(shè)備數(shù)據(jù)是如何上報到云平臺的呢?隨著
    的頭像 發(fā)表于 04-12 08:25 ?513次閱讀
    ZWS云平臺應(yīng)用(4)-設(shè)備數(shù)據(jù)<b class='flag-5'>上報</b>

    GaussDB(for Redis) 游戲?qū)嵺`:玩家下線行為上報

    實現(xiàn)以上功能時,感知用戶下線行為延遲較大,導(dǎo)致上報時間不準確。華為云 GaussDB(for Redis)作為一款企業(yè)級游戲數(shù)據(jù)庫,具備卓越的企業(yè)級能力,能及時上報用戶下線行為,并被
    的頭像 發(fā)表于 03-28 22:03 ?455次閱讀

    水質(zhì)凈化廠聯(lián)網(wǎng)遠程監(jiān)控系統(tǒng)解決方案

    水質(zhì)凈化廠聯(lián)網(wǎng)遠程監(jiān)控系統(tǒng)解決方案 隨著科技的不斷發(fā)展,聯(lián)網(wǎng)技術(shù)逐漸走進我們的生活。在水質(zhì)凈
    的頭像 發(fā)表于 01-17 15:19 ?392次閱讀
    水質(zhì)凈化廠<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>遠程監(jiān)控<b class='flag-5'>系統(tǒng)</b>解決<b class='flag-5'>方案</b>

    桂花網(wǎng)藍牙網(wǎng)關(guān):功能強大、應(yīng)用廣泛的聯(lián)網(wǎng)連接設(shè)備

    無論是醫(yī)療健康還是運動健身等方面都發(fā)揮著重要作用,幫助用戶實現(xiàn)設(shè)備的智能化管理數(shù)據(jù)采集等功能,提高生產(chǎn)和生活效率,是聯(lián)網(wǎng)解決
    發(fā)表于 12-12 16:06

    ad7124-8上報錯誤導(dǎo)致不能轉(zhuǎn)換怎么處理?

    的問題嗎? 手冊上報的這兩個錯誤會影響正常采樣嗎? 現(xiàn)在我采樣不了數(shù)據(jù)無法讀,status位的RDY位一直是1, 電路設(shè)計: 請各位大神指點一下這個怎么解決,謝謝了,在線等
    發(fā)表于 12-11 08:20

    是德科技N6785A源表模塊上報OV維修

    近日某院校送修一臺是德科技源表N6785A,客戶反饋源表模塊上報OV,對儀器進行初步檢測,確定與客戶描述故障一致。本期將為大家分享本維修案例。
    的頭像 發(fā)表于 11-07 16:45 ?433次閱讀
    是德科技N6785A源表模塊<b class='flag-5'>上報</b>OV維修