开发者社区> 温柔的养猫人> 正文

《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

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快速构建温度计应用

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
28404 0
ESP8266在Alios-Things上的入门开发指南 (二)ESP8266开启CLI功能及添加CLI函数
Alios-Things支持几种调试方式,具体作用及使用可参考链接地址 https://github.com/alibaba/AliOS-Things/wiki/Debugging-Overview.zh     今天我们主要关注CLI调试的开启,及增加CLI函数。
3685 0
AliOS Things 的 ESP32 应用开发流程
本文介绍 Windows 下基于 AliOS Things 的 ESP32 应用开发流程,包括环境搭建、程序编译、固件烧写。
8372 0
iOS开发中 关于阿里云服务器的使用与安全策略 韩俊强的博客
使用背景:         云服务已经很多年了,早期没能加入使用云大军中的一员,后来后悔莫及。2015年记得当时没办法租用的虚拟主机三天两天挂了,导致我认认真真的考虑了一次,觉得还是要使用云服务器! 从免费的主机屋学习版到各种虚拟机的实验,再到之前是用300元左右买的别人的虚拟主机,空间有几G,感觉还行,正好又值他们搞活动,买两年送一年!预存还有返还!心动了,就没有任何考虑就预存了一千块! 开始的几个月感觉还行,速度什么的还过得去,就没去管网站的事了。
1748 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
20322 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
23543 0
一次开发、多端分发,阿里巴巴发布AliOS车载小程序
4月16日上海国际车展首日,阿里巴巴小程序有了新动态:正在研发基于AliOS的车载小程序。
14657 0
1170
文章
2
问答
来源圈子
更多
开发者免费资源中心,技术电子书、会议PPT、论文资料持续供应中
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载