資料介紹
描述
這個(gè)項(xiàng)目搭載了我上一篇文章使用 Slack 和 Particle 創(chuàng)建 IoT 滾動(dòng)選框。
我不想使用滾動(dòng)字幕顯示獨(dú)特的消息,而是希望僅在持續(xù)集成平臺(tái)構(gòu)建失敗時(shí)接收通知。在此通知中有用的是,哪個(gè)分支失敗了,誰(shuí)是用戶。
CircleCI是一個(gè)很棒的持續(xù)集成平臺(tái),我在個(gè)人項(xiàng)目中經(jīng)常使用它,但我相信這種方法(或類似方法)適用于大多數(shù)人。
CircleCI config.yml允許您在“構(gòu)建失敗”時(shí)調(diào)用命令。這很棒,因?yàn)槲覀兛梢?/font>將 POST 請(qǐng)求卷曲到 API ,將我們的CIRCLE_BRANCH和CIRCLE_USERNAME傳遞給它。簡(jiǎn)單!
我對(duì)這個(gè)項(xiàng)目的方法的另一個(gè)看法是我想使用Particle Mesh Networking 。本質(zhì)上,粒子網(wǎng)狀網(wǎng)絡(luò)由具有網(wǎng)絡(luò)訪問權(quán)限的網(wǎng)關(guān)設(shè)備和一個(gè)/多個(gè)端點(diǎn)設(shè)備組成。在Particle 博客上可以找到更好的解釋。
我的示例將使用Argon WiFi 網(wǎng)關(guān)設(shè)備和 2 個(gè)Xenon端點(diǎn)設(shè)備。
網(wǎng)關(guān)和端點(diǎn)設(shè)備可以通過(guò)發(fā)布或訂閱事件來(lái)相互通信。只有此網(wǎng)絡(luò)上的設(shè)備才能訪問這些事件。
知道這一點(diǎn),我們可以在我們的網(wǎng)關(guān)設(shè)備 (Argon) display_broken_build上定義一個(gè)函數(shù),當(dāng) API 調(diào)用它時(shí),它可以在我們的網(wǎng)絡(luò)matrix_display_message上發(fā)出一個(gè)自定義事件。我們的端點(diǎn)將訂閱事件matrix_display_message ,然后可以執(zhí)行特定操作。
我的計(jì)劃是讓 1 個(gè) Xenon 端點(diǎn)運(yùn)行滾動(dòng)選框,而另一個(gè) Xenon 端點(diǎn)顯示損壞構(gòu)建的數(shù)量。這表明在工作環(huán)境中,我們可以在我們的網(wǎng)絡(luò)上使用多個(gè)設(shè)備來(lái)顯示構(gòu)建失敗的通知以及可能更詳細(xì)的統(tǒng)計(jì)信息。
圈子CI
首先,我們需要一個(gè)會(huì)失敗的構(gòu)建。創(chuàng)建一個(gè) git repo 并創(chuàng)建一個(gè).circleci/config.yml文件。(參見示例)確保您隨后在 CircleCI 應(yīng)用程序中選擇了您的 git 存儲(chǔ)庫(kù)。同時(shí)在您的新存儲(chǔ)庫(kù)中創(chuàng)建一個(gè)package.json文件。
此清單將沒有依賴項(xiàng)或腳本。(見例子)
my-failing-repo
| - .circleci/config.yml
| - package.json
將此推送到 github 并導(dǎo)致 CircleCI 構(gòu)建您的項(xiàng)目。
首先它會(huì)安裝 npm 依賴項(xiàng),然后是npm foo,它不應(yīng)該存在于你的package.json文件中,導(dǎo)致構(gòu)建失敗。
應(yīng)用程序接口
我創(chuàng)建了一個(gè) expressJS API (index.js) 和一個(gè)路由 /display。
在/api/display上,API 將登錄到我的設(shè)備并調(diào)用它的display_broken_build函數(shù),將分支和用戶值傳遞給它。
API 引用存儲(chǔ)在 local.env 文件中的環(huán)境變量。
PDEVICE=particle_device_id
PUSER=particle_user
PPASS=particle_password
API 然后托管在now上,我的now.json清單向 API 公開了我的路由和秘密。
您可以像這樣向現(xiàn)在的部署提供您的秘密:
now secret add mesh-pub-user [email protected]
部署 API 后,更新對(duì).circleci/config.yml文件中端點(diǎn)的引用。
氬氣(網(wǎng)關(guān))
我正在使用 Argon 作為我的網(wǎng)關(guān)設(shè)備。
使用 Particles 的 Workbench,我在我的設(shè)備上刷新了argon-publish.ino 。
您會(huì)注意到在設(shè)置時(shí)我定義了接受命令(字符串)的函數(shù)display_broken_build ,并且在通過(guò) API 調(diào)用該函數(shù)的事件中,我調(diào)用了displayMessage函數(shù),該函數(shù)隨后會(huì)將 matrix_display_message發(fā)送到網(wǎng)絡(luò)上。
Xenon - 滾動(dòng)字幕(端點(diǎn))
此設(shè)備的代碼 ( xenon-subscribe-scrolling-marquee.ino ) 與我原來(lái)的滾動(dòng)字幕示例非常相似。
不同之處在于,此設(shè)備在設(shè)置時(shí)訂閱了matrix_display_message事件。收到后,調(diào)用displayMessage,從而寫入 LCD。
Mesh.subscribe("matrix_display_message", displayMessage);
Xenon - 計(jì)數(shù)器(端點(diǎn))
該設(shè)備的代碼 ( xenon-subscribe-counter.ino ) 非常簡(jiǎn)單。
我將計(jì)數(shù)初始化為0,每次發(fā)布matrix_display_message時(shí)它都會(huì)調(diào)用logToDisplay ,將計(jì)數(shù)遞增 1 并將其發(fā)送到 LCD 顯示器。
結(jié)論
一旦部署了 API,設(shè)備閃爍,并發(fā)布了失敗的 CircleCI 存儲(chǔ)庫(kù),我就有了自己的可愛的物聯(lián)網(wǎng)顯示網(wǎng)絡(luò),在構(gòu)建失敗時(shí)通知我。
?
?
- 粒子動(dòng)力機(jī)械臂開源構(gòu)建
- 使用麥克納姆輪子構(gòu)建和控制全向汽車的過(guò)程
- 如何創(chuàng)建和使用LabVIEW中的LLB文件 0次下載
- 基于量子耗散粒子群算法的評(píng)估模型構(gòu)建 3次下載
- 基于最優(yōu)子網(wǎng)的虛擬網(wǎng)絡(luò)映射算法 5次下載
- 基于定點(diǎn)壓縮技術(shù)的雙層粒子網(wǎng)格算法 14次下載
- 一種融入社會(huì)影響力的粒子群優(yōu)化算法 10次下載
- 如何結(jié)合粒子群尋優(yōu)與遺傳重采樣實(shí)現(xiàn)RBPF算法 2次下載
- 如何使用記憶庫(kù)粒子群算法進(jìn)行海上協(xié)作搜尋計(jì)劃制定概述 3次下載
- 如何使用室內(nèi)環(huán)境約束的行人航向粒子濾波算法進(jìn)行修正方向誤差 9次下載
- 綠色能源是什么?WiFi“網(wǎng)格化”是什么?有什么作用
- 《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)的構(gòu)建與實(shí)踐
- 離子推力器羽流特性的粒子模擬
- 制造網(wǎng)格的工作流管理研究
- 本地站點(diǎn)網(wǎng)格作業(yè)監(jiān)控模塊的設(shè)計(jì)和實(shí)現(xiàn)
- 利用自適應(yīng)網(wǎng)格細(xì)化功能自動(dòng)生成最佳網(wǎng)格 426次閱讀
- 不同尺度子網(wǎng)絡(luò)的模塊化神經(jīng)網(wǎng)絡(luò)同步轉(zhuǎn)換 499次閱讀
- 如何從線性網(wǎng)格創(chuàng)建高階網(wǎng)格 616次閱讀
- 什么是網(wǎng)格劃分或網(wǎng)格生成? 3717次閱讀
- 西門子支持S7子網(wǎng)路由功能的模塊有哪些? 1355次閱讀
- 面向智能家居應(yīng)用的藍(lán)牙網(wǎng)格技術(shù) 3006次閱讀
- 塵埃粒子計(jì)數(shù)器使用說(shuō)明 8464次閱讀
- Zedboard HDMI核的構(gòu)建和輸出顯示測(cè)試 6619次閱讀
- 子網(wǎng)掩碼怎么計(jì)算 4.5w次閱讀
- 子網(wǎng)掩碼在哪里看_子網(wǎng)掩碼怎么設(shè)置 4.5w次閱讀
- 子網(wǎng)掩碼與子網(wǎng)劃分講解 1.1w次閱讀
- 子網(wǎng)掩碼是什么_子網(wǎng)掩碼怎么理解 12.2w次閱讀
- 已知ip地址求子網(wǎng)掩碼_已知ip地址和子網(wǎng)掩碼求網(wǎng)絡(luò)號(hào)、子網(wǎng)號(hào)和主機(jī)號(hào) 11.1w次閱讀
- 子網(wǎng)掩碼計(jì)算方法_實(shí)例計(jì)算子網(wǎng)掩碼_子網(wǎng)劃分教程 12.5w次閱讀
- 子網(wǎng)掩碼的作用_子網(wǎng)掩碼計(jì)算_子網(wǎng)掩碼和ip地址的關(guān)系 1.9w次閱讀
下載排行
本周
- 1DeepSeek:從入門到精通
- 5.36 MB | 9次下載 | 1 積分
- 2IP6823 支持 qi 認(rèn)證的無(wú)線充電發(fā)射控制 SOC
- 1.01 MB | 1次下載 | 免費(fèi)
- 3IP6824? 全集成QI?無(wú)線充電發(fā)射控制SOC
- 1.22 MB | 1次下載 | 免費(fèi)
- 4PESD18VY1BBIF保護(hù)二極管規(guī)格書
- 4.56MB | 次下載 | 免費(fèi)
- 574HC4050緩沖器規(guī)格書
- 217.58KB | 次下載 | 免費(fèi)
- 674HC193;74HC7193二進(jìn)制加減計(jì)數(shù)器規(guī)格書
- 327.93KB | 次下載 | 免費(fèi)
- 774HC73-Q100雙JK觸發(fā)器規(guī)格書
- 220.85KB | 次下載 | 免費(fèi)
- 8ASW3410 USB3.1高速數(shù)據(jù)開關(guān)切換規(guī)格書
- 1.39 MB | 次下載 | 免費(fèi)
本月
- 1A7159和A7139射頻芯片的資料免費(fèi)下載
- 0.20 MB | 55次下載 | 5 積分
- 2零死角玩轉(zhuǎn)STM32F103—指南者
- 26.78 MB | 41次下載 | 1 積分
- 3PIC12F629/675 數(shù)據(jù)手冊(cè)免費(fèi)下載
- 2.38 MB | 36次下載 | 5 積分
- 4PIC16F716 數(shù)據(jù)手冊(cè)免費(fèi)下載
- 2.35 MB | 18次下載 | 5 積分
- 5GD32F4xx用戶手冊(cè)
- 14.49MB | 14次下載 | 免費(fèi)
- 6DeepSeek:從入門到精通
- 5.36 MB | 9次下載 | 1 積分
- 7dsPIC33EDV64MC205電機(jī)控制開發(fā)板用戶指南
- 5.78MB | 8次下載 | 免費(fèi)
- 8STC15系列常用寄存器匯總免費(fèi)下載
- 1.60 MB | 7次下載 | 5 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935124次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73813次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評(píng)論