开放原子线下训练营---STM32H7搭载TobudOS开发心得

导语:

本次线下活动是以STM32H7为核心的一个功能强大的开发板,不仅支持Audio,HDMI,还支持4G或者WiFi模块,也可以外接屏幕,本次线下训练营是以4G模块进行开发。
线下的实物开发板如下所示:

注意:上面的PC、MCU的切换,一定要在MCU,才会有串口数据输出。

其硬件资源的介绍如下所示:
开放原子线下训练营---STM32H7搭载TobudOS开发心得_第1张图片
官网开发板特性:

  • 内置 TobudOS 开源物联网操作系统
  • 意法半导体高性能处理器,最高主频 480M
  • 1M RAM;
  • 256Mbits SDRAM;
  • 128K 片上Flash;64MB qspi flash 128MB spi flash
  • 板载 Type-C 接口 Stlink V2
  • 仿真器 板载 PCIE 接口,可扩展 4G 类物联网模组
  • 板载物联网俱乐部 WAN Interface 接口,可支持
    NB-IoT、WiFi、4G cat1、LoRa 等模组
  • 板载物联网俱乐部 E53 Interface 接口,可扩展全系 E53 传感器;
  • 板载标准 24P DVP 摄像头接口,可支持最高 500 万像素摄像头; 板载 RGB 显示接口,可转换 HDMI 输出;
  • 板载高性能音频解码芯片,可做语音识别测试;
  • 预留 SD 卡、用户按键、SPI Flash
  • 调试 ARM Cortex M 核还需要仿真器,EVB_AIoT_STM32自带 Stlink V2 仿真器,如果您的开发板或者芯片模组没有板载仿真器,就需要连接外置的仿真器,如 J-Link、U-Link 之类的。

其官网的指导文档地址为:
代码仓地址:
https://atomgit.com/OpenAtomFoundation/TobudOS(内含丰富学习视频,请自行下载观看)
训练营参考代码:
https://atomgit.com/tobudos/DeveloperTrainingCamp2023
训练营实验手册
https://atomgit.com/OpenAtomFoundation/TobudOS/blob/master/doc/TobudOS_EVB_AIoT_STM32_Guide.md

一、移植代码

本次线下活动,在之前就已经搭建了环境,能跑起来示例程序。
具体的环境搭建在训练营实验手册链接中有着详细的介绍。其中特别注意的是,MDK的版本需要和指导文档中相同,当时在现场看到很多同学使用了最新版本的MDK,缺少一些插件,导致代码无法运行,建议使用 5.28a版本,其他版本也需要自己进行一些设置。
现场主要是为了熟悉一下TobudOS的整体使用流程,对代码的编写比较少,现场的大佬都已经把相关代码给到我们进行操作。
代码一定要用完整仓库中的代码,使用git clone的方式下载,直接点击下载有可能会有一些奇奇怪怪的错误,代码参考下面的链接:
https://atomgit.com/OpenAtomFoundation/TobudOS
打开代码之后,将整体代码先build一次,保证整个流程没有问题。
然后就是加入E53_SC1的驱动程序,右键add即可:

开放原子线下训练营---STM32H7搭载TobudOS开发心得_第2张图片
上面驱动放置的文件夹,注意将路径导入到C/C++
开放原子线下训练营---STM32H7搭载TobudOS开发心得_第3张图片
在TobudOS的WiFi与4G的配置中,采用了宏定义的切换方法,很方便进行切换:

#define USE_EC600S
//#define USE_ESP8266

#if defined(USE_ESP8266)
#include "esp8266.h"

#elif defined(USE_EC600S)
#include "ec600s.h"
#endif

接下来就需要配置腾讯云。

二、腾讯云的相关配置

直接访问下面的链接到腾讯云网站:
https://cloud.tencent.com/product/iotexplorer
使用自己的账号进行登录,请注意需要实名认证。
找到物联网开发平台
开放原子线下训练营---STM32H7搭载TobudOS开发心得_第4张图片
点击新增实例
开放原子线下训练营---STM32H7搭载TobudOS开发心得_第5张图片
然后,新建一个产品
开放原子线下训练营---STM32H7搭载TobudOS开发心得_第6张图片
新建完成后就可以看到下面的项目
开放原子线下训练营---STM32H7搭载TobudOS开发心得_第7张图片
点击导入物模型,导入JSON模型
开放原子线下训练营---STM32H7搭载TobudOS开发心得_第8张图片
具体代码如下:

{
  "version": "1.0",
  "properties": [
    {
      "id": "power_switch",
      "name": "电灯开关",
      "desc": "控制电灯开灭",
      "required": true,
      "mode": "rw",
      "define": {
        "type": "bool",
        "mapping": {
          "0": "关",
          "1": "开"
        }
      }
    },
    {
      "id": "lum",
      "name": "光传感器",
      "desc": "上报现场光传感器数据",
      "mode": "r",
      "define": {
        "type": "int",
        "min": "0",
        "max": "9999",
        "start": "0",
        "step": "5",
        "unit": "lm"
      },
      "required": false
    },
    {
      "id": "lac",
      "name": "地区区域码",
      "desc": "地区区域码",
      "required": true,
      "mode": "r",
      "define": {
        "type": "int",
        "unit": "",
        "step": "1",
        "min": "0",
        "max": "32",
        "start": "0"
      }
    },
    {
      "id": "cid",
      "name": "基站码",
      "desc": "基站码",
      "required": true,
      "mode": "r",
      "define": {
        "type": "int",
        "unit": "",
        "step": "1",
        "min": "0",
        "max": "32",
        "start": "0"
      }
    }
  ],
  "events": [],
  "actions": [],
  "profile": {
    "ProductId": "KM4CEY91YP",
    "CategoryId": "3"
  }
}

下面就是将对应的密钥,用户名填写到MQTT对应的h文件中。
开放原子线下训练营---STM32H7搭载TobudOS开发心得_第9张图片
开放原子线下训练营---STM32H7搭载TobudOS开发心得_第10张图片

这里文档中有详细的对应。

三、下载调试

全部对应完成之后,就可以编译代码,将其下载到开发板中,下载事接入USB之后,需要安装对应的驱动,驱动官网下载即可,右键驱动安装本地就可以。安装完成后,如下所示。
开放原子线下训练营---STM32H7搭载TobudOS开发心得_第11张图片
下载代码时,可能还让升级驱动,直接点击Yes即可。
连接成功之后,在腾讯云就可以看到在线的状态。
在这里插入图片描述
点击调试 可直接在网页进行调试
开放原子线下训练营---STM32H7搭载TobudOS开发心得_第12张图片
点击二维码
手机微信小程序,找到腾讯连连,扫描二维码,注意首次可能需要创建家庭。

就会出现上图的一个远程开灯。
开放原子线下训练营---STM32H7搭载TobudOS开发心得_第13张图片
就可以直接在手机上点击开关控制灯的亮灭。
开放原子线下训练营---STM32H7搭载TobudOS开发心得_第14张图片

四、感悟

开放原子和腾讯真的非常nice,创造了这么好的氛围,还免费赠送价值这么高的开发板,能够面对面的和各位大佬进行交流,有一个很好的开发氛围。
目前嵌入式的各种搭建与配置越来越简单,之前自己通过云服务器搭建MQTT,需要耗费很多时间和金钱,现在有了越来越简单的办法,应该感谢各位开发者的不断努力!
现场调试的题目比较简单,但是还是很多开发者事先没有准备好环境,或者是配置了一个错误的环境。在所有的开发中也要事先准备好,嵌入式的环境搭建确实是一个比较麻烦的事情,有时候换一个版本就需要多做很多的工作,所以还是需要认真阅读参考手册和文档。感谢腾讯与开放原子的大力支持!!!

你可能感兴趣的:(嵌入式开发,开放原子,stm32,struts)