本次教程主要為了實現 STM32F407 探索者開發板通過中移 Cat.1 4G 模組轉接板 ML302-GC211 接入機智云,實現基礎的遠程檢測以及控制。
01 教程材料準備 STM32F407 探索者開發板
中移 Cat.1 4G 模組轉接板 ML302-GC211
02 教程實現內容 遠程控制 LED ; 遠程控制蜂鳴器;
遠程采集 CPU 溫度。
03 云端部署部分教程
?進入機智云開發者中心。 https://dev.gizwits.com/zh-cn/developer/product/
?點擊右上角創建新產品。
?創建新產品。
?由于本次需要實現控制 LED ,蜂鳴器和采集 STM32F407 芯片的內部溫度,所以在創建產品之后,我們在數據點里面創建以下幾個數據點。實際產品應用中根據自己的需求去增加對應的數據點,此處為了直觀展示創立4個數據點。
?復制基本信息里面的 Product Secret ,在后面生成代碼需要用到,在左側導航欄選擇 MCU 開發,硬件平臺選擇 STM32F407X,Product Secret 在產品基本信息里面可以復制。
到此云端部署部分就完成了。
04 CubeMX 初始化配置教程
?將前面下載的代碼進行解壓,打開解壓后根目錄下的 STM32F407x.ioc 文件。(需要安裝 CubeMX )
?配置開發板的 LED 引腳 DS0 和 DS1 及蜂鳴器引腳。根據原理圖可以分析 DS0 和 DS1 分別對應 PF9 和 PF10 ,蜂鳴器對應 PF8 。在 CubeMX 里面對幾個引腳進行相應的配置及初始化。初始化 LED 和蜂鳴器為關閉狀態,蜂鳴器引腳需要采用推挽輸出。
?STM32F407 芯片內部內部溫度采集,根據芯片相關的數據手冊,STM32F407 內部溫度采集為 ADC1 的 IN16 通道。 ?生成 keil 代碼。
到此 CubeMX 就配置結束了。
05 keil 代碼修改部分教程 ?修改云端下發的指令處理,打開gizwits_product.c 文件,對其里面的 gizwitsEventProcess 函數進行云端下發的可寫數據點數據處理。
case EVENT_LED0: currentDataPoint.valueLED0 = dataPointPtr-》valueLED0; GIZWITS_LOG(“Evt: EVENT_LED0 %d
”, currentDataPoint.valueLED0); if(0x01 == currentDataPoint.valueLED0) { HAL_GPIO_WritePin(GPIOF, LED0_Pin, GPIO_PIN_RESET);//打開DS0 } else { HAL_GPIO_WritePin(GPIOF, LED0_Pin, GPIO_PIN_SET);//關閉DS0 } break; case EVENT_LED1: currentDataPoint.valueLED1 = dataPointPtr-》valueLED1; GIZWITS_LOG(“Evt: EVENT_LED1 %d
”, currentDataPoint.valueLED1); if(0x01 == currentDataPoint.valueLED1) { HAL_GPIO_WritePin(GPIOF, LED1_Pin, GPIO_PIN_RESET);//打開DS1 } else { HAL_GPIO_WritePin(GPIOF, LED1_Pin, GPIO_PIN_SET);//關閉DS1 } break; case EVENT_beep: currentDataPoint.valuebeep = dataPointPtr-》valuebeep; GIZWITS_LOG(“Evt: EVENT_beep %d
”, currentDataPoint.valuebeep); if(0x01 == currentDataPoint.valuebeep) { HAL_GPIO_WritePin(GPIOF, BEEP_Pin, GPIO_PIN_SET);//打開蜂鳴器 } else { HAL_GPIO_WritePin(GPIOF, BEEP_Pin, GPIO_PIN_RESET);//關閉蜂鳴器 } break;
?新增一個時間變量作為云端上傳的定時間隔,同時作為溫度采集的時間。增加 main.h ,如果不增加,GPIO 會報錯。
?在 gizwits_product.c 的 gizTimerMs 函數對 timerMsupdate 進行毫秒遞增。 ?在 gizwits_product.c 的 userHandle 函數對 timerMsupdate 變量進行判斷,此處采用5秒采集上報一次。頻率過高會導致云端拒絕接受數據,采用延時會導致 CPU 資源浪費。
?ADC 采集轉換為溫度上報部分程序。
到此 keil 代碼修改部分就完成了,修改完代碼之后,編譯燒錄到單片機。
06 編譯燒錄
?程序下載完成之后將中移 Cat.1 4G 模組轉接板 ML302-GC211 通過接在開發板的 usart2 上面,即 PA2、PA3 上,ML302-GC211 最好采用獨立供電,以保證電源穩定性,4G 模組需要插入移動聯通 4G 卡。通訊正常過后在云端產品下面設備日志下可看到設備上限。 ?將設備日志里面的設備的 IMEI 和基本信息里面的 Product Key 進行復制,粘貼到機智云串口調試助手里面的設備二維碼工具,生成設備的二維碼。
?手機上安裝機智云調試 APP,APP 下載地址如下:
?通過 APP 掃描二維碼即可綁定設備。
責任編輯:haq
-
STM32
+關注
關注
2270文章
10906瀏覽量
356567 -
機智云
+關注
關注
2文章
590瀏覽量
26435
原文標題:探索者開發板 STM32F407 接入機智云教程
文章出處:【微信號:IoTMaker,微信公眾號:機智云開發者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論