0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于 Esquilo Air 的 WiFi 连接遥控器(示意图+代码)

基于 Esquilo Air 的 WiFi 连接遥控器(示意图+代码)

来源: 电路城
2021-11-29
类别:工业控制
eye 7
文章创建人 拍明

原标题:基于 Esquilo Air 的 WiFi 连接遥控器(示意图+代码)

cirmall

cirmall

cirmall

cirmall

cirmall


  使用这款基于 Esquilo Air 的 WiFi 连接遥控器,从世界任何地方控制您的 Hunter 喷水灭火系统。

  在一些地方,夏季炎热,干旱时间长,有效管理草坪喷水灭火系统对于确保良好的节水而不破坏草坪至关重要。不幸的是,大多数自动喷水灭火系统控制器仍然是愚蠢的设备,只能按照在控制面板上设置的固定时间表运行。我需要的是一个遥控器,我可以用它从远程位置或至少在舒适的客厅里打开或关闭洒水器。

  背景

  我的喷水灭火系统是由 Hunter Industries 制造的,Hunter Industries 是灌溉领域的知名企业之一。Hunter 生产一种称为 ROAM 的无线遥控器。ROAM 通过一个称为 SmartPort 的圆形连接器连接到喷水灭火系统,该连接器连接到控制面板。我购买了其中之一来控制我的系统,但我发现它有两个主要缺陷。首先,范围非常有限,当我在外面对喷水灭火系统区域进行故障排除时,它不能可靠地工作。其次,它使用专有的无线协议,所以它没有连接到我的 WiFi 网络,也不能从远程位置使用。黑客要做什么?当然,构建我自己的 WiFi 遥控器。

  硬件

  我使用 Esquilo Sprinkler Shield 来控制我的 Hunter 系统。该屏蔽提供 24V 交流至 5V 直流电源,因此可直接从控制面板供电。它还具有将逻辑电平信号转换为 Hunter 远程总线的电路。电路板顶部有三个引脚,因此可以直接插入 Hunter SmartPort。如果您想在没有 SmartPort 的情况下将其直接连接到控制面板,还可以使用端子块。

  我将喷淋头防护罩安装在 Esquilo Air 上。Esquilo Air 让我可以轻松连接到我的 WiFi 网络,并为我提供了一个云站点,我可以在其中远程访问我的应用程序。此外,Esquilo 提供了使用其专有协议与 Hunter 控制面板通信所需的所有软件库。Hunter 协议有一些限制,但我可以在特定时间打开区域,运行定义的程序,或者停止正在运行的区域。这为我提供了与 ROAM 遥控器相同的功能,并具有可靠和远程通信的好处。

  软件

  为了测试系统,我将 SmartPort 连接到我的 Hunter 面板。电线必须按红-白-蓝顺序安装在 AC 和 REM 端子上。我将 SmartPort 连接到 Sprinkler 防护罩,Esquilo Air 点亮了。然后我将 Esquilo Air 连接到我的 WiFi 网络,并从我的网络浏览器中调出 IDE。我使用以下 Squirrel 代码来测试面板上的总线接口。

  // Include the Hunter class from the Esquilo library

  dofile("sd:/lib/buses/hunter/hunter.nut");

  // Instantiate the Hunter class on UART0

  hunter <- Hunter(0);

  // Start zone 1 for 2 minutes

  hunter.start(1, 2);

  面板响应并打开防区 1 2 分钟。然后我更改了代码以启动程序。

  hunter.program(1);

  面板再次响应并打开程序 1。最后,我尝试停止一个区域并且效果也很好。

  hunter.stop();

  用户界面

  在验证屏蔽工作后,是时候继续前进并将其连接到用户界面。我决定使用 HTML 和 JavaScript 的基于 Web 的界面,因为 Esquilo Air 有一个内置的 Web 服务器,我可以使用任何浏览器访问它。它还允许我通过Esquilo.io 云站点使用 HTTPS 远程访问界面 。为了构建 Web 界面,我使用了jQuery和bootstrap,这使得开发移动友好版本变得容易。界面非常简单,但它正是我需要的。我可以打开区域、启动程序或停止正在进行的浇水。

  我使用Esquilo RPC  (ERPC) 在浏览器中的 JavaScript 和 Esquilo Air 上的 Squirrel 代码之间进行通信。这使得从我的 Web 界面在 Esquilo Air 上执行嵌入式功能变得容易。例如,在 JavaScript 中,我编写了以下代码以在按下停止按钮时调用 Esquilo Air 上的 stop() 函数。

  $('#stopButton').click(function() {

  erpc("stop", null, null, function() {

  error("Zone stop failed");

  });

  });

  第一个参数是 Esquilo Air 上的函数名称,第二个参数是传递给函数的参数(在这种情况下没有),第三个参数是成功回调,第四个是错误回调。在这种情况下,唯一需要的回调是在 ERPC 调用失败时显示错误消息。在 Esquilo Air 方面,我编写了一个简单的 Squirrel 函数,它只是将 stop() 方法调用包装到 Hunter 类中。

  function stop() {

  hunter.stop();

  }

  完整的代码附在这个项目中。

  安装

  现在是时候让这个东西永久连接起来了。我决定使用 SmartPort 安装它。

  我使用DesignSpark Mechanical设计了一个 3D 打印外壳,其开口与 SmartPort 尺寸完全匹配。

  我使用我的 MakerGear M2(一个很棒的 3D 打印机 BTW)使用蓝色 PLA 打印出层高为 0.2 毫米的外壳。我使用 2-56 个滚丝螺钉将 Esquilo Air 连接到我设计在外壳底部的支架上。为了固定顶部,我使用了 4-40 个螺纹滚压螺钉,这些螺钉沉入了表壳顶部。

  由于我的控制面板安装在外面,我不想担心元件进入我的外壳并破坏电子设备。我决定在车库墙上钻一个洞,然后挖一个洞来安装一个单组低压配电箱。我将 SmartPort 拧到金属盖板上,然后通过墙上的孔将其连接到控制面板上。然后我用一些硅胶密封了这个洞。

  最后,我将 Esquilo Air 安装在 SmartPort 上,我的遥控器就完成了!



责任编辑:

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案