电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>Broken CircleCI构建和粒子网格

Broken CircleCI构建和粒子网格

2022-12-27 | zip | 9.72 MB | 次下载 | 免费

资料介绍

描述

这个项目搭载了我上一篇文章使用 Slack 和 Particle 创建 IoT 滚动选框

我不想使用滚动字幕显示独特的消息,而是希望仅在持续集成平台构建失败时接收通知。在此通知中有用的是,哪个分支失败了,谁是用户

CircleCI是一个很棒的持续集成平台,我在个人项目中经常使用它,但我相信这种方法(或类似方法)适用于大多数人。

CircleCI config.yml允许您在“构建失败”时调用命令。这很棒,因为我们可以将 POST 请求卷曲到 API ,将我们的CIRCLE_BRANCHCIRCLE_USERNAME传递给它简单!

我对这个项目的方法的另一个看法是我想使用Particle Mesh Networking 本质上,粒子网状网络由具有网络访问权限的网关设备和一个/多个端点设备组成。在Particle 博客上可以找到更好的解释

我的示例将使用Argon WiFi 网关设备和 2 个Xenon端点设备。

网关和端点设备可以通过发布或订阅事件来相互通信只有此网络上的设备才能访问这些事件。

知道这一点,我们可以在我们的网关设备 (Argon) display_broken_build上定义一个函数,当 API 调用它时,它可以在我们的网络matrix_display_message上发出一个自定义事件我们的端点将订阅事件matrix_display_message ,然后可以执行特定操作。

我的计划是让 1 个 Xenon 端点运行滚动选框,而另一个 Xenon 端点显示损坏构建的数量。这表明在工作环境中,我们可以在我们的网络上使用多个设备来显示构建失败的通知以及可能更详细的统计信息

圈子CI

首先,我们需要一个会失败的构建。创建一个 git repo 并创建一个.circleci/config.yml文件。(参见示例)确保您随后在 CircleCI 应用程序中选择了您的 git 存储库。同时在您的新存储库中创建一个package.json文件。
此清单将没有依赖项或脚本。(见例子)

my-failing-repo
 | - .circleci/config.yml 
 | - package.json

将此推送到 github 并导致 CircleCI 构建您的项目。

首先它会安装 npm 依赖项,然后是npm foo,它不应该存在于你的package.json文件中,导致构建失败。

应用程序接口

我创建了一个 expressJS API (index.js) 和一个路由 /display。

/api/display上,API 将登录到我的设备并调用它的display_broken_build函数,将分支用户值传递给它。

API 引用存储在 local.env 文件中的环境变量。

PDEVICE=particle_device_id
PUSER=particle_user
PPASS=particle_password

API 然后托管在now上,我的now.json清单向 API 公开了我的路由和秘密。

您可以像这样向现在的部署提供您的秘密:

now secret add mesh-pub-user foo@bar.com

部署 API 后,更新对.circleci/config.yml文件中端点的引用。

氩气(网关)

我正在使用 Argon 作为我的网关设备。

使用 Particles 的 Workbench,我在我的设备上刷新了argon-publish.ino 。

您会注意到在设置时我定义了接受命令(字符串)的函数display_broken_build ,并且在通过 API 调用该函数的事件中,我调用了displayMessage函数,该函数随后会将 matrix_display_message发送到网络上。

Xenon - 滚动字幕(端点)

此设备的代码 ( xenon-subscribe-scrolling-marquee.ino ) 与我原来的滚动字幕示例非常相似。

不同之处在于,此设备在设置时订阅了matrix_display_message事件。收到后,调用displayMessage,从而写入 LCD。

Mesh.subscribe("matrix_display_message", displayMessage);

Xenon - 计数器(端点)

该设备的代码 ( xenon-subscribe-counter.ino ) 非常简单。

我将计数初始化0,每次发布matrix_display_message时它都会调用logToDisplay ,将计数递增 1 并将其发送到 LCD 显示器。

结论

一旦部署了 API,设备闪烁,并发布了失败的 CircleCI 存储库,我就有了自己的可爱的物联网显示网络,在构建失败时通知我。

 

 

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 15V精密CMOS运算放大器PC6100数据手册
  2. 0.97 MB   |  3次下载  |  免费
  3. 2舵机控制程序案例
  4. 12.46 MB   |  2次下载  |  1 积分
  5. 3轻触三功能+常按 SOS 功能手筒LED驱动ICSD3302数据手册
  6. 0.60 MB   |  2次下载  |  2 积分
  7. 4采用QFN封装且具有2.95V-6V 输入的LMZ30604 4A电源模块数据表
  8. 1.86MB   |  2次下载  |  免费
  9. 56位固定方向低偏斜低抖动电压转换器或缓冲器TXV0106数据表
  10. 2.19MB   |  2次下载  |  免费
  11. 642V、5A SIMPLE SWITCHER® 特性降压稳压器LM22677/-Q1数据表
  12. 1.54MB   |  1次下载  |  免费
  13. 73.5V 至 36V 输入、1V 至 20V 输出、6A 电源模块LMZM33606数据表
  14. 1.97MB   |  1次下载  |  免费
  15. 830VP沟道MOSFET AO3407A数据手册
  16. 0.18 MB   |  1次下载  |  免费

本月

  1. 1STM32国内外发展现状
  2. 1.15 MB   |  18次下载  |  免费
  3. 2传感芯片选型指南
  4. 3.60 MB   |  13次下载  |  免费
  5. 3储能电源市场分析
  6. 7.99 MB  |  11次下载  |  免费
  7. 4TDK电容器产品指南
  8. 11.88 MB   |  9次下载  |  1 积分
  9. 5ATmega8芯片中文手册
  10. 2.45 MB   |  8次下载  |  1 积分
  11. 62A多电池高效开关充电器AN_SY6912A中文资料规格书
  12. 1.43 MB   |  7次下载  |  免费
  13. 7储能电源市场分析报告
  14. 2.61 MB   |  7次下载  |  免费
  15. 816A 输出电流,高可靠、高效率 同步降压转换器PCD3201产品手册
  16. 0.47 MB   |  6次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935093次下载  |  免费
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420050次下载  |  免费
  5. 3Altium DXP2002下载入口
  6. 未知  |  233068次下载  |  免费
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191317次下载  |  免费
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183317次下载  |  免费
  11. 6labview8.5下载
  12. 未知  |  81567次下载  |  免费
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73789次下载  |  免费
  15. 8NI LabVIEW中实现3D视觉的工具和技术
  16. 未知  |  70088次下载  |  免费