|
身为嵌入式开发者的你一定经常为设备连云而伤神,繁琐的上云步骤、复杂的环境配置,物联网世界看似美好,实则折腾不起。此篇文章将颠覆你对设备上云的痛苦印象,帮助你免开发 10 分钟快速连云。 硬件部分使用搭载 STM32F412 官方开发板STM32F412 Nucleo-144搭配庆科3080 WiFi模组进行。 关于STM32F412产品介绍,相关设计文件和参考设计,请点击介绍; 关于STM32F412的官方开发板NUCLEO-F412ZG的资料,请点击资料; 关于NUCLEO-F412ZG官方开发板的购买,可以访问STM32旗舰店。
一、开通云平台服务 前往阿里云物联网平台官网 http://iot.aliyun.com/products/ ... ce=develop_shequ_st,点击立即开通,无阿里云账号请按步骤注册账号同时完成实名认证。
之后同意物联网平台服务协议,即可开通
二、云平台操作 打开阿里云物联网平台控制台(http://iot.console.aliyun.com/data_board),选择设备管理-产品-创建产品-高级版产品,在设备模型的自定义功能处,新增两个属性, 一个用于上行消息, 另一个用于下行消息, 均设为字符串类型。
之后添加一个用于测试的设备:
记录下设备证书:
至此云平台的操作已完成。 三、端侧开发 无须复杂的环境配置,我们可以直接使用阿里云的在线设备开发工作台,完成设备端的开发工作。 首先进入WebIDE开发界面:http://webide.aliyun.com,如下图。
接着点击下图中agent下载按钮,IDE会根据你使用的电脑操作系统自动判断下载对应的agent包。下载完毕后解压缩下载到本地的zip包。
然后在tools目录中找到并安装其中的STLink驱动。安装之后,可以检查新的设备是否已经出现在系统设备列表中。(Mac/Linux用户可以ls /dev检查,Windows用户通过设备管理器)。 最后启动Agent,Linux/Mac系统:在终端中执行下载好的agent目录中的run.sh脚本;Windows系统:运行agent目录下的hacklab-device-agent.exe。 Hacklab agent运行成功后,将STM32F412开发板使用USB连接到电脑后,点击Web IDE文件树上的Device节点,如下图中所示,可以看到开发板已经连接到了IDE的设备列表中。
设备连接后就是设备开发了: 首先在IDE中点击新建工程(Toolbar上的➕按钮),在Create Project Wizard界面中,填写工程名simple_mqtt,Board类型选择STM32F412 Nucleo-144,OS类型选择AliOS-Things,选择完成后点击create等待IDE下载工程代码。
工程创建完成后,在左侧的文件树中出现了simple_mqtt工程,刚刚创建的AliOS-Things代码位于device模块目录中,找到 /device/AliOS-Things/example/simple_mqtt/simple_mqtt.c文件,将 27-29 行代码替换为从云平台获取到的设备证书。
接着修改/device/module.json文件, 将 @ 以前内容换成 simple_mqtt,全局按 shift+F键可快速搜索替换:
敲代码的工作到此就结束了,千万记住保存(ctrl+s或cmd+s)。 临门一脚,在IDE界面点击编译按钮选择simple_mqtt开始编译:
等待编译完成后点击烧录simple_mqtt程序到设备:
双击device下的设备名开始运行程序:
设备开始运行后输入netmgrconnect {Wi-Fi_SSID} {passwd} 指令使设备连接Wi-Fi网络(可以使用手机开启热点)。连接Wi-Fi成功后设备将开始上报数据,运行日志如下,设备正常运行后可以查看平台设备属性。
四、云端联调 控制台显示连云后,我们回到物联网平台,选择日志,可以看到设备上线同时云端已经收到了设备上发的消息。
至此,无须配置开发环境,无须复杂的定义接口,不到 10 分钟,你已经实现了STM32快速连云。 配合视频食用学习效果更佳: |
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版
虽然开源,但也不容易理解。