国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

如何使用GoKit和GC211來實現4G網絡的開發?

9GxC_IoTMaker ? 來源:機智云開發者 ? 作者:機智云開發者 ? 2021-03-30 14:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡介

本案例主要講述了使用GoKit和GC211(4G模塊)來實現4G網絡的開發。囊括模塊接入、設備控制、數據采集、APP開發等方面內容。難度較低,適合新手入門。另外本次內容篇幅較長,將分成五部分來連載。主要是以圖文形式呈現,如在實踐過程中有疑問,可以加入機智云QQ群一起溝通探討。

連載教程內容:

gokit2/3 實現 4G 網絡模塊 GC211 的接入

STM32作為主控實現GOKIT全功能控制和采集

Arduino作為主控實現GOKIT全功能控制和采集

新版本APP快速開發

網頁控制GOKIT開發板

進入正文

STM32代碼移植編寫

通過這一步驟,我們要了解驅動下載地址、如何移植代碼,如電機控制、顏色變化、函數初始化等,移植好代碼后,為后續的APP應用開發奠定基礎。

1.下載STM32驅動文件。

在機智云下載中心下載相應型號的驅動文件。

本次以STM32為例

2.復制STM32驅動文件里面的STM32F103C8x.ioc到下載的代碼文件中替換該文件。

2bb7d570-8e06-11eb-8b86-12bb97331649.png

3.復制驅動庫代碼_CubeMX版文件夾里面的驅動文件到下載代碼的Hal文件夾。

4.使用Cubemx,生成Keil代碼

打開下載代碼里面的STM32F103C8x.ioc,需要在電腦上安裝CUBEMX,安裝方法自行百度。打開之后如下圖所示。

個人建議,任何軟件創建項目,不要包含中文路徑,否則將會導致很多不可控問題,包括此軟件。

2ef6ad4c-8e06-11eb-8b86-12bb97331649.png

5.點擊右上角generate code生成keil代碼。

6.生成代碼之后用keil打開代碼,添加驅動文件到項目

2f9405a6-8e06-11eb-8b86-12bb97331649.png

7. gizwits_product.c文件修改

添加相關的頭文件

2fd0207c-8e06-11eb-8b86-12bb97331649.png

gizwitsEventProcess函數修改,包含各個傳感器的驅動。

對RGB LED開啟紅色的控制。

if(0x01 == currentDataPoint.valueLED_OnOff)

{

ledRgbControl(254,0, 0);

}

else

{

ledRgbControl(0, 0,0);

}

break;

其他顏色和電機的修改

case EVENT_LED_Color:

currentDataPoint.valueLED_Color = dataPointPtr-》valueLED_Color;

GIZWITS_LOG(“Evt: EVENT_LED_Color %d ”, currentDataPoint.valueLED_Color);

switch(currentDataPoint.valueLED_Color)

{

case LED_Color_VALUE0:

ledRgbControl(currentDataPoint.valueLED_R,currentDataPoint.valueLED_G,currentDataPoint.valueLED_B);

break;

case LED_Color_VALUE1:

ledRgbControl(254, 254, 0);

break;

case LED_Color_VALUE2:

ledRgbControl(254,0, 70);

break;

case LED_Color_VALUE3:

ledRgbControl(238,30, 30);

break;

default:

break;

}

break;

case EVENT_LED_R:

currentDataPoint.valueLED_R = dataPointPtr-》valueLED_R;

GIZWITS_LOG(“Evt:EVENT_LED_R %d ”,currentDataPoint.valueLED_R);

ledRgbControl(currentDataPoint.valueLED_R,currentDataPoint.valueLED_G,currentDataPoint.valueLED_B);

break;

case EVENT_LED_G:

currentDataPoint.valueLED_G = dataPointPtr-》valueLED_G;

GIZWITS_LOG(“Evt:EVENT_LED_G %d ”,currentDataPoint.valueLED_G);

ledRgbControl(currentDataPoint.valueLED_R,currentDataPoint.valueLED_G,currentDataPoint.valueLED_B);

break;

case EVENT_LED_B:

currentDataPoint.valueLED_B = dataPointPtr-》valueLED_B;

GIZWITS_LOG(“Evt:EVENT_LED_B %d ”,currentDataPoint.valueLED_B);

ledRgbControl(currentDataPoint.valueLED_R,currentDataPoint.valueLED_G,currentDataPoint.valueLED_B);

break;

case EVENT_Motor_Speed:

currentDataPoint.valueMotor_Speed = dataPointPtr-》valueMotor_Speed;

GIZWITS_LOG(“Evt:EVENT_Motor_Speed %d ”,currentDataPoint.valueMotor_Speed);

motorStatus(currentDataPoint.valueMotor_Speed);

break;

如使用wifi方案,在WIFI_CON_ROUTER加上關燈操作。

case WIFI_CON_ROUTER:

ledRgbControl(0, 250, 0);

userInit函數修改,增加各個驅動函數的初始化,數據點初始化

memset((uint8_t*)¤tDataPoint, 0, sizeof(dataPoint_t));

delay_init(72); // 延時 初始化

rgbLedInit(); // RGB LED 初始化

dht11Init(); // 溫濕度初始化

irInit(); // 紅外初始化

motorInit(); // 電機初始化

motorStatus(0); // 電機轉速初始化

/** Warning !!! DataPoint Variables Init , Must Within The Data Range **/

currentDataPoint.valueLED_OnOff = 0;

currentDataPoint.valueInfrared = 0;

currentDataPoint.valueAlert_1 = 0;

currentDataPoint.valueAlert_2 = 0;

currentDataPoint.valueFault_LED = 0;

currentDataPoint.valueFault_Motor = 0;

currentDataPoint.valueFault_TemHum = 0;

currentDataPoint.valueFault_IR = 0;

currentDataPoint.valueLED_Color = 0;

currentDataPoint.valueLED_R = 0;

currentDataPoint.valueLED_G = 0;

currentDataPoint.valueLED_B = 0;

currentDataPoint.valueMotor_Speed = 0;

currentDataPoint.valueTemperature = 0;

currentDataPoint.valueHumidity = 0;

userHandle函數的修改,各個數據點的上傳,傳感器采集。

uint8_t ret = 0;

static uint32_t thLastTimer = 0;

///《 新添加代碼: 紅外傳感器數據獲取

currentDataPoint.valueInfrared = irHandle();

///《 新添加代碼: 溫濕度傳感器數據獲取

if((gizGetTimerCount()- thLastTimer) 》 2000) //上報間隔2S

{

ret = dht11Read((uint8_t *)¤tDataPoint.valueTemperature,(uint8_t*)¤tDataPoint.valueHumidity);

if(ret != 0)

{

GIZWITS_LOG(“Failedto read DHT11 [%d] ”, ret);

}

thLastTimer = gizGetTimerCount();

}

8.將#include “main.h” 添加到hal下面的各個sensor驅動之中,否則sensor將會提示沒有引腳定義報錯。

9. main.c修改,增加頭文件

#include “hal_temp_hum.h”

#include “hal_rgb_led.h”

#include “hal_motor.h”

#include “Hal_infrared.h”

#include “delay.h”

main.c 文件的 key2ShortPress( ) 函數與 key2LongPress( ) 函數中添

加長/短按key2時的LED點亮代碼。

void key2ShortPress(void)

{

GIZWITS_LOG(“KEY2 PRESS ,Soft APmode ”);

#if !MODULE_TYPE

gizwitsSetMode(WIFI_SOFTAP_MODE);

#endif

//Soft AP mode,RGB 紅燈

ledRgbControl(250,0, 0);

}

void key2LongPress(void)

{

//AirLink mode

GIZWITS_LOG(“KEY2PRESS LONG ,AirLink mode ”);

#if !MODULE_TYPE

gizwitsSetMode(WIFI_AIRLINK_MODE);

#endif

//AirLink mode,RGB 綠燈

ledRgbControl(0,250, 0);

},

10.生成bin文件。魔術棒→user→$KARMARMCCinfromelf.exe --bin --output=@L.bin !L

11.編譯項目

354a4460-8e06-11eb-8b86-12bb97331649.png

12.燒錄

STM32開發板集成串口下載,打開串口燒錄軟件mcuisp.exe,附件中可下載。

35b9b0a2-8e06-11eb-8b86-12bb97331649.png

選擇開發板串口

36013bfc-8e06-11eb-8b86-12bb97331649.png

將如圖所示開關拔到system

選擇生成的固件文件

點擊開始編程

燒錄完成。

燒錄完成之后將開關拔回flash,復位模組,就可以正常運行程序。

13.檢驗燒錄是否成功

打開 串口調試助手.exe ,附件中可以下載。監聽串口出現如下圖所示日志代表程序燒錄成功。

14.驗證設備和云端是否互聯互通

接上功能板和4G模組(插上普通4G卡)。云端設備上線。

15.打開機智云串口調試助手.exe,附件中或者官網下載中心可以下載。工具,二設備二維碼,按照如圖生成二維碼。

16.下載機智云APP,驗證智能設備和APP是否互聯互通。

使用機智云App掃碼即可綁定設備,官網下載中心可以下載APP

到此STM32移植完成。

基本上硬件部分全部完成,接下來,我要做APP了。當然在這之前,我也會把Arduino版本的如何進行移植,告知大家。

原文標題:【4G 開發】基于GOKIT+GC211的開發指南2,STM32代碼移植

文章出處:【微信公眾號:機智云開發者】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

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

    關注

    15

    文章

    5618

    瀏覽量

    123978
  • STM32
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373438

原文標題:【4G 開發】基于GOKIT+GC211的開發指南2,STM32代碼移植

文章出處:【微信號:IoTMaker,微信公眾號:機智云開發者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    GD01C 4G路由模組:串口轉4G/WiFi/網口通信

    HLK-GD01C是一款由深圳市海凌科電子有限公司推出的4G無線路由器,支持串口轉4G/WiFi/網口通信,并具備智能網絡切換功能。該設備適用于多種物聯網與移動上網場景,具備安裝簡便、配置靈活
    的頭像 發表于 02-25 14:34 ?160次閱讀
    GD01C <b class='flag-5'>4G</b>路由模組:串口轉<b class='flag-5'>4G</b>/WiFi/網口通信

    《機智云Gokit3開發篇》4 RGB燈的介紹與驅動移植(HAL庫)

    在物聯網開發與STM32嵌入式應用實踐中,RGB燈是實現可視化交互、狀態指示的常用外設,而機智云Gokit3開發板作為物聯網開發的經典硬件平
    的頭像 發表于 01-28 19:11 ?5066次閱讀
    《機智云<b class='flag-5'>Gokit</b>3<b class='flag-5'>開發</b>篇》<b class='flag-5'>4</b> RGB燈的介紹與驅動移植(HAL庫)

    機智云Gokit3開發篇 — 搭建Gokit3工程(HAL庫版)

    在當今物聯網時代,越來越多的開發者希望能夠快速上手并實現創新的產品與應用。機智云的Gokit3開發板因其易用性和豐富功能受到初學者的青睞。該開發
    的頭像 發表于 01-08 19:14 ?452次閱讀
    機智云<b class='flag-5'>Gokit</b>3<b class='flag-5'>開發</b>篇 — 搭建<b class='flag-5'>Gokit</b>3工程(HAL庫版)

    一般想要實現OTA的話使用藍牙升級好還是4G這種方式實現升級?

    一般想要實現OTA的話,使用藍牙升級好還是4G這種方式實現升級?
    發表于 12-09 06:01

    實戰Air780EPM:構建4G共享網關,服務WiFi與有線設備!

    通過Air780EPM開發板,我們可以輕松實現4G網絡作為數據出口,為周邊的WiFi設備和以太網設備提供互聯網共享,適用于移動辦公、遠程部署等場景。 一、多網融合概述 ? Air780
    的頭像 發表于 09-30 16:03 ?1227次閱讀
    實戰Air780EPM:構建<b class='flag-5'>4G</b>共享網關,服務WiFi與有線設備!

    4G網絡AT模塊:ml307A 總是連接失敗,為什么?

    使用 AT client 連接 ml307A 4G網絡,在多個地方使用網絡,然后就經常出現連接失敗或關閉失敗: [E/at.skt.ml307] ml307 device(ml3070
    發表于 09-11 07:05

    基于 4G 技術的物流車車載監控系統解決方案設計與實現

    基于 4G 技術的物流車車載監控系統解決方案,旨在通過 4G 網絡的高速數據傳輸能力,實現對物流車輛的實時監控、數據采集與遠程管理,為供應鏈運輸環節提供全鏈路的可視化與智能化支撐。其設
    的頭像 發表于 08-22 15:53 ?965次閱讀
    基于 <b class='flag-5'>4G</b> 技術的物流車車載監控系統解決方案設計與<b class='flag-5'>實現</b>

    如何使用IR915L-TL00-W-S通過4G網絡實現遠程上下載三菱Q03UDEPLC程序?

    如題通過通過4G網絡實現遠程上下載三菱Q03UDEPLC程序
    發表于 08-06 06:56

    工業物聯網4G無線網絡轉串口模塊

    4G無線網絡轉串口模塊是一種工業通信設備,通過4G網絡將串口(如RS232/RS485)設備接入互聯網,實現遠程數據傳輸與控制。適用于物聯網
    的頭像 發表于 06-25 11:11 ?782次閱讀
    工業物聯網<b class='flag-5'>4G</b>無線<b class='flag-5'>網絡</b>轉串口模塊

    4G全網通網關是什么?有什么功能?

    4G全網通網關是一種能夠接入4G網絡,并將4G網絡信號轉換為其他網絡信號(如WiFi、以太網等)
    的頭像 發表于 06-17 15:43 ?1292次閱讀
    <b class='flag-5'>4G</b>全網通網關是什么?有什么功能?

    溫度采集模塊 4G全網通

    4G全網通溫度采集模塊是一種基于4G移動網絡的物聯網終端模塊,通過內置溫度傳感器(或外接傳感器)實時監測環境溫度,并通過4G網絡將數據上傳至
    的頭像 發表于 06-06 14:40 ?640次閱讀

    4G DTU 無線數傳模塊:RS232/485轉4G,穩定不宕機

    4G DTU(Data Transfer Unit)是一種工業級物聯網數據傳輸設備,主要用于將串口(如RS232/RS485)數據通過4G網絡無線傳輸到遠程服務器或云平臺。它是工業自動化、遠程監控
    的頭像 發表于 05-29 14:58 ?1416次閱讀

    4G工業路由器:工業物聯網的核心連接器與技術演進

    一、技術原理與核心功能 4G工業路由器是工業物聯網(IIoT)中的關鍵設備,其核心功能是將4G蜂窩網絡與有線以太網無縫銜接,實現工業設備、傳感器與云端或企業
    的頭像 發表于 04-18 15:51 ?811次閱讀

    4G DTU設備選型指南:2025主流廠商品牌盤點與選購

    隨著工業物聯網(IIoT)的快速發展和數字化轉型的持續推進,4G DTU(數據終端單元)設備在遠程監控、數據采集、工業控制等領域的應用日益廣泛。4G DTU設備通過蜂窩網絡(如 4G
    的頭像 發表于 04-17 15:51 ?2071次閱讀

    雷卯收集4G/WIFI無線傳輸產品開發

    電磁兼容整改能力。歡迎聯系。 雷卯收集增強現實4G/WIFI無線傳輸產品開發板明細如下: 以下是4G/WIFI無線傳輸產品開發板介紹: 無線傳輸產品基于
    的頭像 發表于 04-08 18:21 ?599次閱讀
    雷卯收集<b class='flag-5'>4G</b>/WIFI無線傳輸產品<b class='flag-5'>開發</b>板