《AliOS Things快速开发指南》来了!

简介: 本文将基于AliOS Things 3.1系统搭建应用,此应用通过支付宝小程序控制RGB灯的颜色。

点击免费下载
>>《AliOS Things快速开发指南》<<

或者复制该链接到浏览器完成下载或分享: https://developer.aliyun.com/topic/download?id=812

AliOS Things快速开发指南-01.jpg

使用AliOS Things快速构建RGB灯应用

本文将基于AliOS Things 3.1系统搭建应用,此应用通过支付宝小程序控制RGB灯的颜色。

背景信息

整体流程图如下:
image.png

  • 支付宝小程序服务端主要功能是为支付宝小程序提供API SaaS服务,同时通过OpenAPI SDK对接阿里云物联网(IoT)平台。
  • 支付宝小程序客户端主要功能是显示前端控制界面,通过https API发送指令控制设备属性。
  • 设备端程序主要功能是基于AliOS Things 3.1系统适配D1 WiFi设备开发。
  • 阿里云物联网平台主要功能是提供安全可靠的设备连接通信能力,支持设备数据采集上云,规则引擎流转数据和云端数据下发设备端。此外,也提供方便快捷的设备管理能力,支持物模型定义,数据结构化存储,和远程调试、监控、运维。
  • 硬件设备主要功能是通过D1 WiFi设备连接网络,接收支付宝小程序的指令控制RGB灯的颜色。D1 WiFi设备的芯片型号是ESP 8266。

步骤一:管理阿里云物联网平台设备

支付宝小程序和设备端是通过阿里云IoT平台进行通信的,具体是通过设备四元组信息进行连接的。所以要先在阿里云物联网平台创建产品,在产品下添加对应型号的设备,产生该设备四元组信息。要有阿里云账号并开通阿里云物联网平台服务。
1.登录阿里云物联网平台
2.创建产品。

  • 单击左侧菜单栏的设备管理>产品,打开产品列表页。

image.png

  • 单击创建产品进入创建产品页面。
  • 参考说明配置产品信息,然后单击保存

image.png

  • 产品名称:输入产品名称,例如:xw智能灯。
  • 所属品类:此处选择标准品类下的智能生活/电工照明/灯。

    • 单击请选择标准品类选择框。

image.png

  • 在搜索框里输入,然后单击搜索图标。

image.png

  • 单击下图所示选择,选择品类。

image.png

  • 联网方式:此处选择Wi-Fi。
  • 数据格式:此处选择ICA 标准数据格式(Alink JSON)。

3.添加设备。

  • 单击图示中前往添加进入产品所属设备列表页面。

image.png

  • 单击添加设备。

image.png

  • 参考说明配置设备信息,然后单击确认

image.png

  • DeviceName:输入DeviceName,例如:xwRGBLamp。
  • 备注名称:输入备注名称,例如:xw智能灯设备。

    • 单击下图所示前往查看

image.png

  • 单击DeviceSecret旁边的查看

image.png

  • 单击一键复制复制设备三元组。

image.png

设备三元组信息如下:

{
  "ProductKey": "a1****kJ",
  "DeviceName": "xwRGBLamp",
  "DeviceSecret": "be8f*********b45297fc"
}

4.添加功能。

  • 单击左侧菜单栏产品进入产品列表页。然后单击操作列的查看按钮。

image.png

  • 单击功能定义,然后单击编辑草稿

image.png

  • 单击添加标准功能

image.png

  • 选择RGB调色,然后单击确定

image.png

  • 单击发布上线

image.png

  • 勾选确认已查看当前版本与线上版本的 比对结果,然后单击确定

image.png

  • 单击ProductSecret旁边的查看

image.png

  • 单击ProductSecret栏的复制

image.png

ProductSecret和上面的三元组信息组成设备的四元组信息。
设备四元组信息用于后续支付宝客户端,物联网设备端开发,此处可以保存一下。
设备四元组信息如下:

{
  "ProductKey": "a1******EB",
  "ProductSecret": "Sj********YX",
  "DeviceName": "xwRGBLamp",
  "DeviceSecret": "c7*******************4c1c"
}

5.发布产品。

  • 在产品详情页,单击右上角的发布,弹出确认发布产品框。

image.png

  • 依次单击请确认后面的图标,然后单击发布

image.png

步骤二:开发支付宝小程序服务端应用

支付宝小程序服务端接收支付宝小程序客户端的指令传送到阿里云IoT平台。使用Visual Studio Code开发工具,Node.js脚本语言。如果需要部署到线上或者上线小程序,还需要准备:

  • ECS或者公网可访问的服务器。
  • 有效域名(已备案)。
  • SSL证书。

申请加入阿里巴巴小程序繁星计划,可以免费试用ECS和其他的小程序服务。
1.下载安装Node.js
2.下载支付宝小程序服务端源码
3.使用Visual Studio Code打开支付宝小程序服务端源码。
image.png
4.修改配置信息。
修改app/service/aliyunIoT.js文件中的config属性。

const config = {
  accessKey: '<access-key>',
  accessSecret: '<access-secret>',
  endPoint: 'https://iot.<regionId>.aliyuncs.com',
  apiVersion: '2018-01-20',
  regionId: '<regionId>',
};

access-keyaccess-secret是阿里云颁发给用户访问服务所用的密钥。

  • 登录阿里云控制台
  • 鼠标移至右上角头像,然后单击AccessKey 管理

image.png

  • 在AccessKey管理页面获取accessKeyaccessSecret

image.png

    • regionId是阿里云物联网平台所属地域,查看地域详情,例如:cn-shanghai。
    • endPoint是地域所属的数据中心。阿里云物联网平台有多个地域,不同地域有不同的数据中心。

5.依次单击上面菜单栏的Terminal>New Terminal打开Terminal窗口。
image.png
6.在Terminal窗口执行以下命令。

$ npm i
$ npm run dev

7.使用浏览器访问http://127.0.0.1:7001/。
image.png
说明:支付宝小程序服务端源码适用于AliOS Things 3.1版本。

步骤三:开发支付宝小程序客户端应用

支付宝小程序客户端向支付宝小程序服务端发送RGB灯颜色指令。使用小程序客户端开发工具打开支付宝小程序客户端程序,并修改配置信息进行运行。了解支付宝小程序开发流程:支付宝小程序快速开始
1.下载安装支付宝小程序客户端开发工具
2.下载支付宝小程序客户端源码。
3.用小程序开发工具打开支付宝小程序客户端源码。

  • 打开小程序开发者工具客户端。然后单击客户端右上角打开项目

image.png

  • 选择客户端源码文件,然后单击选择文件夹

image.png

  • 单击打开

image.png

  • 首次打开源码时提示安装依赖,单击确认安装依赖。

image.png

如果首次没有安装依赖,可以按下图操作手动安装所需依赖。
image.png

4.修改配置。
打开utils/device_api.js文件,修改以下三个属性:

const defaultServerURL = '<your-domain>';
const defaultProductKey = '<product-key>';
const defaultDeviceName = '<device-name>';
  • your-domain为支付宝小程序服务端API地址,例如:http://localhost:7001/api/device。
  • product-key为设备四元组信息中ProductKey值。
  • device-name为设备四元组信息中DeviceName值。

步骤四:开发设备端应用

要先安装好设备对应的驱动,本例中D1 WiFi设备对应的驱动为CH340
1.修改AliOS Things3.1源码。
由于设备端应用需要依赖pwm库,所以要在AliOS Things系统中加入pwm库。
打开platform/mcu/esp8266/aos.mk文件,在第54行下面加入以下代码。

$(NAME)_PREBUILT_LIBRARY += bsp/lib/libpwm.a

image.png
2.下载设备端源码
3.用开发工具Visual Studio Code打开设备端源码。
image.png
4.修改设备端配置。

  • 打开app_entry.c文件,修改以下属性。

设备认证信息:

#define PRODUCT_KEY "<ProductKey>"
#define PRODUCT_SECRET "<ProductSecret>"
#define DEVICE_NAME "<DeviceName>"
#define DEVICE_SECRET "<DeviceSecret>"
  • ProductKey为设备四元组信息ProductKey的值。
  • ProductSecret为设备四元组信息ProductSecret的值。
  • DeviceName为设备四元组信息DeviceName的值。
  • DeviceSecret为设备四元组信息DeviceSecret的值。

WiFi信息:

#define WIFI_SSID "<WIFI_SSID>"
#define WIFI_PASSWD "<WIFI_PASSWD>"
  • WIFI_SSID为手机热点的设备名称,例如:aiotesp8266。
  • WIFI_PASSWD为手机热点的密码,例如:12345678abc。

image.png

5.编译。
单击上面导航栏的Terminal>New Terminal,在下面的Terminal窗口输入aos make进行编译。
image.png
输出类似下图信息表示编译成功。
image.png
6.烧录。

  • 通过USB接口连接D1 WiFi设备。

image.png

  • Terminal窗口输入aos upload进行烧录。
  • 输入1,然后按enter键。

image.png
输出类似下图信息表示烧录成功。

image.png

步骤五:通过手机热点进行设备配网

前面的开发工作已经完成,现在是最关键的一步。手机热点信息已经通过步骤四烧录到设备中,这里打开手机热点,设备会自动进行配网连接,通过串口监控可以查看配网日志信息。配网成功支付宝小程序客户端设备状态变为在线,阿里云IoT平台设备状态变为在线。
1.打开手机热点进行网络适配。
2.单击设备端的image.png图标进行串口监控,查看设备日志。
3.选择波特率为961200,然后单击打开
image.png

  • Web Serial窗口输出连接信息。

image.png

  • 支付宝小程序客户端重新编译后,设备状态为在线。

image.png

  • 在阿里云物联网平台查看设备状态为在线。

image.png

步骤六:通过支付宝小程序控制RGB灯颜色

D1 WiFi设备连上RGB灯,就可以通过支付宝小程序控制RGB灯的颜色。
1.D1 WiFi设备连接RGB灯。
接线方式如下:

D1 WiFi引脚 RGB灯引脚
GPIO12 Blue(蓝色灯引脚)
GPIO13 Red(红色灯引脚)
GPIO15 Green(绿色灯引脚)
GND GND(负极)

2.在支付宝小程序客户端选择绿色,RGB灯颜色变为绿色。
image.png
image.png
3.在支付宝小程序客户端选择蓝色,RGB灯颜色变为蓝色。
image.png
image.png
4.在支付宝小程序客户端选择红色,RGB灯颜色变为红色。
image.png
image.png

上一篇:使用AliOS Things快速构建温度计应用

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
安全 网络协议 物联网
AliOS Things开发前准备 |《AliOS Things快速开发指南》
在运行AliOS Things系统之前,您需要做好一系列准备工作,包括搭建环境、安装驱动设备、下载AliOS Things系统源码、安装开发工具AliOS Studio等。本文详细介绍如何完成这些准备工作。
AliOS Things开发前准备 |《AliOS Things快速开发指南》
|
算法 Java 索引
Byte Hex CRC计算笔记
Byte Hex CRC计算笔记
183 0
|
设计模式 编解码 C++
【ffmpeg 视频播放】深入探索:ffmpeg视频播放优化策略与设计模式的实践应用(一)
【ffmpeg 视频播放】深入探索:ffmpeg视频播放优化策略与设计模式的实践应用
347 0
|
SQL 数据安全/隐私保护
阿里云服务器怎么搭建sql server(即 MS SQL)?
本文从远程桌面连接,到SQL SERVER安装进行了系统介绍。购买前请先:领取阿里云幸运券,有很多优惠,下文中有领取链接。 购买建议多买几年,年数越多优惠越多。
10150 82
|
10月前
|
算法 调度 UED
深入理解操作系统:进程管理与调度策略
操作系统作为计算机系统的核心,其进程管理和调度策略对于系统性能和用户体验至关重要。本文将通过直观的代码示例和浅显易懂的语言,带领读者了解操作系统如何有效管理进程以及常见的进程调度算法。我们将从进程的基本概念出发,逐步深入到进程状态、进程控制块(PCB)的作用,最后探讨不同的调度算法及其对系统性能的影响。无论您是初学者还是有一定基础的开发者,都能从中获得有价值的信息。
|
11月前
|
XML 小程序 前端开发
小程序制作教程
小程序制作教程
633 3
小程序制作教程
|
10月前
|
安全 网络协议 Linux
Linux操作系统的内核升级与优化策略####
【10月更文挑战第29天】 本文深入探讨了Linux操作系统内核升级的重要性,并详细阐述了一系列优化策略,旨在帮助系统管理员和高级用户提升系统的稳定性、安全性和性能。通过实际案例分析,我们展示了如何安全有效地进行内核升级,以及如何利用调优技术充分发挥Linux系统的潜力。 ####
285 1
|
10月前
|
传感器 安全 物联网
5G与物联网:加速产业数字化转型
【10月更文挑战第26天】
268 0
|
存储 关系型数据库 MySQL
MySQL数据库基础:约束
约束是对数据库表中字段施加的规则,确保数据的正确性、有效性和完整性。主要分为非空约束、唯一约束、默认约束、主键约束和外键约束。非空约束禁止字段值为null;唯一约束确保字段值唯一,允许null值重复;默认约束设定默认值;主键约束结合非空与唯一约束,并可设为自增型;外键约束则通过关联其他表的主键,保证数据一致性。检查约束确保字段值满足特定条件。
175 1
|
图形学 索引
【用unity实现100个游戏之15】开发一个类保卫萝卜的Unity2D塔防游戏1(附项目源码)
【用unity实现100个游戏之15】开发一个类保卫萝卜的Unity2D塔防游戏1(附项目源码)
467 0