資料介紹
描述
這個項目搭載了我上一篇文章使用 Slack 和 Particle 創(chuàng)建 IoT 滾動選框。
我不想使用滾動字幕顯示獨特的消息,而是希望僅在持續(xù)集成平臺構(gòu)建失敗時接收通知。在此通知中有用的是,哪個分支失敗了,誰是用戶。
CircleCI是一個很棒的持續(xù)集成平臺,我在個人項目中經(jīng)常使用它,但我相信這種方法(或類似方法)適用于大多數(shù)人。
CircleCI config.yml允許您在“構(gòu)建失敗”時調(diào)用命令。這很棒,因為我們可以將 POST 請求卷曲到 API ,將我們的CIRCLE_BRANCH和CIRCLE_USERNAME傳遞給它。簡單!
我對這個項目的方法的另一個看法是我想使用Particle Mesh Networking 。本質(zhì)上,粒子網(wǎng)狀網(wǎng)絡(luò)由具有網(wǎng)絡(luò)訪問權(quán)限的網(wǎng)關(guān)設(shè)備和一個/多個端點設(shè)備組成。在Particle 博客上可以找到更好的解釋。
我的示例將使用Argon WiFi 網(wǎng)關(guān)設(shè)備和 2 個Xenon端點設(shè)備。
網(wǎng)關(guān)和端點設(shè)備可以通過發(fā)布或訂閱事件來相互通信。只有此網(wǎng)絡(luò)上的設(shè)備才能訪問這些事件。
知道這一點,我們可以在我們的網(wǎng)關(guān)設(shè)備 (Argon) display_broken_build上定義一個函數(shù),當(dāng) API 調(diào)用它時,它可以在我們的網(wǎng)絡(luò)matrix_display_message上發(fā)出一個自定義事件。我們的端點將訂閱事件matrix_display_message ,然后可以執(zhí)行特定操作。
我的計劃是讓 1 個 Xenon 端點運行滾動選框,而另一個 Xenon 端點顯示損壞構(gòu)建的數(shù)量。這表明在工作環(huán)境中,我們可以在我們的網(wǎng)絡(luò)上使用多個設(shè)備來顯示構(gòu)建失敗的通知以及可能更詳細的統(tǒng)計信息。
圈子CI
首先,我們需要一個會失敗的構(gòu)建。創(chuàng)建一個 git repo 并創(chuàng)建一個.circleci/config.yml文件。(參見示例)確保您隨后在 CircleCI 應(yīng)用程序中選擇了您的 git 存儲庫。同時在您的新存儲庫中創(chuàng)建一個package.json文件。
此清單將沒有依賴項或腳本。(見例子)
my-failing-repo
| - .circleci/config.yml
| - package.json
將此推送到 github 并導(dǎo)致 CircleCI 構(gòu)建您的項目。
首先它會安裝 npm 依賴項,然后是npm foo,它不應(yīng)該存在于你的package.json文件中,導(dǎo)致構(gòu)建失敗。
應(yīng)用程序接口
我創(chuàng)建了一個 expressJS API (index.js) 和一個路由 /display。
在/api/display上,API 將登錄到我的設(shè)備并調(diào)用它的display_broken_build函數(shù),將分支和用戶值傳遞給它。
API 引用存儲在 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 foo@bar.com
部署 API 后,更新對.circleci/config.yml文件中端點的引用。
氬氣(網(wǎng)關(guān))
我正在使用 Argon 作為我的網(wǎng)關(guān)設(shè)備。
使用 Particles 的 Workbench,我在我的設(shè)備上刷新了argon-publish.ino 。
您會注意到在設(shè)置時我定義了接受命令(字符串)的函數(shù)display_broken_build ,并且在通過 API 調(diào)用該函數(shù)的事件中,我調(diào)用了displayMessage函數(shù),該函數(shù)隨后會將 matrix_display_message發(fā)送到網(wǎng)絡(luò)上。
Xenon - 滾動字幕(端點)
此設(shè)備的代碼 ( xenon-subscribe-scrolling-marquee.ino ) 與我原來的滾動字幕示例非常相似。
不同之處在于,此設(shè)備在設(shè)置時訂閱了matrix_display_message事件。收到后,調(diào)用displayMessage,從而寫入 LCD。
Mesh.subscribe("matrix_display_message", displayMessage);
Xenon - 計數(shù)器(端點)
該設(shè)備的代碼 ( xenon-subscribe-counter.ino ) 非常簡單。
我將計數(shù)初始化為0,每次發(fā)布matrix_display_message時它都會調(diào)用logToDisplay ,將計數(shù)遞增 1 并將其發(fā)送到 LCD 顯示器。
結(jié)論
一旦部署了 API,設(shè)備閃爍,并發(fā)布了失敗的 CircleCI 存儲庫,我就有了自己的可愛的物聯(lián)網(wǎng)顯示網(wǎng)絡(luò),在構(gòu)建失敗時通知我。
?
?
- 粒子動力機械臂開源構(gòu)建
- 使用麥克納姆輪子構(gòu)建和控制全向汽車的過程
- 如何創(chuàng)建和使用LabVIEW中的LLB文件 0次下載
- 基于量子耗散粒子群算法的評估模型構(gòu)建 3次下載
- 基于最優(yōu)子網(wǎng)的虛擬網(wǎng)絡(luò)映射算法 5次下載
- 基于定點壓縮技術(shù)的雙層粒子網(wǎng)格算法 14次下載
- 一種融入社會影響力的粒子群優(yōu)化算法 10次下載
- 如何結(jié)合粒子群尋優(yōu)與遺傳重采樣實現(xiàn)RBPF算法 2次下載
- 如何使用記憶庫粒子群算法進行海上協(xié)作搜尋計劃制定概述 3次下載
- 如何使用室內(nèi)環(huán)境約束的行人航向粒子濾波算法進行修正方向誤差 9次下載
- 綠色能源是什么?WiFi“網(wǎng)格化”是什么?有什么作用
- 《單片機原理及應(yīng)用》課程設(shè)計的構(gòu)建與實踐
- 離子推力器羽流特性的粒子模擬
- 制造網(wǎng)格的工作流管理研究
- 本地站點網(wǎng)格作業(yè)監(jiān)控模塊的設(shè)計和實現(xiàn)
- 利用自適應(yīng)網(wǎ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)用的藍牙網(wǎng)格技術(shù) 3006次閱讀
- 塵埃粒子計數(shù)器使用說明 8464次閱讀
- Zedboard HDMI核的構(gòu)建和輸出顯示測試 6619次閱讀
- 子網(wǎng)掩碼怎么計算 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ò)號、子網(wǎng)號和主機號 11.1w次閱讀
- 子網(wǎng)掩碼計算方法_實例計算子網(wǎng)掩碼_子網(wǎng)劃分教程 12.5w次閱讀
- 子網(wǎng)掩碼的作用_子網(wǎng)掩碼計算_子網(wǎng)掩碼和ip地址的關(guān)系 1.9w次閱讀
下載排行
本周
- 1NS1081/NS1081S/NS1081Q USB 3.0閃存數(shù)據(jù)手冊
- 0.40 MB | 4次下載 | 2 積分
- 2光伏并網(wǎng)逆變器原理
- 7.31 MB | 3次下載 | 2 積分
- 3T20電烙鐵原理圖資料
- 0.27 MB | 2次下載 | 免費
- 4PL83081 雙路恒流同步降壓轉(zhuǎn)換器技術(shù)手冊
- 3.34 MB | 1次下載 | 免費
- 5PL88052 4.8V至60V輸入,5A,同步降壓轉(zhuǎn)換器技術(shù)手冊
- 3.36 MB | 1次下載 | 免費
- 6LX8201微孔霧化驅(qū)動芯片電路圖資料
- 0.15 MB | 1次下載 | 免費
- 7PC6200_7V直流電機驅(qū)動器技術(shù)手冊
- 0.47 MB | 次下載 | 免費
- 8恒溫晶體振蕩器(OCXO)FOC-2D:20.6×20.6mm在通信基站和測試設(shè)備中的應(yīng)用參數(shù)規(guī)格
- 485.75 KB | 次下載 | 免費
本月
- 1如何看懂電子電路圖
- 12.88 MB | 329次下載 | 免費
- 2RK3588數(shù)據(jù)手冊
- 2.24 MB | 14次下載 | 免費
- 3PC5502負載均流控制電路數(shù)據(jù)手冊
- 1.63 MB | 12次下載 | 免費
- 4STM32F10x參考手冊資料
- 13.64 MB | 12次下載 | 1 積分
- 5OAH0428 V1.0英文規(guī)格書
- 5.86 MB | 8次下載 | 免費
- 6NS1081/NS1081S/NS1081Q USB 3.0閃存數(shù)據(jù)手冊
- 0.40 MB | 4次下載 | 2 積分
- 7PID控制算法學(xué)習(xí)筆記資料
- 3.43 MB | 3次下載 | 2 積分
- 8光伏并網(wǎng)逆變器原理
- 7.31 MB | 3次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935132次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191415次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183349次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81599次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73818次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65990次下載 | 10 積分
評論