本文首發於『阿里雲 IoT 開發者社區』,更多精彩物聯網內容歡迎前往瀏覽。編程
智能家居可謂是今年物聯網的熱門領域,經過智能單品和智能音箱,人們已然把『智能』兩個字變成了生活的理所應當。搭建雲上之家除了買買買,還能 DIY。依託阿里雲物聯網平臺,咱們用 30 行代碼來搞定一套智能家居解決方案。後端
常見的智能家居解決方案包括了設備端、上雲、應用端三大部分,更廣的還涉及大數據及人工智能。傳統的物聯網開發很是強調流程性,即設備端、雲、應用端三個步驟須要依次進行。而今天,依託於阿里雲物聯網平臺的『物模型』基礎,物聯網開發的兩端能夠齊頭並進,節省大量的人力物力成本。編程語言
齊頭並進顯然很誘人,可是可否再更進一步,一人 Handle 所有開發呢?答案是 YES!oop
目前,有大量互聯網開發者因爲缺少嵌入式開發能力,如C/C++語言基礎,止步於物聯網藍海的大門。經過阿里雲 IoT 提供的 TinyEngine 引擎,能夠快速使用 Javascript 進行設備端開發,完美解決這部分開發者的心頭大患。而針對不熟悉先後端開發的嵌入式開發者,阿里雲物聯網平臺同樣提供了『可視化搭建應用』等快速上手的功能,零代碼實現應用開發,大大減輕學習負擔。post
下面咱們就使用阿里雲物聯網開發平臺的 TinyEngine
引擎和可視化搭建功能,30 行代碼快速開發一個由燈和溫溼度計組成的智能家居系統。學習
首先,申請阿里雲帳號,並開通登錄 Link Develop 一站式開發平臺:https://linkdevelop.aliyun.com。大數據
以後,新建項目(項目名任意)—— 設備開發 —— 新增產品 —— 所屬分類按需選擇『燈』或『溫溼度計』,通信方式選擇 WiFi ,數據格式選擇Alink —— 完成。ui
完成後選擇『設備開發』標籤頁 —— 新增調試設備,記錄下設備三元組。阿里雲
打開嵌入式 Javascript 在線工做臺(沒錯,開發環境都不用搭建),建立新項目。替換 index.js
代碼:人工智能
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);
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