衡阳派盒市场营销有限公司

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

    文章

    5531

    瀏覽量

    119532
  • STM32
    +關注

    關注

    2272

    文章

    10924

    瀏覽量

    357599

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

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

收藏 人收藏

    評論

    相關推薦

    【正點原子STM32H7R3開發套件試用體驗】4G聯網工業設備控制網關

    這次有幸參加 正點原子STM32H7R3開發套件 的評測,計劃使用 正點原子STM32H7R3開發套件,完成一個 4G聯網工業設備控制網關。 評測計劃: 1. 通過正點原子
    發表于 12-18 14:14

    4G 模組 HTTP 網絡協議應用 白嫖版!

    今天我們白嫖的是Air780E模組LuatOS開發4G通信中HTTP網絡協議的應用,實現模組和服務器之間數據的傳輸,詳細介紹硬件環境、軟件
    的頭像 發表于 10-30 14:22 ?889次閱讀
    <b class='flag-5'>4G</b> 模組 HTTP <b class='flag-5'>網絡</b>協議應用 白嫖版!

    藍奧聲4G系列新突破:4G+RS485+藍牙+WiFi+以太網綜合智能網關,多元智控!

    4G網關是一款將4G LTE網絡與各種本地設備和網絡連接的設備。它具有硬件設計、軟件開發、用戶界面、安全性等功能。通過集成Modbus RT
    的頭像 發表于 08-26 11:41 ?604次閱讀
    藍奧聲<b class='flag-5'>4G</b>系列新突破:<b class='flag-5'>4G</b>+RS485+藍牙+WiFi+以太網綜合智能網關,多元智控!

    4G模塊聯網問題

    最近在調試4G模塊,4G模塊驅動調試成功,也可以ping通外網(比如www.baidu.com)。我的電腦連接路由器,也可以上網,但是用4G模塊ping不通電腦,不知道該問題出在哪里,該怎么解決
    發表于 08-01 19:01

    帶DTU串口透傳功能的工業4G路由器:4G DTU模塊路由器串口RS232/485轉4G網絡數據雙向透傳

    4G網絡數據
    深圳市博晶網絡科技有限公司
    發布于 :2024年07月31日 17:10:51

    4G新型智能電表是什么?

    4G新型智能電表是一種利用第四代移動通信技術(4G)進行數據傳輸的先進計量設備。它不僅具備傳統電表的基本功能,如電量計量,還能實現遠程抄表、用電監控、故障檢測等多種智能化服務。本文旨在詳細介紹
    的頭像 發表于 07-26 19:04 ?702次閱讀
    <b class='flag-5'>4G</b>新型智能電表是什么?

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

    如題通過通過4G網絡實現遠程上下載三菱Q03UDE PLC程序
    發表于 07-24 07:40

    嵌入式設備中的4G/5G模塊管理

    自管理工具,旨在以更智能化的管理策略和更靈活的配置方式為用戶帶來更加便捷的網絡管理體驗。 01功能簡介 模塊層面 4G/5G網卡自管理工具在功能設計上實現了深度與廣度的結合。在模塊層
    發表于 07-13 16:45

    請問mesh的root節點能否通過4G撥號實現聯網?

    請問能實現網絡中有若干設備,支持通過4G模塊連接外網,當在用的4G模塊斷網后,由其它可以聯網的4G節點充當ROOT, 繼續完成所有節點與外網
    發表于 06-28 13:16

    廣泛用于4G/5G小基站、4G/5G直放站的GC080X收發機芯片

    廣泛用于4G/5G小基站、4G/5G直放站的GC080X收發機芯片
    的頭像 發表于 05-14 09:51 ?588次閱讀
    廣泛用于<b class='flag-5'>4G</b>/5<b class='flag-5'>G</b>小基站、<b class='flag-5'>4G</b>/5<b class='flag-5'>G</b>直放站的<b class='flag-5'>GC</b>080X收發機芯片

    4g工業網關的特點及應用

    特點以及應用場景等方面,詳細闡述其在工業領域中的廣泛應用。 一、4G工業網關的基本概念 4G工業網關是一種基于4G網絡技術的工業級數據傳輸設備,它能夠將工業現場的各種設備、傳感器等連接
    的頭像 發表于 04-25 16:54 ?719次閱讀
    <b class='flag-5'>4g</b>工業網關的特點及應用

    【產品單頁】4G IoT開發套件V3

    【產品單頁】4G IoT開發套件V3 產品單頁見下方附件*附件:4G IoT開發套件V3--20240527.pdf
    發表于 03-16 14:13

    移遠EC20 4G LTE模塊

    為了方便使用和測試,我專門購置了移遠EC20 4G LTE模塊,買到后,發現還需要一個轉接卡才能正常使用,于是又購置了USB轉接卡,并配置了專用天線。相關的設備如下:其中包括:移遠EC20 4G
    發表于 02-26 15:11

    4G路由器——節省網絡費用,降低成本

    4G路由器是一種便捷的上網設備,可以通過4G網絡信號實現高速、穩定、便捷的上網體驗。
    的頭像 發表于 02-23 13:40 ?377次閱讀

    4G無線路由器,保護你的網絡數據安全

    4G無線路由器在當今飛速發展的互聯網背景下,成為人們關注的焦點。它不僅提供了高速穩定的網絡連接,還具備出色的網絡數據安全保護功能,成為現代家庭和企業的首選。4G無線路由器采用先進的
    的頭像 發表于 02-21 17:09 ?551次閱讀
    永利高投注网| pc百家乐模拟游戏| 做生意的信风水吗| 百家乐官网赌台| 苏尼特右旗| 永利高百家乐官网现金网| 百家乐官网压分规律| 百家乐官网游戏怎样玩| 澳门百家乐官网的赢钱不倒翁| 网络百家乐官网游赌博| 百家乐官网路单怎样| 百家乐官网技巧看| 百家乐游戏玩法技巧| 百家乐出千的高科技| 玩百家乐怎么能赢呢| 明升88 | 百家乐官网如何玩法| 優博百家乐官网客服| 沙龙百家乐官网代理| 百家乐网上投注作弊| 四方百家乐的玩法技巧和规则| 老虎机游戏下载| 金濠娱乐城| 百家乐官网怎么玩呀| 网上百家乐官网真坑人| 百家乐技巧心得| 百家乐免费体验金| 金沙娱乐城| 国际豪门娱乐| 百家乐官网怎么对冲打| 大发百家乐官网的玩法技巧和规则| 可以玩百家乐的博彩公司| 大发888网址| 新世百家乐的玩法技巧和规则| 大发娱乐城888| 百家乐官网玩法及技巧| 至尊百家乐官网赌场娱乐网规则| 澳门百家乐哪家信誉最好| 大发888娱乐城电脑版下载| 百家乐官网庄家胜率| 百家乐官网看图赢钱|