天天看点

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

点击免费下载

>>《AliOS Things快速开发指南》<<

或者复制该链接到浏览器完成下载或分享: https://developer.aliyun.com/topic/download?id=812
《AliOS Things快速开发指南》来了!

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

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

背景信息

整体流程图如下:

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

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

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

1.登录

阿里云物联网平台

2.创建产品。

  • 单击左侧菜单栏的设备管理>产品,打开产品列表页。
    《AliOS Things快速开发指南》来了!
  • 单击创建产品进入创建产品页面。
  • 参考说明配置产品信息,然后单击保存。
    《AliOS Things快速开发指南》来了!
  • 产品名称:输入产品名称,例如:xw智能灯。
  • 所属品类:此处选择标准品类下的智能生活/电工照明/灯。
    • 单击请选择标准品类选择框。
      《AliOS Things快速开发指南》来了!
    • 在搜索框里输入

      ,然后单击搜索图标。
      《AliOS Things快速开发指南》来了!
    • 单击下图所示选择,选择品类。
      《AliOS Things快速开发指南》来了!
  • 联网方式:此处选择Wi-Fi。
  • 数据格式:此处选择ICA 标准数据格式(Alink JSON)。

3.添加设备。

  • 单击图示中前往添加进入产品所属设备列表页面。
    《AliOS Things快速开发指南》来了!
  • 单击添加设备。
    《AliOS Things快速开发指南》来了!
  • 参考说明配置设备信息,然后单击确认。
    《AliOS Things快速开发指南》来了!
  • DeviceName:输入DeviceName,例如:xwRGBLamp。
  • 备注名称:输入备注名称,例如:xw智能灯设备。
    • 单击下图所示前往查看。
      《AliOS Things快速开发指南》来了!
    • 单击

      DeviceSecret

      旁边的查看。
      《AliOS Things快速开发指南》来了!
    • 单击一键复制复制设备三元组。
      《AliOS Things快速开发指南》来了!

设备三元组信息如下:

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

4.添加功能。

  • 单击左侧菜单栏产品进入产品列表页。然后单击操作列的查看按钮。
    《AliOS Things快速开发指南》来了!
  • 单击功能定义,然后单击编辑草稿。
    《AliOS Things快速开发指南》来了!
  • 单击添加标准功能。
    《AliOS Things快速开发指南》来了!
  • 选择RGB调色,然后单击确定。
    《AliOS Things快速开发指南》来了!
  • 单击发布上线。
    《AliOS Things快速开发指南》来了!
  • 勾选确认已查看当前版本与线上版本的 比对结果,然后单击确定。
    《AliOS Things快速开发指南》来了!
  • ProductSecret

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

    栏的复制。
    《AliOS Things快速开发指南》来了!

ProductSecret和上面的三元组信息组成设备的四元组信息。

设备四元组信息用于后续支付宝客户端,物联网设备端开发,此处可以保存一下。

设备四元组信息如下:

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

5.发布产品。

  • 在产品详情页,单击右上角的发布,弹出确认发布产品框。
    《AliOS Things快速开发指南》来了!
  • 依次单击请确认后面的图标,然后单击发布。
    《AliOS Things快速开发指南》来了!

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

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

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

申请加入

阿里巴巴小程序繁星计划

,可以免费试用ECS和其他的小程序服务。

1.下载安装

Node.js

2.下载支付宝小程序

服务端源码

3.使用Visual Studio Code打开支付宝小程序服务端源码。

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

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-key

access-secret

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

  • 登录 阿里云控制台
  • 鼠标移至右上角头像,然后单击AccessKey 管理。
    《AliOS Things快速开发指南》来了!
  • 在AccessKey管理页面获取

    accessKey

    accessSecret

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

5.依次单击上面菜单栏的Terminal>New Terminal打开Terminal窗口。

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

6.在Terminal窗口执行以下命令。

$ npm i
$ npm run dev           

7.使用浏览器访问

http://127.0.0.1:7001/
《AliOS Things快速开发指南》来了!

说明:支付宝小程序服务端源码适用于AliOS Things 3.1版本。

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

支付宝小程序客户端向支付宝小程序服务端发送RGB灯颜色指令。使用小程序客户端开发工具打开支付宝小程序客户端程序,并修改配置信息进行运行。了解支付宝小程序开发流程:

支付宝小程序快速开始

1.下载安装支付宝小程序

客户端开发工具 客户端源码

3.用小程序开发工具打开支付宝小程序客户端源码。

  • 打开小程序开发者工具客户端。然后单击客户端右上角打开项目。
    《AliOS Things快速开发指南》来了!
  • 选择客户端源码文件,然后单击选择文件夹。
    《AliOS Things快速开发指南》来了!
  • 单击打开。
    《AliOS Things快速开发指南》来了!
  • 首次打开源码时提示安装依赖,单击确认安装依赖。
    《AliOS Things快速开发指南》来了!

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

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

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           
《AliOS Things快速开发指南》来了!

2.下载

设备端源码

3.用开发工具Visual Studio Code打开设备端源码。

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

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。
《AliOS Things快速开发指南》来了!

5.编译。

单击上面导航栏的Terminal>New Terminal,在下面的Terminal窗口输入

aos make

进行编译。

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

输出类似下图信息表示编译成功。

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

6.烧录。

  • 通过USB接口连接D1 WiFi设备。
    《AliOS Things快速开发指南》来了!
  • 在Terminal窗口输入

    aos upload

    进行烧录。
  • 输入

    1

    ,然后按enter键。
    《AliOS Things快速开发指南》来了!

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

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

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

前面的开发工作已经完成,现在是最关键的一步。手机热点信息已经通过步骤四烧录到设备中,这里打开手机热点,设备会自动进行配网连接,通过串口监控可以查看配网日志信息。配网成功支付宝小程序客户端设备状态变为在线,阿里云IoT平台设备状态变为在线。

1.打开手机热点进行网络适配。

2.单击设备端的

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

图标进行串口监控,查看设备日志。

3.选择波特率为961200,然后单击打开。

《AliOS Things快速开发指南》来了!
  • Web Serial窗口输出连接信息。
《AliOS Things快速开发指南》来了!
  • 支付宝小程序客户端重新编译后,设备状态为在线。
《AliOS Things快速开发指南》来了!
  • 在阿里云物联网平台查看设备状态为在线。
《AliOS Things快速开发指南》来了!

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

D1 WiFi设备连上RGB灯,就可以通过支付宝小程序控制RGB灯的颜色。

1.D1 WiFi设备连接RGB灯。

接线方式如下:

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

2.在支付宝小程序客户端选择绿色,RGB灯颜色变为绿色。

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

3.在支付宝小程序客户端选择蓝色,RGB灯颜色变为蓝色。

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

4.在支付宝小程序客户端选择红色,RGB灯颜色变为红色。

《AliOS Things快速开发指南》来了!
《AliOS Things快速开发指南》来了!
上一篇:使用AliOS Things快速构建温度计应用

继续阅读