[ Linkit Smart 7688 ] 設定 AWS API Gateway 中 Lambda 服務

與 IoT 相關的雲端服務為數眾多,例如:ThingSpeakWoT.CityAWSIBM BluemixMediaTek MCS 等,並在透過這些雲端服務可在對資料進行資料視覺化、資料分析與其它的應用,而本文透過 Linkit Smart 7688 Duo 將 Sensor 資料傳送到 AWS DynamoDB 並透過 AWS API Gateway 來取得。


情境


執行步驟

前置準備作業

  1. 準備 Linkit Smart 7688 Duo 開發板

  2. 準備 Arduino Breakout for LinkIt Smart 7688 Duo

  3. 準備 Grove - Temperature & Humidity Sensor

  4. 將 Linkit Smart 7688 Duo 與 Arduino Breakout for LinkIt Smart 7688 Duo 組裝、Grove - Temperature & Humidity Sensor 裝到 A0 的位置並將 Linkit Smart 7688 Duo 連接至電腦

  5. 安裝 Arduino IDE (version: 1.6.4)
    https://www.arduino.cc/en/Main/OldSoftwareReleases

  6. 安裝 IDE ( Sublime Text or Visual Studio Code )

  7. Windows 平台,請安裝 Putty 與 FileZilla
    http://oranwind.org/-linkit/

  8. AWS 帳號 - 註冊 AWS 帳號


Linkit Smart 7688 Duo 與 Grove - Temperature & Humidity Sensor 連接圖


設定 AWS IoT 服務

請參考 [ Linkit Smart 7688 ] 傳送 Sensing Data 到 AWS IoT (NEW Version)


設定 AWS DynamoDB 服務

請參考 [ Linkit Smart 7688 ] 設定 AWS DynamoDB 服務 (NEW Version)


設定 AWS Lambda 服務

請參考 [ Linkit Smart 7688 ] 設定 AWS Lambda 服務


設定 AWS IoT 與 AWS Lambda 的 Rule 端

請參考 [ Linkit Smart 7688 ] 設定 AWS IoT 與 AWS Lambda 的 Rule


目前 AWS DynamoDB 中的資料


AWS Lambda 端

Step 1. 點擊 Services ➙ AWS Lambda


Step 2. 點擊 Get Started Now


Step 3. 在 Filter 處輸入 hello ➙ hello-world-python


Step 4. 選擇 AWS API Gateway 並輸入相關資訊 ➙ Next


Step 5. 輸入 Name 與 Python Code

5.1 輸入 Name  

5.2 輸入 Python Code  
from __future__ import print_function

import json  
import boto3  
from boto3.dynamodb.conditions import Key, Attr

print('Loading function')


def lambda_handler(event, context):  
    dynamodb = boto3.resource('dynamodb').Table('sensingData')

    response = dynamodb.scan(  
        FilterExpression=Attr('temperature').gt(int(event['params']['querystring']['temperature']))
    )

    items = response['Items'] 

    return {"temperature":event['params']['querystring']['temperature'], "items": items}  # Echo back the first key value

5.3  選擇存在的 Role ➙ Next  


Step 6. 點擊 Create function


GitHub
List of blogs
ALL RIGHTS RESERVED. COPYRIGHT © 2016. Designed and Coded by Makee.io