机智云代码自动生成工具,快速搞定智能硬件产品开发

· 行业资讯,开发资讯

当前,常见的智能硬件设备多是由单片机、微处理器、微控制器等构成的嵌入式系统,通过WiFi、蓝牙、GPRS、Cat.1、LoRa、NB-IoT等无线通信模组,将数据上报到云端服务器进行数据解析分析决策,以完成设备、云端和手机APP/微信小程序/网页等应用端的交互。整个开发流程中涉及到各类型的开发需求,仅在智能硬件开发方面,就需要实现底层硬件与通信模块、通信模块与云端的对话功能,使数据可以在三者间自由传输。

broken image

为此,开发者要完成智能硬件设备底层驱动的编写、无线通信模组应用层协议的制定和编写、服务器开发、移动端开发、业务逻辑等,花费很多时间和精力来完成大量的开发工作,不仅研发周期长,调试过程也复杂。不论是大公司、创业团队还是个人开发者,都会谨慎从零开始开发,通常选择一个一站式智能硬件开发工具,为其提供从产品功能定义、设备端开发调试、SDK生成应用开发的能力。

机智云代码自动生成工具

为了降低企业/个人开发者的开发门槛,缩短开发周期,减少开发资源投入,机智云物联网推出了MCU代码自动生成工具。通过借助机智云低代码开发平台(即机智云开发者中心)和代码自动生成工具,开发者能够省去中间重复开发的繁琐环节,只需关注硬件底层驱动(硬件底层驱动一般由硬件供应商提供)和业务逻辑开发即可。

机智云低代码开发平台提供邮箱即时注册使用的免费在线开发工具和详细的开发教程,开发者在平台上新建产品完成数据点部署后,可进入“MCU开发”界面选择适配的MCU型号,云端会根据开发者自定义的数据点和MCU型号,自动生成对应的串口通信协议和MCU工程框架,该框架封装了设备与云服务器交互的协议层,一切操作均以数据点事件呈现,轻松实现底层硬件与通信模块的对话。

broken image

该代码自动生成工具实现了MCU与云服务器通信协议的解析与封包、传感器数据与通信数据的转换逻辑,并封装成了简单的API,且提供了多种平台的实例代码。当设备收到云端或APP端的数据后,程序会将数据转换成对应的事件并通知到应用层,开发者只需要在对应的事件处理逻辑中添加传感器的控制函数,就可以完成产品的开发。使用自动生成的代码开发产品,就不必再处理协议相关的部分,可以将节省出来的精力集中在产品的核心功能开发上。

broken image

目前,自动生成服务支持的硬件方案有:独立MCU方案、SOC方案。其中独立MCU方案支持的硬件平台有:stm32f103c8x平台、通用平台(即其他平台);SOC方案支持的硬件平台有:ESP8266平台。MCU方案中除了支持STM32平台,还可以将我们生成好的通用平台版代码移植到符合条件的任意平台,从而实现机智云所提供的各种功能。

代码自动生成工具的使用

► 步骤1:创建产品
点击登录机智云开发者中心,在右上角创建新产品。

broken image

选择对应的产品类型,以及是否需要标准方案,还是自定义方案。

broken image

输入相应的产品信息后点击“创建”。

broken image

► 步骤2:添加数据点

添加相应的数据点

broken image
broken image
broken image

► 步骤3:生成目标平台代码

当全部定义好数据点后,再使用自动生成代码服务,否则修改了数据点需要再次生成代码,重新下载代码包

► 步骤3-1:生成MCU方案代码定义好产品后,选择左侧服务中的“MCU开发”(假设采用的MCU是STM32F103C8x),选中硬件方案中的“独立MCU方案”,再选择“硬件平台”中的“stm32f103c8x”,最后点击“生成代码包”,等待生成完毕下载即可。

如果是其他MCU芯片,则需要选择“其他平台”选项,然后将生成的代码包移植到使用的平台。

broken image

下载完成后解压如下:

broken image

► 步骤3-2:生成SoC方案代码定义好产品后,选择左侧服务中的“SoC开发”(假设使用的SoC芯片是esp8266),选中硬件方案中的“SoC方案”,则选择“硬件平台”中的“esp8266”,最后点击“生成代码包”,等待生成完毕下载即可。

broken image

下载完成后解压如下:

broken image

► 步骤4:代码二次开发

自动生成的代码已经根据用户定义的产品数据点信息,并针对STM32、ESP8266等平台,生成了对应的机智云串口协议层代码,用户只需要调用相应的API接口或添加相应的逻辑处理即可。代码框架如下图所示:

broken image

其中需要开发的部分有:

  • 下行处理:例如LED灯开关、电机转速控制等。
  • 上行处理:例如温湿度数据采集,红外传感器状态获取等。
  • 配置处理:配置入网及恢复出厂设置。