怎样使用以IO24模块远程控制圣诞灯

电子说

1.2w人已加入

描述

  远程控制

  该项目包括软件和硬件

  简介:

  这是我使用一年的圣诞灯控制器我想通过互联网运行带有EITHER IO24模块的一组继电器。原始项目是在几年前完成的。我在网络上添加了无线网桥,以使其成为无线圣诞灯控制器。 IO24模块已连接到一个简单的继电器模块,您可以从互联网上获得一些

  该模块既可以用于通过TK GUI进行直接控制,也可以读取文件,在此示例中称为blink.blk,它将允许驱动复杂的模式

  对于此设置,我将12个继电器连接到IO24模块,但可以轻松添加更多继电器。代码的格式和数组的使用应该使对编程了解一点的任何人都可以向前扩展

  它看起来相当简单,但是我希望有很多版本可以做到这一点

  它使用UDP格式,没有检查,因此无法确认操作是否发生。

  警告:由于圣诞灯对安全性不是很关键,因此无需握手即可验证命令是否已传递给模块,如果用于其他目的,请在实施之前进行更改,否则丢失数据包可能会受伤

  步骤1:目标/状态

  远程控制

  1。直接控制TK图形用户界面上的TK图形用户界面

  2。能够从将自动运行的文件中创建模式

  3。直接控制文件以允许以后编写复杂的脚本以生成模式

  4。保持较低的成本和较低的复杂度

  1。当时IO24都是一种低成本解决方案(项目已有2年的历史)

  2.PERL/TK免费且易于编程和分发

  3。市售的中继板连接到任一个24板上,使得电气连接非常简单

  4。整个系统都安装在旧的PC机箱中已经有5伏和12伏电源运行硬件的

  状态:

  •基础c程序和系统都已就绪并且运行良好。

  •帮助,whats_next按钮不起作用或不需要

  •当前仅限于网络上的一台IO24设备

  •假定所有通信均已完成在本地网络上,无需费力访问路由器的WAN端(如果进行了更改,可以随意破解代码并重新发布)

  步骤2:购物硬件列表

  1)找到用于主控制器的PC或Raspberry pi

  2)Elexol IO24以太网IO模块-》 https://www。 elexol.com/IO_Modules/Ether_IO_24.php

  3)任何与逻辑接口的中继板,您都可以在许多地方找到它们,例如,如果您去Amazon.com并输入“中继板”在搜索中会出现几个。 Robotshop.com上有一些可用的软件,您可以在Google上搜索其他几个软件。主要是确保它具有5伏逻辑接口,这是Elexol所使用的接口。要在适合该部分的板上进行良好的讨论,请查看以下链接。

  http://www.electronickits.com/kit/complete/elec/ck 。..

  4)找到装有电源的旧计算机机箱。对于大多数继电器板,您需要5伏和12伏的电源。您可以从亚马逊,Fry‘s那里得到这些,或者可能已经在房子周围铺设了。

  5)为所有继电器提供保险丝,以确保不会发生意外,我在每条5安培的线路保险丝中使用了保险丝,这些保险丝不需要大量电流,请确保不要过载总负载的电路。这些可以在Digikey,Amazon,Mouser或其他几个地方找到。另外,请确保保险丝的额定值低于继电器的额定值

  。6)连接至继电器的电源线。为了节省成本,我购买了延长线,并切断了不需要的一端。您可以从亚马逊或五金店获得这些。

  。

  第3步:组装硬件

  好消息是,由于没有太多组件,这现在很容易组装。只需将Elexol部件连接到继电器板上,并熔断保险丝和电源线即可。将5伏特从计算机机箱连接到Elexol板上,如果需要,则将12伏特连接到继电器板上。使用计算机电源有一些技巧,请访问以下链接https://www.instructables.com/id/How-to-power-up-a 。..

  要使调试开始时不要将继电器连接到墙壁电源,只需使用Elexol接口为PC电源供电即可进行测试,如果一切正常,您将听到继电器发出喀哒声。确保它们全部卡住,并使用欧姆电阻器检查所有电源插头上的连接是否正确。

  也要非常小心高压布线,确保使用大量胶带,并保持所有部件都封闭在电源盒中,不要忘记保险丝。当电线离开包装盒时,请确保有索环,以防止电线磨损,这会在以后引起问题。为防止电击的危险,在将高压连接到继电器之前,请先合上机箱,并在使用高压时随时使用标准的预防措施。如果您不知道,在找到可以帮助您的人之前,请不要执行此项目。

  步骤4:对软件进行预修复

  如果仅需要远程控制,则可以使用Elexol板打开继电器。但是,如果您希望获得更多控制权,则可以执行以下步骤。

  1)在计算机上安装Perl,Google将为您提供有关如何执行此操作的许多示例。如果为此使用树莓派PI,它将已经具有Perl,但是您必须添加TK扩展。您可能还必须添加IO :: Socket模块。互联网上可能存在一些可以帮助您完成此步骤的地方

  2)将附件添加到计算机中

  3)在大多数情况下,您应该可以点击lightblink10 .pl,它将开始。如果不是,则可能必须转到Windows输入并键入CMD。然后在CMD窗口中键入“ perl lightblink10.pl”使其启动。

  步骤5:软件按钮

  远程控制

  所附图片几乎说明了程序的所有功能。右侧的按钮将打开/关闭单个继电器,并且在启用继电器后将变为绿色。左侧的按钮具有一些调试功能,例如全部打开,停止和选通。一些按钮尚不具有图片中所说明的功能。

  由于这是Internet工程,使用该接口时的首要任务是连接到模块。为此,请确保Elexol模块和计算机都在路由器的LAN侧。在iPhone上安装“ fing”应用程序之类的东西以确保该模块在开始之前已在Internet上会有所帮助。准备开始时,单击“连接”按钮。如果一切顺利,状态将变为已连接并且按钮将开始工作。

  另外,根据配置,您的计算机可能会出现防火墙问题,我的设置可以进行任何修改。您可以在程序中看到$ Port设置为2424,因此需要在计算机上打开该端口。

  左上角的文件名将是要执行的输入命令文件,而play_file按钮将开始执行文件,直到按下停止按钮或文件完成为止(以先到者为准)

  通信背景

  该项目使用UDP数据包,并在此处执行连接步骤是INADDR_BROADCAST,用于查找IO24模块的响应。该程序假设网络上只有一个IO24模块,如果还有更多我不知道会发生什么,可能是最后一个发现了第一个。可以修改代码以将这些响应输入到数组中以扩展到更多模块。捕获响应的IP地址后,GUI将与之对话的设备。所有通信都是一种简单的方法,无需握手即可确保完成。如果由于交通阻塞而使邮件瘫痪,则必须再次发送。

  第6步:在Blink.bk文件中编写模式

  前面附加的文件有一些示例,但是这里是文件中详细内容的细分。

  一般说明:

  •通常,只要在文件中包含注释,只要每个注释行的第一个字符中都包含一个#

  ••文件的开头需要有一个速度命令来设置速度,通常设置为10,速度为10将设置10秒在文件中的时间单位之间

  •有两种输入格式来控制继电器

  关于页眉数据的更多详细信息

  •关键字,不区分大小写

  –#在一行的开头是注释

  –Tempo = NN,其中NN是温度,整数

  •10很常见

  –Loop = NN,其中NN是整数表示要重复的次数

  有关格式的更多详细信息

  •有关照明命令的详细信息,有两个格式ts

  •完整寻址

  •直接寻址

  •完整照明命令的格式为

  •“时间”“ | = “ integer,“ light” =“ state”“ value”

  –Details

  “ time”可以是(time | t)

  Integer可以是0到65000,并且必须是连续的

  “ light”可以是(lNN | all)

  ,其中NN是从1到12的整数

  “状态”可以是(blink | b)NN

  ,其中NN是0到100之间的整数

  设置为100时,灯光将一直亮着;设置为零时,将不启用灯光。

  •直接照明命令的格式为

  –(time | t )(| =)MM,h0xNNN

  –Time | t是命令指示符

  –MM是整数时间偏移单调

  –h0xNNN是十六进制值来命令所有灯0至12点亮。

  示例

  简单的命令来禁用所有灯

  t 0,全部=闪烁0

  启用所有时间的简单命令

  时间1,全部闪烁100

  使用简写表示法打开灯光8的简单命令

  t 3,l8 = b 100

  简单命令以直接模式强制其他所有灯光

  t = 5,h0xaaa

  责任编辑:wv


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分