Google Pubsub是领先的队列引擎之一,用于从发布者或MQTT应用程序收集数据以进行更好的数据分析。 Bevywise MQTT Broker与Google Pubsub的集成可帮助您通过MQTT Broker将数据从IoT和IIoT边缘设备推送到Google pubsub。
为Pubsub设置Google Compute
可从您的Google云服务帐户访问Google Pubsub。 您可以按照Google Pubsub文档来创建带有发布主题的Google Pubsub。
创建Ubuntu实例
我们将在由Google Cloud创建的Ubuntu实例上运行Bevywise MQTT Broker。 请参阅Google帮助文档以创建Ubuntu实例。 在Google云中。
安装Google Pub / Sub依赖项
创建Ubuntu实例后,登录到该实例并安装以下依赖项。
- 打开终端并在gloud cloud软件包下面安装
- sudo pip安装google-cloud-core
- sudo pip安装google-api-core
- sudo pip install –升级google-cloud-pubsub
- 转到“ /usr/local/lib/python2.7/dist-packages/PyInstaller/hooks/”文件夹。
cd /usr/local/lib/python2.7/dist-packages/PyInstaller/hooks
- 在该文件夹中,通过打开“ hook-google.cloud.py”文件
须藤vim hook-google.cloud.py
- 在该文件中,删除所有默认行并添加以下代码
从PyInstaller.utils.hooks导入copy_metadata
数据= copy_metadata(’google-cloud-core’)
数据+ = copy_metadata(’google-api-core’)
数据+ = copy_metadata(’google-cloud-pubsub’)
- 在创建的Ubuntu实例中安装Bevywise MQTTBroker。
- 安装后,转到Bevywise / MQTTRoute / extension文件夹。
- 在该文件夹中,打开“ custom_store.py”并替换以下代码
导入操作系统
导入系统
导入json
从google.cloud导入pubsub_v1
sys.path.append(os.getcwd()+’/ lib’)
sys.path.append(’/ usr / local / lib / python2.7 / dist-packages’)
project_Id =’project_name’
broker_Id =’正在测试’
def handle_Received_Payload(数据):
全局pubsub_v1
全局project_Id
全球broker_Id
发布者= pubsub_v1.PublisherClient()
topic_path = Publisher.topic_path(project_Id,’broker’)
数据= json.dumps(数据)
数据= data.encode(’utf-8’)
Publisher.publish(topic_path,data = data,device = broker_Id)
- 在此代码中, “项目ID”代表您在创建google pubsub时使用的项目ID
- 保存并退出文件
- 转到Bevywise / MQTTRoute / conf文件夹
- 打开“ data_store.conf”并更改以下参数
- 客户存储=已启用
- 保存并退出文件。
- 如果要通过身份验证运行MQTTBroker,请按照以下步骤操作
- 打开Bevywise / MQTTBroker / conf文件夹
- 在打开的“ broker.conf”文件中进行更改
- AUTHENTICATION_ENABLED = YES
- 保存并退出文件。
- Google Pubsub使用grpc身份验证,因此我们必须在“ / etc / environment”中导出grpc ssl证书路径,以设置grpc ssl根证书的默认路径。
- 转到/ etc文件夹并通过打开“ 环境”文件
sudo vim环境
- 在该文件中,粘贴以下命令并保存。
导出GRPC_DEFAULT_SSL_ROOTS_FILE_PATH =” usr / local / lib / python2.7 / dist-packages / grpc / _cython / _credentials / roots.pem
- 接下来,重新启动实例。
- 重新启动实例后,转到“ Bevywise / MQTTRoute / bin”文件夹
- 接下来通过启动Bevywise MQTTBroker
须藤sh runbroker.sh
现在,Bevywise MQTT Broker从您的边缘设备收集数据,并通过自定义存储发送到Google pub / sub。 在Google Pub / Sub中,您可以挂钩数据并将其发送到数据分析工具。 下载我们的MQTT代理,开始数据分析。