2019独角兽企业重金招聘Python工程师标准>>>

本文首发于『阿里云 IoT 开发者社区』,更多精彩物联网内容欢迎前往浏览。

智能家居可谓是今年物联网的热门领域,通过智能单品和智能音箱,人们已然把『智能』两个字变成了生活的理所应当。搭建云上之家除了买买买,还能 DIY。依托阿里云物联网平台,我们用 30 行代码来搞定一套智能家居解决方案。

常见的智能家居解决方案包括了设备端、上云、应用端三大部分,更广的还涉及大数据及人工智能。传统的物联网开发非常强调流程性,即设备端、云、应用端三个步骤需要依次进行。而今天,依托于阿里云物联网平台的『物模型』基础,物联网开发的两端可以齐头并进,节省大量的人力物力成本。

齐头并进显然很诱人,但是能否再更进一步,一人 Handle 全部开发呢?答案是 YES!

目前,有大量互联网开发者由于缺乏嵌入式开发能力,如C/C++语言基础,止步于物联网蓝海的大门。通过阿里云 IoT 提供的 TinyEngine 引擎,可以快速使用 Javascript 进行设备端开发,完美解决这部分开发者的心头大患。而针对不熟悉前后端开发的嵌入式开发者,阿里云物联网平台一样提供了『可视化搭建应用』等快速上手的功能,零代码实现应用开发,大大减轻学习负担。

下面我们就使用阿里云物联网开发平台的 TinyEngine 引擎和可视化搭建功能,30 行代码快速开发一个由灯和温湿度计组成的智能家居系统。

一、开通服务

首先,申请阿里云账号,并开通登陆 Link Develop 一站式开发平台:https://linkdevelop.aliyun.com。

之后,新建项目(项目名任意)—— 设备开发 —— 新增产品 —— 所属分类按需选择『灯』或『温湿度计』,通讯方式选择 WiFi ,数据格式选择Alink —— 完成。

完成后选择『设备开发』标签页 —— 新增调试设备,记录下设备三元组。

二、设备开发

打开嵌入式 Javascript 在线工作台(没错,开发环境都不用搭建),创建新项目。替换 index.js代码:

1. 灯

var deviceShadow = require('deviceShadow');
var ledHandle = GPIO.open("led1");deviceShadow.bindDevID({productKey: "",deviceName: "",deviceSecret: ""
});function main(err){if(err){console.log("连接平台失败");}else{console.log("主程序开始");deviceShadow.addDevSetPropertyNotify("LightSwitch", function (lightStatus) {GPIO.write(ledHandle, 1-lightStatus);});var mainLoop = setInterval(function () {var ledStatus = GPIO.read(ledHandle);deviceShadow.postProperty("LightSwitch", 1-ledStatus);}, 2000);}
}deviceShadow.start(main);

2. 温湿度计

var deviceShadow = require('deviceShadow');
var shtc1 = require('shtc1');
var handle = new shtc1('shtc1');
var ledHandle = GPIO.open("led");deviceShadow.bindDevID({productKey: "a17vi82MmxP",deviceName: "0001",deviceSecret: "tYUngSMqYeDxODgtX3DNKkQ7920I3t4T"
});function main(err) {if (err) {console.log("连接平台失败");} else {console.log("主程序开始");var mainLoop = setInterval(function () {var val = handle.getTempHumi();console.log('shtc1:temp=' + val[0] + ' humi:' + val[1]);deviceShadow.postProperty("CurrentTemperature", val[0]);deviceShadow.postProperty("RelativeHumidity", val[1]);}, 2000);}
}deviceShadow.start(main);

将设备连接至电脑,点击『连接』并『运行』,设备启动后会自动加载并运行index.js这个文件,同时上报数据至阿里云物联网平台。

三、应用开发

既然是系统,没有应用可不行,我们利用可视化搭建功能 0 代码快速完成一个应用,只需依次拖入仪表盘和开关组件,替换图片,绑定设备即可完成全部操作。

齐活,短短 30 行代码搭建出的端到端智能家居系统就完成了,保存发布后就可以分享给他人访问了。


配合的 TinyEngine 引擎和可视化搭建,开发者无需学习新的编程语言,即可无缝快速切入物联网开发,也彰显了阿里云物联网平台的包容性和独创性。各位开发者,赶紧丢掉犹豫,上手试试吧!https://linkdevelop.aliyun.com

原文链接

转载于:https://my.oschina.net/u/1464083/blog/2986730

30 行 Javascript 代码搞定智能家居系统 1相关推荐

  1. 30 行 Javascript 代码搞定智能家居系统

    本文首发于『阿里云 IoT 开发者社区』,更多精彩物联网内容欢迎前往浏览. 智能家居可谓是今年物联网的热门领域,通过智能单品和智能音箱,人们已然把『智能』两个字变成了生活的理所应当.搭建云上之家除了买 ...

  2. 30行jsoup代码搞定新浪微博登录抓取爬虫

    主要是设置cookies 想知道方法的朋友可以留言哦 爬虫问题都可以探讨哦 import java.io.IOException; import java.util.HashMap; import j ...

  3. 100行JavaScript代码实现JavaScript

    先看效果: 100行JavaScript代码实现经典游戏俄罗斯方块 新建一个html文件,复制如下代码,用浏览器打开即可: <!doctype html> <html> < ...

  4. [原创]22行JavaScript代码实现QQ群成员提取器,绿色、环保、无病毒!

    原来想给QQ群内的成员发邮件,找了一个现成的软件,没想到居然有QQ盗号病毒,很不爽.就决定自己动手,丰衣足食. 首先,我想到如果能够直接从QQ群成员列表中把所有成员拷贝出来,岂不是很方便.不过QQ明显 ...

  5. 只要200行JavaScript代码,就能把特斯拉汽车带到您身边

    Jerry的前一篇文章 如何使用JavaScript开发AR(增强现实)移动应用 (一) 介绍了用React-Native + ViroReact开发增强现实应用的一些预备知识. 本文咱们开始进入增强 ...

  6. 30行python代码设计_30行Python代码实现3D数据可视化

    原标题:30行Python代码实现3D数据可视化 作者:潮汐 来源:Python技术 欢迎来到 编程教室~ 我们之前的文章中有讲解过不少 Matplotlib 的用法,比如: 之前我们基本都是用它来绘 ...

  7. 王者荣耀——bat批处理文件,自动刷金币版(脱胎于30行Python代码刷金币版),Windows双击即可运行!

    参考<30行Python代码刷王者荣耀金币>:https://segmentfault.com/a/1190000012520431 1.源代码 以下是源代码部分,全部复制到文本文档, 用 ...

  8. 60行JavaScript代码写俄罗斯方块

    教你看懂网上流传的60行JavaScript代码俄罗斯方块游戏 早就听说网上有人仅仅用60行JavaScript代码写出了一个俄罗斯方块游戏,最近看了看,今天在这篇文章里面我把我做的分析整理一下(主要 ...

  9. 如何用python破解热点_用30行Python代码制作wifi万能钥匙,邻居家wifi网速好快

    原标题:用30行Python代码制作wifi万能钥匙,邻居家wifi网速好快 当我们拖着疲惫的身体下班回到家,想开开心心的吹着空调风扇吃着西瓜,然后手机连上wifi打一把游戏好好舒服下,然而家里wif ...

最新文章

  1. python字符编码讲解_python 字符编码讲解
  2. linux查看lvm命令,linux lvm常用命令总结
  3. Java中使用MATLAB作图
  4. 春节红包大战7年,BAT的变与不变
  5. 关于modelsim 6.4a遇到的问题
  6. stm32中spi可以随便接吗_stm32之SPI通信协议实例详解
  7. 浅析正则表达式——柳暗花明又一村篇
  8. R语言观察日志(part6)--初识rMarkdown
  9. 云端资源,“掌”握手中 ——关于 阿里云 App你不知道的五件事
  10. 阿里云盘内测_阿里云盘内测邀请码发放
  11. oracle9i 全库备份,Windows下Oracle9i数据库文件如何自动备份?
  12. 服务器上使用mysql_在服务器上安装、使用MySQL的注意事项
  13. group by和order by在springboot中连用03
  14. 2019-4-25 数组操作方法和练习
  15. python对文件操作采用的统一步骤是_python之文件操作总结
  16. C++实现计算器功能(包括计算含未知量的式子),输出后缀表达式
  17. Python strip lstrip rstrip使用方法(字符串处理空格)
  18. 批处理访问服务器共享文件夹,批处理设置文件访问权限的方法分享
  19. springboot实现微信退款
  20. idea 去掉author波浪线

热门文章

  1. Golang调度器GPM原理与调度全分析
  2. 云计算的概念及介绍(通俗解释)
  3. find_packakge
  4. 解决:Cause: java.sql.SQLException: Field ‘id‘ doesn‘t have a default value
  5. python中步长什么意思_python步长什么意思【Python教程】,Python,step,步长
  6. 信息安全之汇编语言学习(2)。。。。
  7. bios读不到usb启动盘
  8. BIOS知识枝桠——FV
  9. STM32+雷龙SD NAND(贴片SD卡)完成FATFS文件系统移植与测试
  10. Android Clock控件