<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

如何移植愛星云的源碼

安信可科技 ? 來源:安信可科技 ? 2024-01-07 11:10 ? 次閱讀

上次已經給大家講了如何搭建中間件SDK(Ai-WB2-12F使用安信可中間件接入愛星云,遠程點個燈——第一篇)。經過上次的帖子,小伙伴們想必已經完成一個新項目的添加,并使用WB2編譯成功,今天講如何移植愛星云的源碼。

在正式開始之前,先介紹一下設備上云的流程。

eff404f4-abb3-11ee-8b88-92fbcf53809c.png

VScode 啟動

一、連接Wi-Fi
第一步是設備進入配網,在配網之前需要能夠正式連接到網絡。 先把項目中的“h1”和“h2”兩個文件夾刪除。

新建文件夾為“wifista”(文件夾名字根據自己喜好定義就行)

在wifista 新建連接Wi-Fi的.c 和.h 文件,名字自定義


連接Wi-Fi 主要寫三個函數:

Wi-Fi 初始化函數

Wi-Fi 連接函數

Wi-Fi 斷開函數


Wi-Fi 初始化函數:staWiFiInit()

eff8591e-abb3-11ee-8b88-92fbcf53809c.png

Wi-Fi 連接函數函數:staWiFiConnect(char* ssid,char* password)

f001af32-abb3-11ee-8b88-92fbcf53809c.png

Wi-Fi 斷開函數:staWiFiDisconnect()

f00b89bc-abb3-11ee-8b88-92fbcf53809c.png

之后在Main.c 中調用之后就能實現連接Wi-Fi。

二、LED控制

RGB燈是開發板上唯一能過作為指示的器件,所以使用RGB作為網絡指示燈是非常好的選擇。設置以下狀態:

網絡未連接或者斷開:綠燈快閃

網絡成功連接或已連接:隔2s 閃爍一次

正在連接WiFi:1s 間隔慢閃

2.1創建源碼文件
直接創建名為"LED" 的文件夾,然后在里面創建.c和.h 文件名字自定,這里用的是 led_dev.c 和led_dev.h。并且寫幾行基礎的代碼。 led_dev.c

f01ed710-abb3-11ee-8b88-92fbcf53809c.png

led_dev.h

f0282e1e-abb3-11ee-8b88-92fbcf53809c.png

2.2編寫功能函數
后面也會使用這個庫寫受控燈的函數,暫且寫網絡燈的函數吧,一共有四個:

網絡燈初始化函數,Ai-WB2-12F 的藍色燈在IO3,并且創建閃爍任務

快閃狀態 間隔100ms

隔2s 閃爍兩次狀態

500ms 間隔慢閃狀態


網絡燈初始化函數devLedNetWorkdInit(void)

f032939a-abb3-11ee-8b88-92fbcf53809c.png

這里其實只有每種狀態指示延時時間上的區別而已,所以只需要在任務當中改變延時時間就行了。
網絡燈狀態處理任務,led_dev_run_task(void* arg):

f03d2f4e-abb3-11ee-8b88-92fbcf53809c.png

狀態更新函數devLedNetWorkdChangeState():

f054a926-abb3-11ee-8b88-92fbcf53809c.png

2.3 調用狀態更新函數
狀態更新函數只需要在Wi-Fi 回調中的各個事件中調用即可,效果如下:

f060415a-abb3-11ee-8b88-92fbcf53809c.gif

三、按鍵讀取
Ai-WB2-12F 開發板要進入配網,需要有個控制方式,開發板上的IO8按鍵正好可以使用,讀取IO8按鍵,高電平長按2s 后進入配網。


按鍵初始化函數configButtomInit():

f07fa61c-abb3-11ee-8b88-92fbcf53809c.png

長按識別任務:

f08dcd1e-abb3-11ee-8b88-92fbcf53809c.png

其他進入配網的方式也可以自己去實現,只需要能夠進入配網狀態就行。

四、愛星云配網移植


按照慣例,先新建一個文件夾用來存放愛星云的移植文檔,本貼使用“aiio_cloud”作為文件名,可以根據自己喜好創建,之后關于愛星云的源碼都會放在該文件夾中。

在該文件夾中新建一個.h 用來聲明愛星云的配置,比如產品信息,三元組等,這里命名為“cloud_config.h"。


愛星云的配網有兩種:BLE 和AP配網,本貼主要介紹BLE 配網,BLE 配網主要有兩個函數:

BLE 配網啟動函數

BLE 配網停止函數

BLE 配網啟動函數bleConfigStart()

f099838e-abb3-11ee-8b88-92fbcf53809c.png

BLE 配網回調函數:

f0a31d5e-abb3-11ee-8b88-92fbcf53809c.png

在回調函數當中,獲取到了SSID、PASSWORD和MQTT 服務器地址以及其他的連接參數,打印出來之后,直接調用Wi-Fi連接,就能實現配網。

在Wi-Fi連接成功之后,停止調用配網函數就行。

說明:

此時因為沒有連接愛星云,所以使用App 配網時會出現添加失敗的提示,但是實際上Wi-Fi是連接成功的,只是沒有連接愛星云而已。

五、其他內容

剩下的就是愛星云真正接入的部分,因為需要教大家比較多的東西,長話短說,直接做了一份基本連接的源碼,大家根據基本連接的源碼快速實現愛星云的連接。剩下的內容直接在源碼README 中介紹,大家可點擊查閱。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 移植
    +關注

    關注

    1

    文章

    369

    瀏覽量

    27888
  • wi-fi
    +關注

    關注

    14

    文章

    2007

    瀏覽量

    123018
  • 源碼
    +關注

    關注

    8

    文章

    586

    瀏覽量

    28682
  • 安信可
    +關注

    關注

    0

    文章

    123

    瀏覽量

    3834

原文標題:Ai-WB2-12F使用安信可中間件接入愛星云,遠程點個燈(2)

文章出處:【微信號:安信可科技,微信公眾號:安信可科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    RT-thread源碼移植到STM32F10x和STM32F4xx

    RT-thread源碼移植到STM32F10x和STM32F4xx: 一、源碼下載 點擊入門->下載 ? 在歷史版本里邊隨便選取一個 ? 會進入百度云盤的下載地址,里邊有全部版本的源碼
    的頭像 發表于 11-15 09:38 ?1191次閱讀
    RT-thread<b class='flag-5'>源碼</b><b class='flag-5'>移植</b>到STM32F10x和STM32F4xx

    如何移植FreeRTOS的源碼

    參照正點原子FreeRTOS視頻教程,首次接觸操作系統,做筆記方便回顧目錄如何移植1.復制粘貼2.工程添加3.路徑添加4.將非源碼文件添加和解決其他編譯問題如何移植FreeRTOS的源碼
    發表于 08-03 06:12

    ARM DSP源碼和庫移植方法

    第7章 ARM DSP源碼和庫移植方法(IAR8)本期教程主要講解ARM官方DSP源碼和庫的移植以及一些相關知識的介紹。目錄第7章 ARM DSP
    發表于 08-17 06:00

    ARM DSP源碼和庫移植方法介紹

    第7章 ARM DSP源碼和庫移植方法(IAR8)本期教程主要講解ARM官方DSP源碼和庫的移植以及一些相關知識的介紹。目錄第7章 ARM DSP
    發表于 08-17 06:19

    講解ARM官方DSP源碼和庫的移植

    第6章 ARM DSP源碼和庫移植方法(MDK5的AC5和AC6)本期教程主要講解ARM官方DSP源碼和庫的移植以及一些相關知識的介紹。目錄第6章 ARM DSP
    發表于 08-17 08:10

    DSP源碼和庫的移植

    第6章 ARM DSP源碼和庫移植方法(MDK5的AC5和AC6)本期教程主要講解ARM官方DSP源碼和庫的移植以及一些相關知識的介紹。目錄第6章 ARM DSP
    發表于 08-17 08:21

    ARM DSP源碼和庫移植方法

    第6章 ARM DSP源碼和庫移植方法(MDK5的AC5和AC6)本期教程主要講解ARM官方DSP源碼和庫的移植以及一些相關知識的介紹。目錄第6章 ARM DSP
    發表于 08-17 08:57

    講解ARM官方DSP源碼和庫的移植

    第7章 ARM DSP源碼和庫移植方法(IAR8)本期教程主要講解ARM官方DSP源碼和庫的移植以及一些相關知識的介紹。目錄第7章 ARM DSP
    發表于 08-17 07:55

    如何移植FreeRTOS最簡源碼?

    如何移植FreeRTOS最簡源碼?
    發表于 11-29 08:00

    CANOpen系列教程14_協議源碼移植 (二)

    CANOpen系列教程14_協議源碼移植(二)
    的頭像 發表于 03-06 15:06 ?5134次閱讀

    CANOpen系列教程13_協議源碼移植 (一)

    CANOpen系列教程13_協議源碼移植(一)
    的頭像 發表于 03-06 15:11 ?9608次閱讀

    基于STM32移植UCGUI圖形界面框架(3.9.0源碼版本)

    基于STM32移植UCGUI圖形界面框架(3.9.0源碼版本)
    發表于 11-30 16:06 ?0次下載
    基于STM32<b class='flag-5'>移植</b>UCGUI圖形界面框架(3.9.0<b class='flag-5'>源碼</b>版本)

    W806單片機移植LVGL庫例程源碼下載

    W806單片機移植LVGL庫例程源碼下載。
    發表于 05-11 15:11 ?15次下載

    基于ucosii移植的點燈實驗源碼(帶完整注釋)

    基于ucosii移植的點燈實驗源碼(帶完整注釋),在STM32F407上實現ucosii移植并實現任務調度和點燈操作
    發表于 08-25 16:19 ?8次下載

    Ai-WB2-12F使用安信可中間件接入愛星云,遠程點個燈(2)

    講 如何移植星云源碼 。 在正式開始之前,先介紹一下設備上云的流程。 VScode 啟動 一、連接Wi-Fi 第一步是設備進入配網,在配網之前需要能夠正式連接到網絡。 先把項目中的“h1”和“h2”兩個文件夾刪除。 新建文件
    的頭像 發表于 01-08 17:18 ?285次閱讀
    Ai-WB2-12F使用安信可中間件接入愛<b class='flag-5'>星云</b>,遠程點個燈(2)
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>