简易啤酒服务(Simple Beer Service) 开源项目安装与使用指南
本指南将引导您如何设置并使用由 AWS Labs 提供的 简易啤酒服务(Simple Beer Service, SBS)。此项目展示了一个云连接的啤酒分配器,它能够实时将传感器数据(如啤酒流量、温度、湿度、声音水平和接近度)发送至 AWS。
1. 项目目录结构及介绍
simplebeerservice/
├── awslabs / simplebeerservice - 根目录
│ ├── client - 客户端应用代码,用于构建前端界面
│ ├── device - 设备端代码,包含与物联网设备交互的逻辑
│ │ ├── device.json - 设备配置文件,需按实际环境调整
│ ├── license - 许可证文件
│ ├── NOTICE - 注意事项文件
│ ├── README.md - 项目说明文档
│ ├── package.json - Node.js 项目依赖描述文件
│ ├── s-project.json - Serverless框架项目配置
│ ├── s-resources-cf.json - AWS CloudFormation 资源定义
│ ├── stl - 包含3D打印头单位的.STL文件夹
│ └── ...
├── .gitignore - Git忽略文件配置
└── 更多支持文件和说明文档
项目根目录包含了客户端和设备端的主要组件,以及必要的配置和部署文件。client
目录负责前端网页的构建,而device
则涉及硬件设备的软件部分,确保设备能正确与AWS物联网平台通信。
2. 项目的启动文件介绍
设备端启动
在设备端(例如Intel Edison),主要的启动脚本是通过 device
目录下的操作完成的。核心在于 sbs.js
文件,这是设备上的主应用程序,通过 npm
和 forever
进程管理工具确保持续运行。自动启动的设置通常位于 /etc/init.d/startsbs.sh
,它利用 forever
启动 sbs.js
。
服务器端与Web应用启动
对于云端部分和Web应用,启动流程基于Serverless框架。首先需要执行 serverless deploy
来部署CloudFormation模板和服务到AWS上。之后,前端资源可能会通过AWS S3和CloudFront自动化部署,并通过访问特定的域名来启动Web应用。
3. 项目的配置文件介绍
device/device.json
该文件是设备配置的核心,您需要根据实际情况调整如传感器连接位置等信息。确保设备可以正确地指向各个传感器的插槽和接口。
s-project.json
这个文件是Serverless框架的项目配置文件,定义了要部署的服务、函数和资源。包括环境变量、触发器和其他AWS服务相关的配置。
package.json
记录了Node.js项目所需的依赖包,也是运行时执行脚本的基础配置文件,如启动命令(scripts
)。
其他重要配置
iotpolicy.json
: AWS IoT策略文件,用于定义设备与AWS IoT的权限。- 证书相关文件(
device/cert/*
): 包括私钥、公钥和证书,用于设备安全连接到AWS IoT。
注意: 实际部署前,请仔细阅读项目README.md中的详细步骤,以确保所有环境准备就绪,并适当修改上述配置文件以适应您的具体需求。此外,项目依赖于多个AWS服务的配置和设置,包括但不限于IoT Thing、Cognito Identity Pools、AWS IoT Policy等,这些都需要通过AWS Management Console或AWS CLI预先创建和配置。