热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

涂鸦标准模组MCUSDK开发流程

MCUSDK是根据涂鸦IoT开发平台定义的产品功能,自动生成的MCU代码。目前主要支持的MCU有STM32、51单片机、Arduino。为了减少开发者使用涂鸦Wi-F

MCU SDK 是根据涂鸦 IoT 开发平台定义的产品功能,自动生成的 MCU 代码。目前主要支持的MCU有STM32、51单片机、Arduino。为了减少开发者使用涂鸦 Wi-Fi 通用串口协议的对接成本,MCU SDK 已搭建通讯及协议解析架构。将 MCU SDK 添加至自己的工程并配置相关信息后,既可以快速的完成 MCU 程序开发。在涂鸦 IoT 平台通过自定义产品功能自动生成MCU SDK代码。能够帮助开发者快速实现MCU程序的开发。
那么要完成 MCU 的开发就需要在 IoT平台通过自定义方案完成产品的创建。之前已经讲到了零代码开发流程指南 ,大体流程相似,都需要通过 IoT 平台创建产品来完成整个流程。


1.登录IoT工作台

登录涂鸦IoT工作台(未注册需先进行账号注册)。
在这里插入图片描述


2.产品创建

在这里插入图片描述

本文以涂鸦 WB3S 模组为例,其他产品操作流程类似。WB3S 是一款低功耗嵌入式 Wi-Fi 模组,并同时支持低功耗蓝牙连接。WB3S 还是一个 RTOS 平台,集成了所有 Wi-Fi MAC 以及 TCP/IP 协议的函数库。开发者可以基于这些开发满足自己需求的嵌入式 Wi-Fi 产品。WB3S详细参数见WB3S模组规格书。
        这里我们以照明类目中的 光源 为例。产品方案选择自定义方案,点击 “光源” 框后,通讯协议选择 WiFi+蓝牙,产品名称根据自己需求填写。
在这里插入图片描述


3.功能选择

点击创建产品之后会弹出功能选择界面,可以根据项目需要选择光源功能,在MCU SDK 开发中产品功能完全可以自己定义,没有必选功能。
下面介绍一下DP([datapoint] 可理解为设备上发生的某种事件,如门锁开门,门铃告警)数据类型及其功能和DP格式说明
DP 类型主要有 6 种:
bool 型:
通常为开关类的 DP,例如开关、ECO 和屏显。
enum 型:
通常用作那些有多种状态的 DP,例如工作模式、风速和风摆位置。
value 型:
通常用作数值类型的 DP,例如设定温度值、当前温度值和电量。
fault 型:
通常用于故障的上报,数据常用 bitmap 格式显示。
string 型:
通常用作字符串类型的 DP。需要以字符串形式传输的 DP 可以使用此类型。部分不便于使用 bool、enum、value 或 fault 类型的 DP,也可用此类型。
raw 型:
通常用作需要透传但对数据格式无要求(明文或者加密)的数据。发送端和接收端对数据的格式、组包和解析方式需要统一。
在这里插入图片描述

开发者根据自定义的功能属性选择相应的DP类型。例如,在IoT平台创建了一个名为温度的DP点,它的dpid为1,初始温度为25℃,那么将它放在一个数组中就可以表示为

DP_BUF[] = {0x01, 0x02, 0x04, 0x00, 0x00, 0x00, 0x19}

buf[0]: DPID(1)
buf[1]: DP类型(value)
buf[2]: DP长度(4)
buf[3 - 6]: 具体DP值(温度值25),采用大端传输。

配置完毕之后直接单击确定进入下一步。


4.配置面板

下载涂鸦智能APP(微信扫码即可下载)。

在这里插入图片描述

IoT平台提供了很多手机 APP 界面,可根据个人喜好进行选择。面板选择完成之后在涂鸦 APP 我的 - 右上角扫描上图中的二维码可在APP 中添加相应的产品。


5.硬件调试

在模组选择页面选择 涂鸦标准模组MCU SDK开发 对应模组选择WB3S 。

在这里插入图片描述

固件选择 模块通用固件方案 然后将开发资料一键打包下载。
在这里插入图片描述

开发资料包含:


  • MCU SDK :根据 IoT 平台控制台定义的产品功能,自动生成的基于 C 语言的 MCU 代码。通讯及协议解析架构已写好,可直接添加到自己的 MCU 工程中,快速完成 MCU 程序开发。
  • 产品串口通讯协议:根据功能选择,自动生成的涂鸦模组串口通讯协议。
  • 涂鸦串口调试助手:集成了涂鸦模组通讯协议的串口调试工具,用于 MCU 通用对接方案的开发调试。串口模拟助手既可以模拟MCU 也可以模拟模组,在未收到模组之前,开发者可用调试助手模拟模组进行开发调试。
  • 功能点调试文件:配合调试助手使用的调试文件,包含产品 PID、功能点等信息。

在这里插入图片描述


6.MCU SDK移植

熟悉了上述流程以及串口调试助手的使用,接下来才是重头戏。MCU 与模组之间建立通讯,完成数据交互需要进行MCU SDK移植。将下载好的开发资料包中的MCU SDK文件在自己的项目工程进行移植,具体移植步骤参考 MCU SDK移植。需要注意,移植时建议开启两个串口,串口1用于MCU与模组之间数据收发,串口2用于打印调试信息提高移植效率。详细视频教程点击链接查看。
 


推荐阅读
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • Google在I/O开发者大会详细介绍Android N系统的更新和安全性提升
    Google在2016年的I/O开发者大会上详细介绍了Android N系统的更新和安全性提升。Android N系统在安全方面支持无缝升级更新和修补漏洞,引入了基于文件的数据加密系统和移动版本的Chrome浏览器可以识别恶意网站等新的安全机制。在性能方面,Android N内置了先进的图形处理系统Vulkan,加入了JIT编译器以提高安装效率和减少应用程序的占用空间。此外,Android N还具有自动关闭长时间未使用的后台应用程序来释放系统资源的机制。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
author-avatar
化工12卓越团支部CUP
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有