0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32F40探索者开发板如何实现基础的远程检测以及控制

9GxC_IoTMaker 来源:机智云开发者 作者:机智云开发者 2021-11-08 14:07 次阅读

本次教程主要为了实现 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 和蜂鸣器为关闭状态,蜂鸣器引脚需要采用推挽输出。

9c25352e-3fa3-11ec-9195-dac502259ad0.png

9c89e74e-3fa3-11ec-9195-dac502259ad0.png

►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 采集转换为温度上报部分程序。

9fc1d37c-3fa3-11ec-9195-dac502259ad0.png

a0223078-3fa3-11ec-9195-dac502259ad0.png

到此 keil 代码修改部分就完成了,修改完代码之后,编译烧录到单片机

06 编译烧录

►程序下载完成之后将中移 Cat.1 4G 模组转接板 ML302-GC211 通过接在开发板的 usart2 上面,即 PA2、PA3 上,ML302-GC211 最好采用独立供电,以保证电源稳定性,4G 模组需要插入移动联通 4G 卡。通讯正常过后在云端产品下面设备日志下可看到设备上限。 ►将设备日志里面的设备的 IMEI 和基本信息里面的 Product Key 进行复制,粘贴到机智云串口调试助手里面的设备二维码工具,生成设备的二维码。

手机上安装机智云调试 APP,APP 下载地址如下:

►通过 APP 扫描二维码即可绑定设备。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2270

    文章

    10900

    浏览量

    355911
  • 机智云
    +关注

    关注

    2

    文章

    589

    浏览量

    26406

原文标题:探索者开发板 STM32F407 接入机智云教程

文章出处:【微信号:IoTMaker,微信公众号:机智云开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32H503开发(1)----开发板测试

    STM32H503 & SENSOR是一款基于STM32H5系列微控制器的评估套件。该微控制器采用了40nm工艺制造,具有更快的FLASH访
    的头像 发表于 11-28 09:23 239次阅读
    <b class='flag-5'>STM32</b>H503<b class='flag-5'>开发</b>(1)----<b class='flag-5'>开发板</b>测试

    正点原子的stm32开发板能用stlink吗

    在嵌入式开发领域,STM32系列微控制器因其高性能、低成本和广泛的应用场景而广受欢迎。正点原子(ZYBO)作为国内知名的嵌入式开发板供应商,提供了多种基于
    的头像 发表于 11-13 09:21 575次阅读

    【干货】性价比拉满!HK32F407VG开发板介绍

    开发板简介开发板是基于航顺芯片公司F4系列HK32F407VGT7芯片的一款开发板,Cortex-M4内核,最高主频168MHz,内置1MK
    的头像 发表于 11-08 13:27 223次阅读
    【干货】性价比拉满!HK32<b class='flag-5'>F</b>407VG<b class='flag-5'>开发板</b>介绍

    【AG32开发板体验连载】雷达实现控制

    的项目计划: 根据文档,搭建开发环境; 验证串口通信,并能够串口控制开发板; 基于内部CPLD资源完成高频脉冲产生,并能够通过ARM端实现控制
    发表于 10-26 18:11

    学校物联网项目,怎么用开发板远程调节电磁炉功率?

    求教各位大佬,怎么用开发板连接并远程控制电磁炉呢? 之前想过用PWM信号,但是更想要接线在电磁炉主板上,输送一个模拟按钮按下的信号来控制。想请问具体实现方法
    发表于 09-12 00:25

    PY32F002A单片机开发板 PY32F002AF15P6开发板 32位MCU,M0+内核

    PY32F002A 开发板上 搭载的是 PY32F002AF15P6 单片机,TSSOP20封装,开发板使用Type C接口供电, 可以用来对PY32
    的头像 发表于 09-03 14:41 508次阅读
    PY32<b class='flag-5'>F</b>002A单片机<b class='flag-5'>开发板</b> PY32<b class='flag-5'>F</b>002AF15P6<b class='flag-5'>开发板</b> 32位MCU,M0+内核

    bin文件怎么烧录到stm32

    号的STM32开发板,如STM32F103、STM32F407等。选择适合自己需求的开发板即可。 USB数据线 烧录
    的头像 发表于 08-22 09:38 1980次阅读

    探索巅峰性能 | 迅为RK3588开发板深度剖析

    探索巅峰性能 | 迅为RK3588开发板深度剖析
    的头像 发表于 08-12 14:07 855次阅读
    <b class='flag-5'>探索</b>巅峰性能 | 迅为RK3588<b class='flag-5'>开发板</b>深度剖析

    奋斗STM32开发板V5原理图.pdf

    奋斗STM32开发板V5原理图.pdf
    发表于 06-21 14:23 12次下载

    APT32F102 开发板使用手册

    电子发烧友网站提供《APT32F102 开发板使用手册.pdf》资料免费下载
    发表于 04-16 09:07 0次下载

    RK3562开发板:安卓Linux开发从入门到精通(一)

    导读对于初涉嵌入式软件开发探索者,掌握开发板并实战项目是不可或缺的一环。一套系统详尽的入门指南犹如明灯。若你钟情于嵌入式软件,那么这款开发板或许能成为你理想的起点。IDO-EVB35
    的头像 发表于 03-28 08:31 1031次阅读
    RK3562<b class='flag-5'>开发板</b>:安卓Linux<b class='flag-5'>开发</b>从入门到精通(一)

    【七】Purple Pi OH开发板带你7天入门OpenHarmony!

    进入OpenHarmony系统的世界,对于许多开发者来说,是一次全新且充满挑战的旅程。通过PurplePiOH开发板这个窗口,我们不仅能够触摸到硬件本身的魅力,还有机会深入探索
    的头像 发表于 03-22 08:31 412次阅读
    【七】Purple Pi OH<b class='flag-5'>开发板</b>带你7天入门OpenHarmony!

    fpga开发板是什么?fpga开发板有哪些?

    FPGA开发板是一种基于FPGA(现场可编程门阵列)技术的开发平台,它允许工程师通过编程来定义和配置FPGA芯片上的逻辑威廉希尔官方网站 ,以实现各种数字威廉希尔官方网站 和逻辑功能。FPGA开发板通常包括FPG
    的头像 发表于 03-14 18:20 2019次阅读

    fpga开发板与linux开发板区别

    (Field-Programmable Gate Array)是一种可编程逻辑器件,它可以通过编程改变硬件逻辑威廉希尔官方网站 的功能和结构。FPGA采用了可编程的门极,可以根据需要重新配置内部威廉希尔官方网站 ,从而实现不同的功能和逻辑关系。而Linux开发板则是一种嵌入式计算机平台,其核心是Li
    的头像 发表于 02-01 17:09 2251次阅读

    51单片机开发板的主要功能 51单片机开发板能做什么

    51单片机开发板是一种基于8051系列单片机芯片的开发板,具有丰富的功能和广泛的应用。下面将详细介绍51单片机开发板的主要功能以及能够实现
    的头像 发表于 01-23 15:52 3756次阅读