完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 北方· 于 2016-11-11 13:34 编辑 1. AWS服务介绍 AWS服务是亚马逊公司在线购物平台后面的巨大的现金奶牛,提供了巨大的想象空间和实际的服务,目前在中国的业务还没有全面推广,中国区的服务器也刚在10月上线,仅面对企业用户开放账号注册,所以,目前的测试均需要使用海外账号服务,速度不是很稳定。 因为AWS开发不是本评测的内容,因此不过多展开,具体想成为成熟的开发者,需要的培训还是很多的,而且亚马逊也提供了收费不低的分级认证,可见这个还是有一定的含金量,也是具有相当的难度的。 2. 为了简化AWS的设置过程,本评测采用了一个现成的测试模板[ amzn.to/1cVzMZN ],直接简化了设置内容。 登录后如下, 选择IOT2015,作为模板 模板创建完后如下, 其中的AWS服务的逻辑关系如下图, 3、整个设置居于核心的是AWS lambda服务,提供了一个在云端运行的函数,对智能硬件终端传输的数据进行分析,并连接AWS的其他服务,如数据库服务,存储服务,短消息发送等。下面列出,事件处理的核心Node.js程序iotapi.handler,供参照和理解。 // Lambda function acting as API endpoint for Evothings IoT Example console.log('Loading function'); var AWS = require('aws-sdk'); var DOC = require('dynamodb-doc'); var cw = new AWS.CloudWatch(); var doc = new DOC.DynamoDB(); exports.handler = function(event, context) { console.log('Received event:', JSON.stringify(event, null, 2)); switch(event.operation) { case 'update': update(event.sensorid, event.value, context); break; case 'query': query(event.sensorid, context); break; } }; var update = function(sensorid, value, context) { var itemParams = { TableName: 'SensorData', Item: { SensorId: sensorid, Timestamp: new Date().toISOString(), Value: value }}; doc.putItem(itemParams, function(err, data) { if (err) { console.log('DDB call failed: ' + err, err.stack); context.error(err); } else { //if all is well - also log the metric to CloudWatch logMetric(sensorid, value, function(err, data) { if (err) { console.log('CW call failed: ' + err, err.stack); context.error(err); } else { context.succeed(); } }); } }); } var logMetric = function(sensorid, value, callback) { var params = { MetricData: [{ MetricName: 'SensorData', Dimensions: [{ Name: 'SensorId', Value: sensorid }], Timestamp: new Date(), Value: value }], Namespace: 'Sensors' }; cw.putMetricData(params, callback); } var query = function(sensorid, context) { var params = { TableName: 'SensorData', Limit: 20, //return the 20... ScanIndexForward: false, //... most recent items KeyConditions: [doc.Condition('SensorId', 'EQ', sensorid)] }; doc.query(params, function(err, data) { if (err) { console.log(err, err.stack); // an error occurred context.fail(err); } else { console.log(data); // successful response context.succeed(data); } }); } |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
【米尔-国产瑞芯微RK3568开发板试用体验】烧写Debian镜像以及显示设置
541 浏览 0 评论
【米尔NXP i.MX 93开发板试用评测】02.使用QT开发推流器
464 浏览 0 评论
国产芯上运行TinyMaxi轻量级的神经网络推理库-米尔基于芯驰D9国产商显板
213 浏览 0 评论
【米尔-全志T527开发板评测试用】开发板上电与连接WIFI
905 浏览 0 评论
931 浏览 0 评论
【米尔-瑞米派兼容树莓派扩展模块-试用体验】基于ROS系统的三麦轮小车自主导航
3109浏览 2评论
【米尔-瑞米派兼容树莓派扩展模块-试用体验】Free RTOS应用开发环境部署
889浏览 1评论
【米尔-芯驰D9开发板- 国产平台试用】- 03- 外设接口测试-U盘、485总线
6693浏览 1评论
【米尔MYD-JX8MMA7开发板-ARM+FPGA架构试用体验】快速入门
2147浏览 1评论
【米尔王牌产品MYD-Y6ULX-V2开发板试用体验】socket通信和epoll
4477浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-26 09:12 , Processed in 0.517049 second(s), Total 39, Slave 29 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号