飞码网-免费源码博客分享网站

点击这里给我发消息

构建你的第一个物联网应用|-Java教程

飞码网-免费源码博客分享网站 爱上飞码网—https://www.codefrees.com— 飞码网-matlab-python-C++ 爱上飞码网—https://www.codefrees.com— 飞码网-免费源码博客分享网站

物联网(IoT)代表着设备和应用程序的新生态系统,它们以创新的方式集成在一起以提供智能服务。一个简单的示例就是启用Internet的咖啡机,或者是能够对自己的物品进行清点的冰箱。尽管这些示例是受欢迎的消费者示例,但IoT编程适用于广泛的行业领域,包括商业,农业,研究,医疗保健等。

在以下各节中,您将设置IBM Cloud工作区,使用Node-RED开发演示应用程序,并使用Twilio将SMS从应用程序成功发送到您的手机。

如果您准备开始进行IoT编程,则本教程将通过构建IoT应用程序开始您的工作,该应用程序会在远程计算机或IT网络出现故障时自动通知远程用户。我们将使用以下技术:

  • IBM Cloud,基于Cloud Foundry的IBM云产品,Cloud Foundry是一种开源平台即服务
  • Node-RED,一种开源技术,似乎可以量身定制,以了解物联网
  • Twilio,其短信功能

构建pingGo物联网应用将需要什么

我们的示例应用程序pingGo连续ping网络端口和计算机端口,以跟踪计算机的状态。如果计算机出现故障,pingGo将通过SMS通知注册用户。这种类型的IoT应用程序对负责监视远程关键任务服务器或分布式计算机网络的任何技术用户都非常有用,因为该应用程序会警告他们在紧急情况下采取适当的措施。

这是构建示例应用程序所需要的。在开始学习教程步骤之前,请继续并注册这些帐户。

  • IBM Cloud帐户。
  • 一个Twilio帐户。注册时,系统会要求您输入手机号码,以验证您是人类。您将再次使用此号码作为示例应用程序中SMS的接收者。
  • 接收SMS通知的手机号码。
  • 熟悉JavaScript编程。

     

    获取代码

     

如果您不想自己创建应用程序,则可以将简单的预构建应用程序部署到IBM Cloud。从那里,您可以根据需要多次编辑和重新部署代码。

 

部署应用

 

1

在IBM Cloud中创建您的Node-RED应用程序

请按照本教程“创建Node-RED入门应用程序”中的步骤进行操作。

2

创建一个两节点应用程序

要了解如何创建Node-RED流,请查看Node-RED入门文档。

通过开发一个简单的两节点应用程序,您将开始使用Node-RED。

  1. 在Node-RED流编辑器中,您将在屏幕中央看到一个空白表,左侧选板中有许多可用的节点。如果收到Error: Lost connection to server错误消息,请确保您正在使用HTTPS连接。在这种情况下,您的网址可能类似于以下网址:https://pinggo.eu-gb.mybluemix.net/red/
  2. 在“输入”部分下的面板中找到“注入”节点。将其拖到空白表中。该节点具有一个按钮,该按钮会将当前时间的时间戳发送到连接的节点。
  3. 在“输出”部分下的面板中找到“调试”节点。将其拖到“注入”节点旁边。该节点使您可以在应用程序的“调试”选项卡中查看传入的消息。
  4. 将“注入”节点的输出端口连接到“调试”节点的输入端口。“注入”节点的时间戳消息定向到“调试”节点。然后,“调试”节点将msg.payload在“调试”选项卡中显示(时间戳)。(通过单击并按住“注入”节点右侧的灰色方块并将其拖动到“调试”节点左侧的灰色方块来连接两个节点。)
  5. 通过按下页面右上角的Deploy按钮来部署Node-RED流。
  6. 按下“注入”节点左侧的按钮。单击的时间戳记显示在“调试”选项卡中,如图3所示。
    图3.创建两节点应用程序的流程图
    一切
3

将自定义节点添加到调色板

如果您的Node-RED早于0.15版本,则必须编辑名为的JSON文件app/package.json,并将新节点添加到该文件的“依赖关系”部分中的所需包列表中。

接下来,您需要向面板添加一个Ping节点。

  1. 在Node-RED流编辑器中,从右上方菜单中选择Manage Palette
  2. 选择安装选项卡。
  3. 搜索“ node-red-node-ping”。
  4. 选择小的安装按钮。
  5. 单击“完成”返回到Node-RED流编辑器。新的Ping节点将添加到调色板的底部:一切
4

将Ping节点添加到您的流中

  1. 在流编辑器中,将“ Ping”节点拖到图纸上。
  2. 双击节点以编辑其配置。在“目标”字段中输入要监视的计算机的IP地址为节点写一个简短的描述性名称,例如“ ping myServer”。然后,点击完成
  3. 通过将Debug节点连接到其输出来观察Ping节点的输出。 一切
  4. 使用到目前为止定义的节点部署Node-RED应用程序。调试消息显示在右窗格的“调试”选项卡中(请参见图3)。
5

查看ping回复

为了成功执行ping操作,Ping节点将在msg.payload属性中返回行程时间如果5秒钟内没有服务器响应,则该节点返回false。您可以设置一个功能节点来检查该msg.payload值。

  1. 在调色板中找到“功能”部分,然后将“功能”节点拖到工作表中“ Ping”节点旁边。
  2. 将Ping节点的输出连接到Function节点的输入。
  3. 双击节点以对其进行编辑。名称字段中,输入:isAlive?在功能块中添加以下代码:
    清单2.编辑Function节点的代码
    
    
    
    msg.tripTime = msg.payload;
    msg.payload = msg.payload !== false ?
     "Your server is running":
     "Your server is down";
    return msg;
    
  4. 单击“完成”退出编辑对话框。“功能”节点将创建一个字符串,其中包含“您的服务器正在运行”(如果它在5秒钟内收到答复)或“您的服务器已关闭”(如果您的服务器无法访问)。
  5. 因为您可能不想每20秒接收一次新的SMS,所以添加一个节点来处理应用程序流中的异常。
    1. 将“按异常报告”节点(rbe节点)拖到工作表上。
    2. 双击节点,然后选择块,除非值更改现在,除非msg.payload与上一条消息不同否则任何消息都不会通过
    3. 该节点的“名称”字段中,键入send once
    4. 单击完成
  6. 要在“调试”选项卡中查看消息,请将“功能”节点的输出连接到调试节点。
6

使用Twilio发送短信警报

您的应用程序即将完成。现在是时候将Twilio节点添加到您的应用程序流中了。

如果要将短信发送到手机号码,而不是创建帐户时验证的手机号码,则需要先通过Twilio验证该号码。此限制仅适用于试用帐户。您可以在Twilio帐户页面上验证新号码。

  1. 从您创建的Twilio帐户中收集您的Twilio编号和凭据:打开Twilio消息页面。b。获取您的第一个Twilio号码记下此SMS发件人的电话号码;您可能需要将其复制到文本文件中。C。选择此号码d。在Twilio消息传递页面上,找到并单击名为Show API Credentials的小链接记下您的帐户SID和身份验证令牌;您可能需要将其复制到文本文件中。一切
  2. 返回流程编辑器。
  3. 在调色板的“输出”部分下找到“ Twilio”节点,然后将其拖到工作表中。
  4. 双击Twilio节点以配置其设置:服务字段中,选择“外部服务”。b。按下小的编辑图标以打开“添加新的twilio-api配置节点”对话框。C。在此对话框中,提供您从Twilio消息页面复制的帐户SID,SMS发件人电话号码和身份验证令牌。d。单击添加以返回到编辑对话框。e。在“短信发送至”字段中,输入您的手机号码(SMS接收器的手机号码)。
  5. 名称字段中,输入SMS alert to admin并单击完成如果您收到以下错误消息:

     message:
     "Permission to send an SMS has not been enabled for the region indicated by the 'To'
     number: *************."
    

    然后,您可能需要更新Twilio帐户的GEO设置,并激活要发送消息的号码所在区域的权限。您可以通过以下URL更新GEO设置:https://www.twilio.com/console/sms/settings/geo-permissions。

  6. 在流程编辑器中单击“部署”

这是最终的申请流程供您参考:

图8.最终的应用程序流程
一切 7

部署您的Node-RED应用程序

在流程编辑器中,点击部署

恭喜你!您已完成示例应用程序。现在,您可以部署此应用程序以监视您的计算机或网络。

结论

在本教程中,您了解了使用Node-RED,IBM Cloud和Twilio创建IoT应用多么​​容易。您同时使用了标准节点和自定义节点,并在应用程序流程中配置了这些连接的节点。您通过使用自己的手机作为警报的SMS接收器来部署了应用程序。

您现在将创建哪种物联网应用程序?

飞码网-免费源码博客分享网站 爱上飞码网—https://www.codefrees.com— 飞码网-matlab-python-C++ 爱上飞码网—https://www.codefrees.com— 飞码网-免费源码博客分享网站
赞 ()
内容页底部广告位3
留言与评论(共有 0 条评论)
   
验证码: