軟體環境:本平台的嵌入式作業系統為 ms-rtos, ble 協議為 nimble (1.3.0)
硬體平台:nrf52832
當前平台版本:iot studio 0.9.10
硬體連線如下:
所需硬體:
系統 bsp 支援功能:
用於除錯的 uart0 驅動;
藍芽協議棧所用的 radio、rng、rtc0 、timer0 驅動;
ms-rtos 使用 systick 做為系統時基;
剩餘外設未使用,可自定義應用場景。
ble 支援功能:
gap broadcaster,占用 flash 約 142 kb,消耗 ram 約 44 kb
gap observer,占用 flash 約 165 kb,消耗 ram 約 44 kb
gap peripheral,占用 flash 約 142 kb,消耗 ram 約 44 kb
gap central,占用 flash 約 160 kb,消耗 ram 約 44 kb
gatt 伺服器,占用 flash 約 159 kb,消耗 ram 約 44 kb
gatt 客戶端,占用 flash 約 162 kb,消耗 ram 約 45 kb
2、將庫中的 /nrf52832_nimble 資料夾做為完整的工程匯入 iot studio。
上述兩個步驟執行完畢後,則可以在此基礎上進行自定義的藍芽應用開發,下面將講解一些示例應用的實際執行步驟。
當開發藍芽應用時,我們必須在nimble_startup
() 中啟動 nimble 協議棧,並執行自定義的藍芽**。
注意!函式名必須是nimble_startup
。
因為在 ms-rtos 系統啟動過程中,會呼叫該函式。在啟動檔案中,已經宣告了乙個空的弱函式,這個弱函式可以被自定義的函式取代。如下:
注意!自定義的nimble_startup
()不能阻塞。否則 ms-rtos 系統啟動不了
紅框中的不需要改動,只在 nrf52832_hal.mk 檔案中新增箭頭所指的 .c 檔案即可, 其路徑即是該檔案在工程中的路徑,該 .c 檔案包含nimble_startup
()。
我們必須保證藍芽應用在nimble_startup
() 中執行,這個自定義的nimble_startup
() 將會取代啟動過程中的nimble_startup
() 被晶元執行:
紅框中的不需要改動,只需要修改需要編譯的 .c 檔案,即包含nimble_startup
() 的檔案及其呼叫的原始檔。
紅框中的不需要改動,只需要修改需要編譯的 .c 檔案,即包含nimble_startup
() 的檔案及其呼叫的原始檔。
紅框中的不需要改動,只需要修改需要編譯的 .c 檔案,即包含nimble_startup
() 的檔案及其呼叫的原始檔。
紅框中的不需要改動,只需要修改需要編譯的 .c 檔案,即包含nimble_startup
() 的檔案及其呼叫的原始檔.
不需要包含 phy.c。
紅框中的不需要改動,只需要修改需要編譯的 .c 檔案,即包含nimble_startup
() 的檔案及其呼叫的原始檔.
基於IP,基於port和基於網域名稱的三種
1 基於相同ip不同port的虛擬主機 2 將listen欄位改為 listen 80 listen 8888 以上設定表示使用80以及8888埠 3 更改虛擬主機部分為 documentroot var www html website1 documentroot var www html web...
基於函式的索引 建立基於函式的索引
基於函式的索引 1基於函式的索引是常規的b樹索引。2該索引存放的資料是由表中的資料應用函式後得到的,而不是直接存放表中的資料本身。3如果查詢條件包含與索引相同的函式,就可以使用基於函式的索引,提高查詢速度 舉例 測試表 create table student2 sno varchar2 10 pr...
基於Token的認證和基於宣告的標識
openid解決跨站點的認證問題,oauth解決跨站點的授權問題。認證和授權是密不可分的。而openid和oauth這兩套協議出自兩個不同的組織,協議上有相似和重合的之處,所以想將二者整合有些難度。好在openid connect作為openid的下一版本,在oauth 2.0的協議基礎上進行擴充套...