独立MCU怎么读 第1篇
位置: 中 main()函数
相关说明:
从MCU SDK文件内容目录结构看到,自动生成MCU代码里面没有rgb_led灯驱动,我们可以去机智云官网,开发者中心,下载中心,去参考下载其他含rgb_led灯驱动的项目,把里面的rgb_led灯驱动提取出来移植,以移植微信宠物屋rgb_led灯驱动为例。
我们把刚刚下载的微信宠物项目解压,进入如下目录,可以看到有个rgb_led灯驱动文件夹,把文件夹复制到自己的自动生成MCU驱动目录里面
回到我们自己MCU代码,在驱动目录里面添加rgb_led驱动文件
在和文件加入#include “Hal_rgb_led/”
位置: 中 userInit() 函数
设备需要进入配置模式才能进行联网,并与云端进行通信,MCU SDK在工程中是通过按键触发进入相应的配置模式。这里,我们简单地添加成功触发WiFi模组进入AirLink配置模式后LED灯亮起。
进入 Soft AP 模式:key2 按键短按。
B. 进入 AirLink 模式:key2 按键长按亮蓝blue灯。
C. 模组复位:key1 按键长。
与控制型协议相关的函数调用关系如下:
函数调用说明:
相关代码位置:…\Gizwits\ 中 gizwitsEventProcess() 函数:
功能说明:完成写类型外设的事件处理。
相应代码:
与上报型协议相关的函数调用关系如下:
函数调用说明:
相关代码位置: …\User\ 中 userHandle() 函数:使用说明:该函数中完成了用户区上报型数据的获取。用户只需将读到的数据赋值到 用户区当前设备状态结构体即可,赋值完的数据是通过 gizwitsHandle 上报云端的,开发者不需要关注变化上报和定时上报。
独立MCU怎么读 第2篇
在机智云官网上已成功创建智能灯产品,机智云为该产品分配Product Key和Product Secret参数。Product Key参数由开发者写入设备MCU(设备主控板),并告知WiFi/GPRS模块,WiFi/GPRS模块登录机智云后,机智云将会识别该Product Key的产品。Product Secret参数是APP开发或服务器对接时所使用的参数。
数据点即设备产品的功能的抽象,用于描述产品功能及其参数。创建数据点后,设备与云端通讯的数据格式即可确定,设备、机智云可以相互识别设备与机智云互联互通的数据。
独立MCU怎么读 第3篇
数据点定义基本内容可分为显示名称,标识名,读写类型,数据类型及备注。概图如下:
显示名称:自定义功能点名称。
标识名:用于应用层传输,客户端或业务云开发时需要使用。命名规则遵循标准的开发语言变量名命名规范,支持英文字母、数字和下划线,以英文字母开头。
读写类型:
①只读:表示该数据点非控制,数据只支持从设备上报。
②可写:表示该数据点可控制。设备端可上报该数据点数据;云端/客户端可对该数据点数据做出下发控制。
③报警:表示该数据点非控制,数据只支持从设备上报,数据类型需为布尔值。
④故障:表示该数据点非控制,数据只支持从设备上报,数据类型需为布尔值。云端会对设备上报的该数据点做统计,可在“运行状态”查看。
数据类型:
①布尔值:表示两个状态:0,或1。如开关状态等,建议使用布尔数据类型。例如GoKit开发板的“宠物屋”,“开启/关闭红色灯”该数据点。
②枚举类型:可定义一个有限的取值集合。当定义的某个功能(元器件)有固定的若干个值。例如GoKit开发板的“宠物屋”,“设定LED组合颜色”该数据点的枚举定义值:“自定义,黄色,紫色,粉色”。
③数值:填写数值范围,数值可为负数/小数,机智云自动将数值转换为正数。例如GoKit开发板的“宠物屋”,“设定电机转速”该数据点:电机有正反转、调速功能,数据点值可定义为:-5~5。
④扩展:填写数据长度,数据内容由用户自定义。对于上述功能点无法满足的复杂功能可采用。机智云不建议使用此类型数据,设备上报该数据点的数据,机智云无法识别。
备注:选填,用一段文本描述当前数据点的功能及定义方法,对字符格式不做限制。只用于提高数据点的易读性,如果需要团队协作开发,建议规范填写。
数据点数值型分辨率、增量换算实现原理
如以上提到,在定义数值型数据点的时候,取值范围可以使用包括小数、负数等非uint类型数值,熟悉嵌入式开发的开发者会知道,这些数值在设备端都是不被支持的。
机智云为了让设备功能定义更加简单直接、所见即所得,研究出来一套算法,用于将用户输入的数值转换成设备能够识别的uint类型,这套算法的核心公式是:y=kx+m。
y表示“显示值”,就是用户可见的最终数值,也是数据点定义时输入的值。包括Ymin(最小值) 和 Ymax(最大值)。
x表示“传输值”,就是实际指令间传输使用的数值,云端/客户端接收到的值。一定是uint格式。也包括 Xmin 和 Xmax。
k表示“分辨率”,就是用户输入的分辨率一值,确定了每个取值的步进。
m表示“取值偏移量”或“增量”,算法通过m值将y值偏移到满足x值uint格式的要求,m值默认等于Ymin,确保Xmin=0 。
以下用一个电子温度计举例说明换算过程 数据点内容: 取值范围:-30(Ymin) ~ 50(Ymax),分辨率:
根据公式:y=kx+m,m默认等于Ymin -30Xmin = (-30+30) / = 0Xmax = (50+30) / = 800
独立MCU怎么读 第4篇
自动生成的MCU SDK代码实现了机智云通信协议的解析与封包、传感器数据与通信数据的转换逻辑,并封装成了简单的 API。当设备收到云端或 APP 端的数据后,程序会将数据转换成对应的事件并通知到应用层,开发者只需要在对应的事件处理逻辑中添加传感器的控制函数,便可完成产品的开发。这里选择独立MCU方案、硬件平台STM32f103c8x后,机智云直接生成适应STM32f103c8x的工程代码。
独立MCU怎么读 第5篇
产品发布到正式生产环境后,机智云将为你的设备免费分配独立的云端运行环境,确保你的设备24小时不间断在线以供用户使用,将享受更多机智云为您提供的免费增值服务,包括:智能设备统计分析,开放平台展示以及各种无微不至的技术支持服务。
产品如何申请发布上线,具体步骤如下:
1.进入产品详细信息页面,在产品名称旁边显示【申请发布】按钮