Obsah:

Build Machine Watcher: 9 kroků
Build Machine Watcher: 9 kroků

Video: Build Machine Watcher: 9 kroků

Video: Build Machine Watcher: 9 kroků
Video: The Ultimate Shadebinder build (9 bleak watchers) (Lightfall Edit: Check description) 2024, Červenec
Anonim
Build Machine Watcher
Build Machine Watcher
Build Machine Watcher
Build Machine Watcher

Výchozím bodem tohoto projektu byla práce na konkrétním projektu, jehož cílem bylo naučit se pár věcí o deskách mikrořadičů.

Počáteční myšlenkou bylo vytvořit fyzický objekt, který by mohl monitorovat systém kontinuální integrace (VSTS | Azure DevOps) a hlásit selhání sestavení softwaru. Z důvodu obav o bezpečnost z oddělení IT mi bylo zamítnuto připojení „nestandardního“zařízení přímo k podnikové síti.

Skončil jsem s architekturou zobrazenou na výše uvedeném obrázku. Pracovní postup provádění lze shrnout takto:

Desktopová aplikace pro Windows skenuje (táhne) definice sestavení VSTS. Analyzuje výsledky sestavení a poté odešle příkaz fyzickému zařízení, které provede malou animovanou sekvenci, než zobrazí červenou nebo zelenou vlajku.

Krok 1: Potřebné součásti

Následující seznam shrnuje všechny potřebné položky:

  • 1 Arduino UNO R3 (https://store.arduino.cc/usa/arduino-uno-rev3).
  • 1 Expension Shield (https://www.dfrobot.com/wiki/index.php/IO_Expansion_Shield_for_Arduino_V7_SKU:DFR0265).
  • 2 moduly XBee S1 (https://www.adafruit.com/product/128).
  • 1 dongle průzkumníka XBee (https://www.sparkfun.com/products/11697).
  • 2 nepřetržité servomotory 5VDC s upevňovacím příslušenstvím (https://www.parallax.com/sites/default/files/downloads/900-00008-Continuous-Rotation-Servo-Documentation-v2.2.pdf).
  • 1 9VDC napájecí zdroj.
  • 3 LED diody.
  • 3 odpory 220 Ohm.
  • termo zatahovací objímka.
  • 1 tlačítko.
  • Tahový odpor 10 KΩ pro vytažení.
  • 100nF kondenzátor.
  • elektrické dráty.
  • pásková deska (pro montáž tlačítka)
  • 5 mm dřevo (50 x 50 cm).
  • dřevěná tyč čtvercového průřezu 5x5 mm (1m).
  • lepenka.
  • 10 X šroub o průměru 2 mm.
  • 4 šrouby o průměru 5 mm.
  • silný magnet.
  • soustružnický modul. Znovu jsem použil vnitřní pohyblivou část blikajícího světla. můžete si dát co chcete. Budete se muset postarat o to, aby se 2 mobilní části mohly volně pohybovat, aniž by se dotýkaly.

Krok 2: Sestavení krabice

Budování boxu
Budování boxu

Ve skutečnosti můžete mít krabici jakéhokoli tvaru, který chcete. Hlavní věcí, na kterou je třeba před startem myslet, je, kde budou pohyblivé části, a zajistit, aby se mohly volně pohybovat, aniž by se dotýkaly. Dalším bodem je, kam zařízení umístíte? Skončil jsem s magnetem (silným), abych jej přilepil na jakoukoli kovovou podložku. pokud chcete vytvořit stejné pole, můžete postupovat podle pokynů v souboru box_drawings.pdf.

V takovém případě stačí rozříznout všechny různé kusy, udělat otvory pro servomotory, LED diody, tlačítko a šrouby a nakonec slepit všechny části dohromady. Jakmile je suchý, trochu pískování a trochu barvy.

Tyto dvě vlajky byly vyrobeny z červené a zelené lepenky. K upevnění vlajkového stožáru na servomotory můžete použít přiložené montážní díly.

Krok 3: Nastavení Arduina

Nastavení Arduina
Nastavení Arduina

Položky připojené k rozšiřující desce Arduino jsou:

  • PIN D2: tlačítko.
  • PIN D4: LED dioda signalizující, že je systém ZAPNUT.
  • PIN D5: LED dioda oznamující, že provádíme cyklus.
  • PIN D6: LED dioda oznamující, že zařízení přijalo novou zprávu.
  • PIN D9: PWM pulzní signál pro servomotor zpracovávající gyroskop.
  • D10 PIN: pulzní signál PWM pro servomotor zpracovávající vlajku.
  • Zásuvka XBee: jeden modul ZigBee.

Výše uvedené schéma ukazuje, jak jsou všechny položky připojeny k desce.

U LED diod je odpor a vodiče na něj přímo přivařeny (dbejte na polaritu). Vše je pak zabaleno do nějakého tepelně zatahovacího pouzdra.

U tlačítka jsou všechny části (tlačítko, rezistor a kondenzátor) přímo svařeny na malé satelitní desce. Pásová deska je poté přímo upevněna dvěma šrouby (2 mm)

Servomotory pracují s napájením 5 V, takže je lze připojit přímo k Arduinu. Pokud používáte ty s vyšším napětím (12V), budete muset přidat další vrstvu pro napájení.

U modulů XBee, jakmile jsou nakonfigurovány tak, aby spolu hovořily (viz další část), je lze zapojit přímo do zásuvek.

Poznámky: LED diody a tlačítko mohly být přímo připojeny k pinům Arduino, protože mohou interně implementovat potřebné cenné papíry. Jen jsem udělal starou cestu, protože tento aspekt pro mě nebyl příliš jasný.

Krok 4: Software - XCTU

Software - XCTU
Software - XCTU

Jak bylo uvedeno výše, dvě zařízení XBee musí být nakonfigurována tak, aby spolu mluvila. K tomu potřebujete speciální software X-CTU od DIGI. Tento krok konfigurace musíte provést pouze jednou. dodržujte prosím postup popsaný v souboru xbee_configuration.pdf.

Jakmile je konfigurace hotová, můžete připojit každý modul k jeho zásuvce. Jeden na převodníku USB/Serial a jeden na rozšiřující desce Arduino.

Převodník USB/Sériový by měl být automaticky rozpoznán systémem Windows 10. Pokud tomu tak není, budete možná muset ručně nainstalovat ovladač

Poznámka:

Použití modulů XBee k základní sériové komunikaci je trochu přehnané. V době, kdy jsem projekt zahájil, se mi nepodařilo najít jednoduchá zařízení pro sériovou komunikaci snadno použitelná v systému Windows 10 (problémy s ovladači). Byla to také příležitost dozvědět se pár věcí o

Krok 5: Software - Arduino Sketch

Software - Arduino Sketch
Software - Arduino Sketch

K programování Arduina používáme IDE přístupné z oficiálních webových stránek.

Logika programu je poměrně jednoduchá, pouze poslouchá na výchozím sériovém portu desky jednotlivá písmena („a“, „b“, …). Pokud přijatý znak odpovídá známému příkazu, pak dílčí funkce přehraje odpovídající sekvenci.

2 hlavní užitečné příkazy jsou animace úspěchu („a“) a chybová animace („b“).

Abyste si mohli s boxem trochu více zahrát (nebo odladit), lze provést několik dalších příkazů. Oni jsou:

  • ‘O’: vynutí zapnutí LED diody ON
  • „P“: vynutí zhasnutí LED diody ON
  • ‘Q’: vynutí zapnutí LED diody Nové zprávy
  • „R“: vynutí zhasnutí LED nové zprávy
  • ‘S’: vynutí zapnutí LED diody cyklu
  • „T“: vynutí zhasnutí LED diody cyklu
  • ‘U’: aktivujte servomotor gyra
  • „V“: aktivujte servomotor vlajky.

Kromě sériového příkazu existuje ještě dílčí rutina (handlePushButton), která se aktivuje stisknutím tlačítka na zařízení. V takovém případě se animace chyby nebo úspěchu přehraje automaticky. Tato funkce umožňuje zkontrolovat, zda bylo fyzické zařízení správně připojeno.

Kód skici Arduino je v jediném souboru bsldevice.ino. Můžete jej nahrát přímo pomocí IDE.

Krok 6: Software - desktopová aplikace

Software - desktopová aplikace
Software - desktopová aplikace

Účelem desktopové aplikace je monitorovat web Microsoft Azure DevOps (dříve VSTS) a zjistit, zda je definice sestavení úspěšná nebo chybná. Pokaždé, když je sestavení dokončeno, desktopová aplikace určí stav sestavení a odešle odpovídající příkaz („a“nebo „b“) na sériový port (COMx).

Po spuštění aplikace je první akcí výběr správného portu, ke kterému je připojen modul ZigBee. K určení portu můžete použít Správce zařízení Windows (v části Porty (část COM a LPT)). Připojení k Azure DevOps se provádí automaticky při spuštění pomocí přihlašovacích údajů aktuálního uživatele. Jakýkoli předdefinovaný příkaz můžete také odeslat ručně pomocí pole se seznamem vpravo.

Všechny zdroje byly generovány pomocí profesionální verze Visual Studio 2017. Vyžaduje. NET Framework 4.6.1. Tato verze Framework je vhodnější pro usnadnění připojení/autentizace k webu VSTS.

použít:

  • stáhněte si archiv bslwatcher_sources.zip.
  • Extrahujte jej na disk.
  • Podrobnosti o sestavení najdete v souboru how_to_build.txt.

Krok 7: První spuštění

Při zahájení boxu je třeba mít na paměti dvě hlavní věci:

1- Neexistuje žádný způsob, jak by systém sám poznal, kde jsou vlajky. Systém předpokládá, že při spuštění svítí zelená vlajka.

2- Při zapnutí desky Arduino by se nemělo nic hýbat. Protože jsme použili spojitá serva, je v souboru skici ve výchozím nastavení nulová poloha nastavena na 90. Pokud se servomotor začne otáčet nebo vydávat hluk. možná budete muset znovu definovat jeho nulovou polohu. K tomu stačí naladit potenciometr v malém otvoru na straně servomotoru.

www.arduino.cc/en/Reference/ServoWrite

cmra.rec.ri.cmu.edu/content/electronics/boe…

Krok 8: Závěr

Toto malé zařízení bude fyzicky hlásit stav vašeho systému průběžné integrace.

Jelikož je „inteligence“v desktopové aplikaci, můžete toto pole použít ke sledování jakéhokoli jiného softwaru nebo procesu (pošta, teplotní čidlo…). Stačí mít přístup k jinému API a rozhodnout se, co je „dobré“nebo co „špatné“. Pokud nepoužíváte konvenční barvy červené a zelené, můžete dokonce změnit význam „zprávy“.

Vylepšení je možné přinést i do samotného boxu:

  • Použijte baterii.
  • Použijte jiný komunikační protokol.
  • Přidejte senzory, abyste věděli, který příznak je nahoře.

Doufám, že vás tento projekt zaujal.

Děkuji, že jste dočetli až sem.

Krok 9: Příloha

Některé odkazy použité k vytvoření tohoto projektu:

Web Arduino:

Web DIGI:

Software XCTU:

Některé informace použité od ostatních:

arduino.stackexchange.com/questions/1321/se…

stackoverflow.com/questions/10399400/best-w…

www.mon-club-elec.fr/pmwiki_reference_ardui… (ve francouzštině)

jeromeabel.net/

Web MSDN obecně:

docs.microsoft.com/en-us/dotnet/framework/…

Doporučuje: