我非常兴奋9.5固件的新功能,特别是新的RESTful接口(REST API服务器和HTTP / S)提前PAC控制器。我有几个pac在我家等各种任务照明,A / C、灌溉、能源管理、监视和监测。新的RESTful接口允许我采取我的家庭自动化系统,全新的水平,包括与其他家庭自动化交互/物联网产品,喜欢我的巢恒温器,烟雾报警器,NestCams;德赢下载我的飞利浦照明色调;我的Wemo开关;等等。
然而,这篇文章不是关于家庭自动化。它是关于完成固件升级和配置HTTP / S RESTful服务器。这样做,很重要,我(和我的应用程序),我持续控制系统变量用于保存我的控制策略。所以…以下是我升级固件的步骤,同时保留重要数据,开始休息。
免责声明:这个升级过程是我所做的对于我的应用程序,可能显著不同于您的应用程序。这决不是一个详尽的和充分测试的方法。这只是我的经验与选择为我的应用程序(包括选择使用未加密的HTTP访问防火墙后面pac)。在这里。
你将需要:
- pac升级的IP地址
- 你的PAC类型
- 9.5固件
- PAC经理(v9.5a或更大)
- PAC控制
- PAC终端(可选)
- OptoTagPreserve
- Web浏览器(我使用谷歌浏览器)
- JSON为Chrome浏览器插件(可选,但值得的)
你将采取的措施:
- 归档控制策略(PAC控制)
- 上传持久变量PC (OptoTagPreserve)
- 安装新的固件(PAC经理)
- 下载存档策略(PAC控制)
- 恢复持久变量(OptoTagPreserve)
- 启动策略(PAC控制)
- 使RESTful接口(PAC经理)
- 创建HTTP服务器管理员帐户和关键id和价值观(Web浏览器)
- 测试RESTful连接
现在细节。如果你需要任何的复习这些步骤,下载的文档:
升级到9.5固件
首先,我打开我的策略在PAC控制。然后,我从菜单栏选择File >归档策略。我总是我的策略在进行任何更改之前备份到我的系统。
接下来,我用我们的新OptoTagPreserve命令行实用程序“上传”或保持持久的变量。有许多可供选择的这个工具;我选择只保存我的持久变量。为此,我打开一个命令提示符在我OptoTagPreserve的目录里。exe存在,然后输入以下:
optotagpreserve 192.168.1.200 22001 10000上传洒水装置- b
崩溃:optotagpreserve [ip_address_of_PAC](港口)(超时)[行动][策略名称][选项- b -只持续](看到这里的医生。)
导致这种反应的用途:
成功!结果文件位于相同的目录中启动的效用,(稍后我们会需要这个):洒水装置192.168.1.200 T115043.D08022016.tagarchive
接下来,我用PAC经理新固件下载到控制器。我的PAC SNAP-PAC-R2-W。我确认这个与PAC终端(不是必要的一步)。
固件下载成功后,我重新下载策略PAC与PAC控制:
注意:尽管PAC控制专业如上图所示,它不是必需的。所有这些步骤与PAC控制基础工作,包括9.5版本之前。
当然,我收到一个信息,即控制器的内存已经被清除,然后一个对话框确认策略文件下载。
现在在这一点上,我还没有启动策略。我第一次想恢复我的持久与OptoTagPreserve变量。所以,回到我的命令窗口,我在提示符中输入以下:
optotagpreserve 192.168.1.200 22001 10000恢复“洒水装置192.168.1.200 T163838.D08022016。tagarchive”- b
注意,这个命令是不同于上传的命令。这次,我将使用“恢复”。还要注意,我需要提供标签归档文件的全名,和报价,因为有空格的文件名。
我是提示类型是的(没有引号)确认行动恢复全部大写。
我再次收到成功的响应,我保存持久变量恢复控制策略。接下来,我用控制策略通过点击“运行策略”在PAC控制。
这是它。我的9.5固件下载完成后,我的策略是运转正常。(再一次,我和PAC终端确认。)
启用和配置rest式接口
开始,我开始了PAC经理9.5配置HTTP / S服务器和端口。在PAC Manager中,我第一次连接到我的升级PAC。接下来,我选择“沟通”,然后“网络安全”:
接下来,我配置了WEB服务器。(如果您没有看到这个当你经历这些步骤,确保你使用PAC经理R9.5a)。对于我的应用程序,我选择服务器的80端口,和HTTPS禁用。然后,我点击申请。
注意:正如我之前提到的,我选择不使用安全通信,其他服务器,这并不是建议即使我的pac没有接触到互联网。记住,我们强烈推荐你总是使用HTTPS。的步骤来配置HTTPS是有据可查的http://developer.opto22.com。
最后,我需要保存这个配置从Powerup flash和重启。我做了这两个步骤在PAC经理地位写页面:
一旦服务器启动并监听端口80,我测试连接。为此,我打开浏览器,输入http://后跟我PAC的IP地址:
http://192.168.1.200
正如所料,我收到错误代码:400和消息配置我的凭证。好消息是我的HTTP / S RESTful服务器工作。
所以接下来,我需要配置服务器和我的凭证。即使我不使用HTTPS加密,我仍然不得不进行身份验证用一个用户名和密码,我需要创建(而且必须改变从默认)。为此,我指出web浏览器PAC随后在其IP地址资源改变我的管理凭据,这是:
http://192.168.1.200/admin/creds
注意:记住,我将改变我的用户名和密码在一个没有加密的连接。我确信没有人窥探我的家庭网络,因此不会看到飞的base64编码的证书是在网络上以正文文本。只有如果你进行说服。如果不是这样,回去启用端口443和HTTPS在继续之前。
我是提示输入的默认用户名和密码管理/密码只是和更新我的凭证。一旦进入,我得到的:
接下来,我输入新的凭证:用户名密码和确认密码。(不要忘记你的凭证:没有人在光电元件可以帮助你如果你做。如果你忘记,你必须恢复PAC默认凭据重置为默认值)。
事情一旦我完成的样子:
我完成管理凭证,最后一个配置步骤,我需要创建密钥id和各种应用程序的值将通过REST API访问PAC的数据。
,我导航/ admin /钥匙资源通过输入到我的浏览器地址栏:
http://192.168.1.200/admin/keys
如你所见,我创建了一个读/写键ID和值,和一个只读键ID和价值。我设置适当的权限,确保都启用。最后,我点击提交。
最后一步:测试它!
首先,我确认我的配置通过检索设备细节。再一次,我输入适当的资源端点到浏览器的地址栏。为设备的细节,URL端点是:
http://192.168.1.200/api/v1/device
我提示提供键ID和值作为用户名和密码在浏览器中。对于只读访问,我keyID:值,或者用户名:密码是“只读的”和“罗依”。其结果是:
注意:提前PAC的RESTful服务器返回的JSON多彩的和有组织的出现在我的浏览器,因为我使用谷歌浏览器插件JSONview命名。值得。
瞧!好的,很酷。但是我怎么知道正确的端点URL设备细节?一件容易的事。我咨询了在developer.opto22.com上优秀的API文档:
http://developer.opto22.com/static/generated/pac-rest-api/swagger-ui/index.html
还有这张图片的底部是第一个支持的许多端点。我可以访问I / O、变量、表、系统信息和战略信息。
现在看到REST API调用
想看到更多的REST API调用在行动?这里有一些链接到PAC的演示目的,我们暴露在互联网上。你需要只读凭证”罗依”和“罗依“当你的浏览器提示输入用户名和密码。
RESTful API调用http://restpac.groov.com:
PAC本身信息:
http://restpac.groov.com/api/v1/device
信息策略PAC中运行:
http://restpac.groov.com/api/v1/device/strategy
请求所有模拟输入:
http://restpac.groov.com/api/v1/device/strategy/ios/analogInputs
请求一个名为Fuel_Display的模拟输出:
http://restpac.groov.com/api/v1/device/strategy/ios/analogOutputs/Fuel_Display/eu
请求所有浮表:
http://restpac.groov.com/api/v1/device/strategy/tables/floats
请求所有Int32s:
http://restpac.groov.com/api/v1/device/strategy/vars/int32s
请求从浮表10个元素:
http://restpac.groov.com/api/v1/device/strategy/tables/floats/KPI_float_values?startIndex=15&numElements=10
很神奇的。
关注这个博客。未来的文章将介绍添加安全性和展示Node-RED访问我的PAC数据在这RESTful接口。
groov!本森