通過STM32與機智云的連接,開發者可以實現設備的遠程控制和數據管理,提升物聯網應用的智能化水平。本文將介紹STM32與機智云連接的具體步驟,涵蓋硬件連接、通信協議配置、數據傳輸及云平臺應用開發等內容,并分享實用技巧和常見問題的解決方案,幫助開發者順利實現連接并優化系統功能。
創建產品
1、訪問機智云官網
前往機智云官網(機智云智能物聯網操作系統),進入開發者平臺。注冊并創建個人賬號,然后登錄平臺。
點擊“創建產品”并創建新產品
進入到新建產品中,根據自己想要的功能點擊去編輯添加數據點(功能定義)
6、添加所需要數據點(添加功能)
本設計設置的數據點如下所示。
調試設備
返回開發者中心首頁,點擊“下載中心”。下載并安裝APP調試工具。
下載完成后,打開虛擬設備調試界面,返回至該頁面。然后在手機端調試APP中掃描二維碼,綁定設備并開始進行調試。
機智云固件
刷入機智云固件時,首先在下載中心找到并下載機智云聯網固件(Gizwits)。下載完成后,進行解壓縮,準備刷入操作。
ESP8266-01s和CH340燒錄機智云固件全解_機智云esp01s固件-CSDN博客esp8266
01s和CH340燒錄機智云固件詳細介紹:
ESP8266-01s和CH340燒錄機智云固件全解_機智云esp01s固件-CSDN博客ESP8266-01s和CH340燒錄機智云固件全解_機智云esp01s固件-CSDN博客
燒錄軟件在固件燒錄工具
開發工具清單 | 安信可科技
ESP8266-01s和CH340燒錄機智云固件全解_機智云esp01s固件-CSDN博客
解壓后打開,等待燒錄完成。
燒錄過程中可能出現的問題
1.需要保證IO0接地,可以用燒錄器的GND和其相連
2.把ESP8266的3V3快速斷開后再相連,再點擊燒錄即可其相連,生成Gizwits代碼,準備移植STM32中,返回機智云官網,生產代碼。
等待代碼生成,下載完成后解壓縮:
開始移植到STM32文件中
然后找到自己的32工程,復制到工程中
打開工程配置設備虛擬樹
添加對應的文件,
包含相關頭文件路徑
編寫對應的USART代碼 ---- 注意波特率必須為9600,本設計用的是stm32f103c8t6的串口3
@font-face{font-family:"Times New Roman";}@font-face{font-family:"宋體";}@font-face{font-family:"Consolas";}@font-face{font-family:"MS Mincho";}@font-face{font-family:"PMingLiU";}p.MsoNormal{mso-style-name:正文;mso-style-parent:"";margin:0pt;margin-bottom:.0001pt;font-family:'Times New Roman';font-size:12.0000pt;}span.10{font-family:'Times New Roman';}span.15{font-family:Consolas;font-size:10.5000pt;}span.16{font-family:'Times New Roman';}p.17{mso-style-name:htmledit_views_pre_code_div;margin:0pt;margin-bottom:.0001pt;font-family:Consolas;font-size:10.5000pt;}p.18{mso-style-name:htmledit_views_any;margin:0pt;margin-bottom:.0001pt;font-family:'Times New Roman';font-size:12.0000pt;}span.msoIns{mso-style-type:export-only;mso-style-name:"";text-decoration:underline;text-underline:single;color:blue;}span.msoDel{mso-style-type:export-only;mso-style-name:"";text-decoration:line-through;color:red;}@page{mso-page-border-surround-header:no;mso-page-border-surround-footer:no;}@pageSection0{}div.Section0{page:Section0;}voiduart3_init(u32 bound){//GPIO端口設置GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//時鐘GPIOB、USART3RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);
//USART3_TX PB10GPIO_InitStructure.GPIO_Pin= GPIO_Pin_10;GPIO_InitStructure.GPIO_Speed= GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode= GPIO_Mode_AF_PP;GPIO_Init(GPIOB, &GPIO_InitStructure);//USART3_RX PB11GPIO_InitStructure.GPIO_Pin= GPIO_Pin_11;GPIO_InitStructure.GPIO_Mode= GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOB, &GPIO_InitStructure); //USART 初始化設置USART_InitStructure.USART_BaudRate= bound;//一般設置為9600;USART_InitStructure.USART_WordLength= USART_WordLength_8b;USART_InitStructure.USART_StopBits= USART_StopBits_1;USART_InitStructure.USART_Parity= USART_Parity_No;USART_InitStructure.USART_HardwareFlowControl= USART_HardwareFlowControl_None;USART_InitStructure.USART_Mode= USART_Mode_Rx | USART_Mode_Tx;USART_Init(USART3, &USART_InitStructure);
NVIC_InitTypeDef NVIC_InitStruct;NVIC_InitStruct.NVIC_IRQChannel=USART3_IRQn;NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=2;NVIC_InitStruct.NVIC_IRQChannelSubPriority=2;NVIC_Init(&NVIC_InitStruct);
USART_ITConfig(USART3,USART_IT_RXNE,ENABLE);//開啟中斷USART_Cmd(USART3,ENABLE); //使能串口}voidUSART3_IRQHandler(void){
u8 data =0;if(USART_GetITStatus(USART3,USART_IT_RXNE)!=RESET)//接收中斷標志位拉高{ USART_ClearITPendingBit(USART3,USART_IT_RXNE); data =USART_ReceiveData(USART3); gizPutData(&data,1); //這段話不要忘記
}}AI寫代碼
-
物聯網
+關注
關注
2930文章
46219瀏覽量
392190 -
STM32
+關注
關注
2293文章
11031瀏覽量
364698 -
機智云
+關注
關注
3文章
616瀏覽量
26839
發布評論請先 登錄
評論