Particle for alexa smart home skill (4)
来源:互联网 发布:阿里通信卡的网络2g 编辑:程序博客网 时间:2024/05/01 11:25
上一章介紹了 particle photon 初始化與手機 app 調試的方法,要實現 alexa 控制 particle photon 上的 led 燈,
需要在 particle 云上添加設備,并做相應設置,以提供對應的 api 給 alexa skill 調用。
第4章、在 particle 云上配置 Photon
particle 提供了很強大的文檔功能 docs.particle.io
1) 打開 particle.io 網站并登入 CONSOLE
2) 進入 Products 菜單項,點擊右側的 +NEW PRODUCT 按鈕
3) 輸入 Product Name 為 photon0815, 選擇設備類別為 Photon(PO), 點擊 CREATE 按鈕
建立成功
4) 進入左下方的配置菜單界面
5) 配置產品詳細信息,以下是配置后的截圖. (配置前有詳細的幫助信息,內容太多,所以省略)
Product ID 為 1029, 這個值在 particle 云代碼中會用到
Working with Particle 配置項
Customers 配置項
Firmware 配置項
6) 配置完成后, 點擊 IMPORT DEVICE 按鈕 (也可以在 Product 頁面中點擊 +Add Devices 按鈕來添加)
在添加前, 要觸除手機與 photon 的綁定 (在手機 app 中操作), 否則會添加失敗
7) 點擊 +Add One Device 按鈕
8) 輸入 Device ID,這個ID在手機 app 中查看,要把大字 (在上一章中有提到), 由24個16進制字符組成, 輸入時要把大寫改為小寫
添加成功的畫面
9) 點擊"指紋"圖標, 進入到認證頁面 (如果沒有找到這個圖標, 需要先在產品清單中點擊產品才會顯示)
10) 點擊右側的 + NEW CLIENT 按鈕
11) 選擇 Client Type, 輸入名稱 webapp (這個名稱在建立 alexa skill 時會用到)
Redirect URI 輸入https://pitangui.amazon.com/api/skill/link/M1DXJTXVOEUAS0
(這個網址在建立 alexa skill 的頁面中可以得到, 所以理論上要先建立 alexa skill, 再來設置 particle 云, 但先設置 particle 云再建 alexa skill 更容易理解)
12)將以下畫面中的 Client ID 和 Client Secret 記錄下來, 在建立 alexa skill 時要用到.
增加 Client 后的畫面
13) 點擊左下方的 Build 菜單項
14) 在 Build 頁面中點擊 CREATE NEW APP 按鈕, 在 Current APP 下方輸入 app 的名稱 photontest
15) 編寫代碼, 第一行的 PRODUCT_ID(1029) 是我們在前面建立 PRODUCT 時看到的 ID, 如果這個ID不匹配, 就不能更新程序到 photon 芯片.
代碼提供 photon A4 和 A5 兩個LED燈的開關和亮度調節。
PRODUCT_ID(1029);PRODUCT_VERSION(1);#define MAX_ARGS 64int lightPins[] = { A5,A4};int lightValues[] = { 255,255};int onoffLight(String args){ int index = args.toInt(); int value; char szArgs[MAX_ARGS]; int count = sizeof(lightPins) / sizeof(int); args.toCharArray(szArgs, MAX_ARGS); sscanf(szArgs, "%d=%d", &index, &value); Serial.println(); Serial.print("On/Off"); Serial.println(); Serial.print("Arguments: "); Serial.print(args); Serial.println(); Serial.print("Index: "); Serial.print(index); Serial.println(); Serial.print("Value: "); Serial.print(value); Serial.println(); if(index >= 0 && index<count){ analogWrite(lightPins[index], value == 1 ? lightValues[index] : 0); } return lightValues[index]; }int setPercentage(String args){ int index; int value; char szArgs[MAX_ARGS]; int count = sizeof(lightPins) / sizeof(int); args.toCharArray(szArgs, MAX_ARGS); sscanf(szArgs, "%d=%d", &index, &value); float brightness = ((float)value * 255.0) / 100.0; if(index >= 0 && index<count){ lightValues[index] = (int)brightness; analogWrite(lightPins[index], lightValues[index]); } Serial.println(); Serial.print("Percentage"); Serial.println(); Serial.print("Arguments: "); Serial.print(args); Serial.println(); Serial.print("Index: "); Serial.print(index); Serial.println(); Serial.print("Value: "); Serial.print(value); Serial.println(); Serial.print("Brightness: "); Serial.print(brightness); Serial.println(); return (int)brightness;}void setup() { Serial.begin(115200); int count = sizeof(lightPins) / sizeof(int); for(int index=0; index<count; ++index){ pinMode(lightPins[index], OUTPUT); } Particle.function("setvalue", setPercentage); Particle.function("onoff", onoffLight);}void loop() { }
16) 依次點擊左側的 Save、Verify、Flash按鈕 (Flash的作用是將代碼編譯并寫入到 Photon 芯片)
第一次點擊 Flash 按鈕會要求增加新的設備, (即代碼至少要綁定到一個設備才能進行Flash)
在 DEVICE ID框中輸入 photon 的 ID (前提提到的24位16進制字符),點擊 CLAIM A DEVICE
輸入 Device 名稱 (photon0815)后點擊 SAVE 按鈕
到此,particle 云的設置已經完成。
除了可以在 Partcle 云上面將代碼 Flash 到芯片外,也可以下載 Particle for Windows 程序在本地進行 Flash,
Particle 云提供了一些 Sample Code 供入門學習,更多的功能可以參考官方文檔 docs.particle.io
- Particle for alexa smart home skill (4)
- Particle for alexa smart home skill (1)
- Particle for alexa smart home skill (2)
- Particle for alexa smart home skill (5)
- Particle for alexa smart home skill (3)
- Particle for alexa smart home skill (6)
- 亚马逊Alexa Skill介绍
- 【Skill培训】SMART原则
- OSGi-Based Smart Home Architecture for Heterogeneous Network-20090924
- DepSys:Dependency Aware Integration of CPSs for Smart Home
- Smart Home DIY 计划
- Google Smart Home
- Particle Editor for Cocos2dx
- iGia:smart home security kit
- skill program for exporting GDS
- Essential Job Skill for Life
- skill
- skill
- SSM框架
- Android源码下载
- elasticsearch -2.3.x head插件安装(windows系统)
- c语言-指针统计字符串长度,字符串连接
- 在Spydroid-ipcamera基础上做推流的实现之二
- Particle for alexa smart home skill (4)
- OpenCV图像处理和图像识别常用函数
- 关于ctrl组合键,你知道多少?
- 高斯消元
- Android 屏幕适配方案
- iOS9新特性需要注意的问题
- 虚拟机lnmp一键安装后忘记mysql的root密码的解决方法
- “Xavier”初始化方法
- oracle-简单的存储过程demo