小程序无需编程,体验IoT物联网平台-物模型开发

简介: 无需编程,体验物模型开发

产品推荐:阿里云物联网开发者工具(IoT Studio),立刻免费体验吧!  
  

 微信小程序码

image.png

1. 准备工作

1.1 注册阿里云账号

浏览器打开 https://aliyun.com ,开通阿里云账号,并通过支付宝实名认证。[](https://www.aliyun.com)
/>image.png

1.2 免费开通IoT物联网平台

在产品分类,找到物联网平台,进入产品官网,立即开通。https://aliyun.com/product/iot
image.png

2. 控制台操作步骤

2.1 创建产品

 进入物联网平台的控制台,创建产品。自定义品类,数据传输JSON格式
image.png

2.2 产品功能定义

在产品详情页面的功能定义选项卡,创建产品物模型。
image.png
这里我们可以导入附录里的物模型。点击获取 完整物模型JSON,导入前需要替换对应的产品productKey。
物模型导入成功如下:
image.png

2.3 注册设备

在产品下注册设备,获得身份三元组,如下图。
image.png

3. 微信小程序操作                  

3.1 设备上线

我们打开微信,扫描小程序码,进入小程序。输入设备身份三元组,点击设备上线。如下图,可以看到设备状态为在线,小程序log和设备详情页面 最后上线时间一致。
image.png

3.2 上报数据

在小程序界面,点击数据上报,我们看到模拟器上报了当前湿度,温度值。在控制台设备日志也可以查到本次消息详情,如下图。
image.png
同时,在设备详情的运行状态,也能实时看到设备上报的数据。
image.png

3.3 订阅主题和数据下行

在小程序界面,点击 订阅主题,然后我们再去控制台,设备详情页面的 Topic列表,找到对应的topic,点击发布消息。在发布消息页面,填写消息内容,点击确认。我们就会看到在小程序端展示推送消息,如下图。
image.png
同时在设备下行日志,也可以看到完整的下行消息。
image.png

3.4 物模型-服务调用

在控制台的在线调试界面,我们选中小程序设备,选中功能 开灯(switch),输入参数{"status":"on"},点击发送命令。小程序的灯,就会变亮。如下图。

{"status":"on"} //status选项有:on ,off ,blue ,green

image.png
在设备详情的服务调用选项卡,也可以看到服务调用记录。如下图。
image.png

3.4 物模型-事件上报

我们在小程序界面点击告警,就会生成一条事件告警,上报当前的温度。如下图。
image.png

IoT物联网技术

附录:物模型TSL

{
  "schema": "https://iotx-tsl.oss-ap-southeast-1.aliyuncs.com/schema.json",
  "profile": {
    "productKey": "替换为你的productKey"
  },
  "services": [
    {
      "outputData": [],
      "identifier": "set",
      "inputData": [
        {
          "identifier": "temperature",
          "dataType": {
            "specs": {
              "unit": "°C",
              "min": "-20",
              "max": "80",
              "step": "0.1"
            },
            "type": "float"
          },
          "name": "温度"
        },
        {
          "identifier": "humidity",
          "dataType": {
            "specs": {
              "unit": "%",
              "min": "0",
              "max": "100",
              "step": "0.1"
            },
            "type": "float"
          },
          "name": "湿度"
        }
      ],
      "method": "thing.service.property.set",
      "name": "set",
      "required": true,
      "callType": "async",
      "desc": "属性设置"
    },
    {
      "outputData": [
        {
          "identifier": "temperature",
          "dataType": {
            "specs": {
              "unit": "°C",
              "min": "-20",
              "max": "80",
              "step": "0.1"
            },
            "type": "float"
          },
          "name": "温度"
        },
        {
          "identifier": "humidity",
          "dataType": {
            "specs": {
              "unit": "%",
              "min": "0",
              "max": "100",
              "step": "0.1"
            },
            "type": "float"
          },
          "name": "湿度"
        }
      ],
      "identifier": "get",
      "inputData": [
        "temperature",
        "humidity"
      ],
      "method": "thing.service.property.get",
      "name": "get",
      "required": true,
      "callType": "async",
      "desc": "属性获取"
    },
    {
      "outputData": [],
      "identifier": "switch",
      "inputData": [
        {
          "identifier": "status",
          "dataType": {
            "specs": {
              "length": "48"
            },
            "type": "text"
          },
          "name": "开关"
        }
      ],
      "method": "thing.service.switch",
      "name": "开灯",
      "required": false,
      "callType": "async"
    }
  ],
  "properties": [
    {
      "identifier": "temperature",
      "dataType": {
        "specs": {
          "unit": "°C",
          "min": "-20",
          "max": "80",
          "step": "0.1"
        },
        "type": "float"
      },
      "name": "温度",
      "accessMode": "rw",
      "required": true
    },
    {
      "identifier": "humidity",
      "dataType": {
        "specs": {
          "unit": "%",
          "min": "0",
          "max": "100",
          "step": "0.1"
        },
        "type": "float"
      },
      "name": "湿度",
      "accessMode": "rw",
      "required": true
    }
  ],
  "events": [
    {
      "outputData": [
        {
          "identifier": "temperature",
          "dataType": {
            "specs": {
              "unit": "°C",
              "min": "-20",
              "max": "80",
              "step": "0.1"
            },
            "type": "float"
          },
          "name": "温度"
        },
        {
          "identifier": "humidity",
          "dataType": {
            "specs": {
              "unit": "%",
              "min": "0",
              "max": "100",
              "step": "0.1"
            },
            "type": "float"
          },
          "name": "湿度"
        }
      ],
      "identifier": "post",
      "method": "thing.event.property.post",
      "name": "post",
      "type": "info",
      "required": true,
      "desc": "属性上报"
    },
    {
      "outputData": [
        {
          "identifier": "temperature",
          "dataType": {
            "specs": {
              "unit": "°C",
              "min": "0",
              "max": "10000",
              "step": "0.1"
            },
            "type": "float"
          },
          "name": "温度"
        }
      ],
      "identifier": "hotAlarm",
      "method": "thing.event.hotAlarm.post",
      "name": "温度过高报警",
      "type": "alert",
      "required": false,
      "desc": "温度过高报警"
    }
  ]
}
相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
6天前
|
小程序 前端开发 API
小程序全栈开发中的多端适配与响应式布局
【4月更文挑战第12天】本文探讨了小程序全栈开发中的多端适配与响应式布局。多端适配涉及平台和设备适应,确保统一用户体验;响应式布局利用媒体查询和弹性布局维持不同设备的布局一致性。实践中,开发者可借助跨平台框架实现多平台开发,运用响应式布局技术适应不同设备。同时,注意兼容性、性能优化和用户体验,以提升小程序质量和用户体验。通过这些方法,开发者能更好地掌握小程序全栈开发。
|
6天前
|
小程序 前端开发 API
微信小程序全栈开发中的异常处理与日志记录
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的异常处理和日志记录,强调其对确保应用稳定性和用户体验的重要性。异常处理涵盖前端(网络、页面跳转、用户输入、逻辑异常)和后端(数据库、API、业务逻辑)方面;日志记录则关注关键操作和异常情况的追踪。实践中,前端可利用try-catch处理异常,后端借助日志框架记录异常,同时采用集中式日志管理工具提升分析效率。开发者应注意安全性、性能和团队协作,以优化异常处理与日志记录流程。
|
6天前
|
小程序 安全 数据安全/隐私保护
微信小程序全栈开发中的身份认证与授权机制
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的身份认证与授权机制。身份认证包括手机号验证、微信登录和第三方登录,而授权机制涉及角色权限控制、ACL和OAuth 2.0。实践中,开发者可利用微信登录获取用户信息,集成第三方登录,以及实施角色和ACL进行权限控制。注意点包括安全性、用户体验和合规性,以保障小程序的安全运行和良好体验。通过这些方法,开发者能有效掌握小程序全栈开发技术。
|
6天前
|
小程序 前端开发 安全
小程序全栈开发中的跨域问题及其解决方案
【4月更文挑战第12天】本文探讨了小程序全栈开发中的跨域问题及其解决方案。跨域问题源于浏览器安全策略,主要体现在前后端分离、第三方服务集成和数据共享上。为解决此问题,开发者可采用CORS、JSONP、代理服务器、数据交换格式和域名策略等方法。实践中需注意安全性、兼容性和性能。通过掌握这些解决方案,开发者能更好地处理小程序的跨域问题,提升用户体验。
|
6天前
|
JavaScript 前端开发 小程序
微信小程序全栈开发之性能优化策略
【4月更文挑战第12天】本文探讨了微信小程序全栈开发的性能优化策略,包括前端的资源和渲染优化,如图片压缩、虚拟DOM、代码分割;后端的数据库和API优化,如索引创建、缓存使用、RESTful API设计;以及服务器的负载均衡和CDN加速。通过这些方法,开发者可提升小程序性能,优化用户体验,增强商业价值。
|
1月前
|
小程序 API
点餐小程序实战教程09-订单功能开发
点餐小程序实战教程09-订单功能开发
|
1月前
|
小程序
【微信小程序】-- 页面导航 -- 编程式导航(二十三)
【微信小程序】-- 页面导航 -- 编程式导航(二十三)
|
6天前
|
小程序 前端开发 JavaScript
微信小程序全栈开发中的PWA技术应用
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中PWA技术的应用,PWA结合Web的开放性和原生应用的性能,提供离线访问、后台运行、桌面图标和原生体验。开发者可利用Service Worker实现离线访问,Worker处理后台运行,Web App Manifest添加桌面图标,CSS和JavaScript提升原生体验。实践中需注意兼容性、性能优化和用户体验。PWA技术能提升小程序的性能和用户体验,助力开发者打造优质小程序。
|
1月前
|
小程序 UED
人力资源小程序的设计与开发步骤
人力资源小程序的设计与开发步骤
19 1
|
6天前
|
SQL 安全 小程序
探索微信小程序全栈开发的安全性问题
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的安全性问题,包括数据安全、接口安全、隐私保护和代码安全。为解决这些问题,建议采取数据加密、使用HTTPS协议、身份认证与授权、输入验证、安全审计及漏洞扫描以及安全培训等措施。通过这些方法,开发者可提升小程序安全性,保护用户隐私和数据。

相关产品

  • 物联网平台