步骤1:创建FACEBOOK帐户
这将是Facebook应用程序Webhook。我们将在下一步中实现的应用程序。如果您想使用自己的帐户或已经拥有一个单独的帐户,则可以跳过此步骤。
要注册,只需在注册页面中填写您的详细信息即可。
第2步:创建FACEBOOK页面
Facebook“页面”与您的个人Facebook不同时间轴-通常是创建的一个页面,用来表示团体,公司或其他在Facebook上更有组织的存在。这将是我们应用程序的前端。
要创建页面,请单击左侧菜单中页面部分中的“创建页面”
。在下一个窗口中,系统将询问您要创建哪种类型的页面。选择品牌或产品。
当您点击入门时,系统会要求您填写有关该页面的一些信息。您可以填写它,也可以跳过大部分内容。
步骤3:创建FACEBOOK应用并设置网络浏览器
转到https://developers.facebook.com/并使用您在本文第一步中创建的管理员帐户登录。
单击我的应用程序字段位于右上角缩略图旁边。这会将您定向到包含您的应用程序的页面。点击绿色按钮创建新应用。之后,将弹出一个窗口,要求您填写一些详细信息。填写所有详细信息,然后单击创建应用程序ID 。
在下一页上,单击左侧菜单中的 +添加产品。用 Webhooks 单击入门,然后返回上一页并对 Messanger 执行相同操作。使用 Webhooks ,您将被要求在下一页添加新的订阅。
步骤4:下载代码
Raspberry Pi代码可在github上找到。
要将其下载到您的Pi上,请使用以下命令:
wget https://github.com/wildfoundry/specialprojects-public/archive/fbpi.zip
,后跟:
unzip fbpi.zip
从zip存档中解压缩代码。
在本文的此步骤中下载代码很重要,因为下一步需要对该代码的某些部分进行一些小的修改。
步骤5:SET启动服务器
解压缩代码文件后,请在同一文件夹中打开终端仿真器。使用以下命令运行服务器。
sudo python server.py TermPassword
TermPassword -这是我们用来防止Facebook上其他人控制您的Pi的密码。在Facebook聊天窗口中启动终端模式时,将需要它。我们建议您选择您自己的密码,而不是本示例中使用的密码。
这时,很重要的一点是,您已经在设备上安装了数据一致性并启用了Wormhole。请参阅《 Dataplicity入门》以获取帮助。
运行服务器时,应该收到一条消息,指示服务器正在启动,然后服务器正在运行。要检查它是否正常工作,请转到浏览器内的虫洞地址,您应该会看到“ Hello world”。
这表明服务器正在正常运行。您可以通过按 CTRL + C 暂时停止服务器。
下一步是编辑 facebook.py 文件。用您喜欢的编辑器(例如 nano )打开它。
nano facebook.py
在该文件内,通过将其设置为以下内容,修改顶部的 SUBSCRIPTION_TOKEN 变量。您想要的任何字符串。我们将其设置为:
SUBSCRIPTION_TOKEN = “tok_dp_fb_term”
保存文件并关闭它。
再次运行服务器。
步骤6:将您的Web预订订阅到服务器
返回您的Facebook Developer页面,然后在左侧菜单中转到产品部分,然后单击 Webhooks 。点击右上角显示新订阅的绿色按钮,然后从下拉菜单中选择页面。接下来将弹出一个表单-填写如下:
回调URL:
https://.dataplicity.io
验证令牌:
tok_dp_fb_term
(必须与 facebook.py 文件中的 SUBSCRIPTION_TOKEN 相同)
订阅字段:
messages
单击验证并保存。在终端模拟器上,您应该看到服务器收到GET请求。如果一切都正确完成,您现在应该在开发人员页面上看到以下订阅。
步骤7:FACEBOOK MESSENGER入门
返回左侧菜单中的开发人员页面,转到产品部分,然后单击 Messanger 。单击蓝色的入门按钮。
您现在将在下一页看到几个部分。我们感兴趣的是令牌生成和 Webhooks 。
在令牌生成部分中,点击选择页面按钮,然后从下拉菜单中选择您的页面。您将弹出一个窗口,询问权限以及是否要以当前用户身份继续。单击所有内容的确定。
在网络钩子部分中,点击选择页面按钮,然后从下拉菜单中选择您的页面,然后点击蓝色的订阅按钮。
复制页面访问令牌。
您可以通过按 CTRL + C 暂时停止服务器。 。下一步是编辑 facebook.py 文件。使用您喜欢的编辑器(例如 nano )将其打开。
nano facebook.py
在该文件内,通过将其设置为刚从 Page Access Token 复制的字符串,在顶部修改 ACCESS_TOKEN 变量》字段。
ACCESS_TOKEN = “EAAI3ZCiM 。.. lbNbj4pDrL6XQ1u9 。.. VvQgm0”
保存文件并关闭它。
再次运行服务器,然后继续下一步。
sudo python server.py TermPassword
步骤8:使您的应用程序公开
返回Facebook Developer网站,然后在左侧菜单中转到应用评论部分。
单击滑动按钮以进行应用公开。完成此操作后,您将能够从管理员帐户以外的其他帐户向您的Facebook页面(即Raspberry Pi)发送消息。
步骤9:运行它!
尝试从创建的Facebook页面向您的Pi发送一些消息!让我们发送 help 命令以查看我们可以在消息中使用的其他命令。
除了 help 之外,我们还有3个其他命令:
日期-返回Raspberry Pi上的当前日期。
时间-返回Raspberry Pi上的当前时间Pi。
条款 -进入终端模式。 (上面的 date 和 time 命令在正常模式中使用)
以下是以下示例:对运行 date 和 time 命令的响应。我们还可以看到,在正常模式中,当您发送未被识别的命令时,它将以适当的响应回显。
通过发送以下命令来启动终端:
term TermPassword
(用在Pi上启动服务器时设置的密码替换TermPassword)
然后进入终端模式,启动外壳在Raspberry Pi上运行并运行它,直到收到 exit 命令。退出命令是外壳程序的一部分,而不是我们的程序的一部分,因此它不在上面的命令列表中。
步骤10:安全提示
请注意,此项目中Pi终端的安全性取决于所选择密码的复杂性。这也是我们只是出于娱乐目的而创建的一个项目,并且几乎肯定有错误,因此请谨慎使用。
第11步:扩展项目
我们可以在此添加很多东西点,例如:
创建GPIO模式以打开/关闭GPIO引脚并打开/关闭LED。
使用Facebook Messenger将文件直接发送到Pi。
在正常模式下向聊天添加一些AI。
-
Facebook
+关注
关注
3文章
1429浏览量
54814 -
树莓派
+关注
关注
117文章
1710浏览量
105722
发布评论请先 登录
相关推荐
评论