[ Linkit Smart 7688 ] 設定 AWS Lambda 服務

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


情境


執行步驟

前置準備作業

  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 連接圖

Imgur


設定 AWS IoT 服務

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


設定 AWS DynamoDB 服務

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


AWS IAM 端

Step 1. 點擊 Services ➙ AWS DynamoDB


Step 2. 點擊 Roles


Step 3. 點擊 Create New Role


Step 4. 輸入 Role Name ➙ Next Step


Step 6. 選擇 AmazonDynamoDBFullAccess ➙ Next Step


Step 7. 點擊 Create Role


AWS Lambda 端

Step 1. 點擊 Services ➙ AWS Lambda


Step 2. 點擊 Get Started Now


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


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


Step 5. 輸入 Name 與 Python Code

5.1 輸入 Name

5.2 輸入 Python Code

from __future__ import print_function

import json  
import boto3

print('Loading function')

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

    print("temperature value = " + str(event['temperature']))
    print("humidity value = " + str(event['humidity']))

    item = {
        'location': 'room1',
        'timeStamp': event['time'],
        'temperature': event['temperature'],
        'humidity': event['humidity']
    }

    # write the todo to the database
    response = dynamodb.put_item(Item=item)

    return event['humidity']  # Echo back the first key value

5.3 選擇存在的 Role ➙ Next


Step 6. 點擊 Create function


Step 7. 點擊 ActionConfigure test event


Step 8. 輸入 test event ➙ Save and test

{
  "time": "20170320114937", 
  "temperature": 26, 
  "humidity": 36
}


Step 9. Lambda 測試完成畫面


Step 10. 測試完成後在 DynamoDB 中會看到一筆紀錄


GitHub
List of blogs

Archer

Having being a full stack engineer. Experience with C, Python, Objective-C, Swift, Node.js, Lua, Linkit Smart 7688, Raspberry Pi, ARM mbed, Arduino, IoT solutions. Contact us : [email protected]

ALL RIGHTS RESERVED. COPYRIGHT © 2016. Designed and Coded by Makee.io