Nëse po pyesni veten se çfarë dreqin është upyOS në bota e mikrokontrolluesveNuk jeni vetëm: kjo pyetje shpesh ngatërrohet me UPS (furnizim me energji të pandërprerë). Këtu do të gjeni një shpjegim të qartë se çfarë është upyOS, si përshtatet në projektet tuaja të integruara dhe, meqenëse konfuzioni është i zakonshëm, një udhëzues praktik se si ta përdorni atë. furnizim me energji të pandërprerë për pllaka të tilla si ESP32, STM32 ose Arduino, me rekomandime reale të nxjerra nga përvojat e përbashkëta.
Ideja është e dyfishtë: së pari, kuptoni aspektin "softuerik" që ofron upyOS, dhe së dyti, mos e neglizhoni aspektin "elektrik", sepse një kohë e mirë ekzekutimi është e padobishme nëse sistemet tuaja fiken gjatë një ndërprerjeje të energjisë. Gjatë gjithë artikullit, do të shihni Karakteristikat, arkitektura, përdorimet dhe këshilla për vendosjen e upyOSPërveç kësaj, ne përfshijmë një blog të plotë mbi sistemet UPS, duke përfshirë llojet, avantazhet dhe një recetë për konfigurimin e një kopje rezervë me një bateri 18650 dhe modul karikimi për të mbajtur pajisjet tuaja të sigurta.
Çfarë është upyOS për mikrokontrolluesit?
Termi upyOS përdoret shpesh për t'iu referuar një shtresë e lehtë e "sistemit operativ" sipër MicroPython (porti Python i destinuar për mikrokontrollues), dhe nganjëherë krahasohet me alternativa të tilla si Shpinë, të cilat ndjekin qasje të ndryshme; të cilat organizojnë ekzekutimin e detyrave, kohëmatësve, drajverëve dhe burimeve të sistemit në një mënyrë të përshtatshme dhe të qëndrueshme. Nuk është një sistem operativ monolit në stilin e desktopit; mendoni për upyOS si një Koha e ekzekutimit e strukturuar që shton shërbime sistemi në mjedisin MicroPython për t'i bërë aplikacionet tuaja IoT dhe të ngulitura më të mirëmbajtura.
Në praktikë, upyOS ofron shërbime për planifikimi i detyrave (bashkëpunues), trajtimi i ngjarjeve, kohëmatësit, abstraksionet periferike dhe shërbimet e inicializimit (nisja e shërbimeve në nisje, rendi i ngarkimit, etj.). Mbi të gjitha, synon të sigurojë që zhvilluesi të mos ketë nevojë të luftojë me ngjitësin e nivelit të ulët në secilin projekt dhe të mund ta ripërdorë komponentët e sistemit (rrjeti, ruajtja e të dhënave, sensorët) në mënyrë të qëndrueshme në të gjitha platformat.
Një avantazh i rëndësishëm për ekipet e vogla është se upyOS shmang rishpikjen e rrotës: përcakton konventat (vendndodhjet e skedarëve, modulet kryesore/boot, të shërbimit) dhe ofron shërbime për menaxhimi i ciklit jetësor të aplikimit në pajisje me burime të kufizuaraShtresa e bën më të lehtë ruajtjen e rendit në projekte me memorie dhe CPU të kufizuar.
Është gjithashtu e zakonshme të përfshihen integrimet tipike të përditshme: lidhja WiFi/Ethernet, klientë dhe serverë të thjeshtë (HTTP/MQTT), regjistrimi i regjistritdhe shërbimet e përditësimit OTA kur bordi e lejon. Kështu, baza e projektit përqendrohet në logjikën e biznesit dhe "Sistemi" është vendosur nga upyOS.
Arkitektura dhe Komponentët e upyOS
Në një nivel të lartë, mund ta imagjinoni upyOS të ndarë në modulet e sistemit që fillojnë me radhë dhe ekspozojnë API të thjeshta. Edhe pse detajet e sakta ndryshojnë në varësi të implementimit, zakonisht do të gjeni pjesë si:
- Planifikues/Detyrënjë lak kryesor me mikro-detyra bashkëpunuese, kohëmatës dhe thirrje mbrapsht, duke përfituar nga lehtësitë e MicroPython (dhe ndonjëherë uasyncio) për të shmangur bllokimet.
- Menaxhimi i pajisjesinicializimi i autobusëve (I2C, SPI, UART), GPIO, PWM dhe drejtuesit e sensorëve ose të aktuatorëve e zakonshme për ripërdorim në projekte të shumta.
- e kuqe: ndihmës për WiFi/Ethernet, DNS, socket-e dhe protokolle tipike (p.sh., MQTT për IoT) me rilidhje automatike dhe kredenciale të përhershme.
- Ruajtje: shërbimet e sistemit të skedarëve (LittleFS/FAT), struktura e dosjeve, regjistrat dhe parametrat, dhe ngarkesa e konfigurimit në fillim.
- Shërbimet në fillim: mekanizëm për të vendosur se cilat shërbime shfaqen në boot.py dhe si ekzekutimi lidhet zinxhir me main.py, me diagnoza minimale (p.sh. LED që ndizet nëse diçka dështon).
Kjo arkitekturë bazohet në MicroPython, që do të thotë se është i lëvizshëm midis familjeve të shumta e mikrokontrolluesve me porta të pjekura: ESP32, STM32, RP2040, ndër të tjera. Shtresa upyOS ndryshon nga një RTOS klasik (siç është FreeRTOS) në atë që favorizon thjeshtësinë dhe programimin në Python, duke sakrifikuar caktimin paraprak për caktimin bashkëpunues në shumë raste për të mbajtur konsumin dhe kompleksitetin të ulët.
Në aplikacionet tipike të IoT (telemetria, monitorimi mjedisor, automatizimi i dritës), kjo qasje është më se e mjaftueshme: kohë reale e vështirë Rrallë është e nevojshme, dhe shpejtësia e zhvillimit që sjell Python e kompenson më shumë se kaq.
Një tjetër shtyllë e zakonshme në upyOS është vëzhgueshmëriaNjë sistem regjistrimi me nivele (INFO, WARN, ERROR), pulla kohore të thjeshta dhe destinacione skedarësh/serialesh që ju lejojnë të analizoni incidentet pa përdorur mjete të rënda. Edhe më shumë nëse shtoni rilidhje automatike të rrjetit dhe radhë mesazhesh në memorie. toleroj prerjet të lidhjes së përkohshme.
Karakteristikat dhe Përfitimet Kryesore
Tërheqja e madhe është se upyOS sjell një bazë e zakonshme dhe e ripërdorshme Për projekte në borde të ndryshme: ju mbani të njëjtën strukturë shërbimi, konfigurim dhe nisje në secilën pajisje, me ndryshime minimale specifike për harduerin.
Ndër funksionet praktike më të kërkuara janë: nisje e rregullt (shërbimet e nisjes), rilidhje e rrjetit me ndërprerje, kohëmatës të qëndrueshëm për marrjen e mostrave/pajisjet periferike dhe grepa fikjeje (për t'i lënë pajisjet periferike në një gjendje të sigurt nëse sistemi shkon në gjumë ose riniset).
Në nivelin e prodhimit, përdorimi i MicroPython dhe një shtrese upyOS zvogëlon në mënyrë drastike koha e prototipimitModulet e rrjetit, sensorit dhe të persistencës janë tashmë në vend, kështu që ju e kaloni pjesën më të madhe të kohës tuaj në logjikë (p.sh., politika e dorëzimit të të dhënave ose automatizimi specifik i instalimit tuaj).
Një avantazh tjetër është lehtësia e zgjerimit: nëse përfshini një sensor të ri nëpërmjet I2C, ju nevojitet vetëm një drajver i vogël dhe e regjistroni atë në menaxher i pajisjesPjesa tjetër e sistemit (detyrat, regjistrat, rrjeti) as nuk e vëren, dhe ju vazhdoni të punoni me një API të qëndrueshëm.
Së fundmi, por jo më pak e rëndësishme, upyOS promovon praktikat e mira në pajisjet me burime të kufizuara: shmangni përplasjet, ndani detyrat, përdorni kohëmatës, shkruani regjistrat me kursim dhe konfigurim i vazhdueshëm në skedarë në vend që të përpilohen konstante të forta në kod.
Pajtueshmëria, instalimi dhe përdorimet praktike
Pajtueshmëria tipike e upyOS ndjek atë të MicroPython: ESP32, STM32, RP2040 dhe platforma të tjera me port aktiv. Në flotat heterogjene, kjo lëvizshmëri do të thotë që i njëjti aplikacion (ose një shumë i ngjashëm) mund të funksionojë në borde të shumta, siç është Shihni Studio XIAO pa e ribërë skeletin e sistemit.
Vendosja është zakonisht e thjeshtë: instaloni MicroPython në tabelën tuaj, kopjoni pemën e skedarëve (boot.py, main.py, dosjet e shërbimit dhe konfigurim) dhe rinisje. Nëse projekti përfshin një rrjet, upyOS zakonisht së pari mbledh kredencialet dhe, pasi të marrë IP-në, fillon shërbimet e varura (p.sh., MQTT ose HTTP), duke regjistruar atë që ndodhi në regjistër.
Në skenarë të jetës reale, këto modele përshtaten në mënyrë të përkryer në detyra të tilla si telemetria LoRa/WiFi, automatizimi i dritës së sensorë mjedisorë, kontroll releje, porta të thjeshta dhe nyje që dërgojnë të dhëna në cloud. Shumë zhvillues kanë provuar kombinime me ESP32-LoRa, ku grupi i sistemit (upyOS) menaxhon rrjetin, regjistrat dhe kohëmatësit, dhe kodi juaj vendos vetëm çfarë dhe kur botojë.
Këshillë praktike: Edhe me një runtime të rregullt si upyOS, mos harroni të planifikoni mbylljen e duhur të pajisjes në rast të ndërprerjeve të energjisë; këtu hyn në lojë energjia e pandërprerë, dhe më poshtë do t'ju tregojmë se si ta zgjidhni atë pa asnjë problem.

Nuk duhet ngatërruar me UPS: furnizim me energji i pandërprerë për mikrokontrolluesit tuaj.
“UPS” ose “SAI” (në anglisht, Furnizimi me energji i pandërprerë; në spanjisht, Furnizim me Energji të Pandërprerë) nuk është një sistem operativ, por një pajisje rezervë elektrike që i mban pajisjet tuaja aktive gjatë një ndërprerjeje ose anomalie të rrjetit. Kjo është thelbësore në skenarët e IoT, laboratorët ose vendosjet në distancë ku humbja e energjisë do të thoshte humbje të të dhënave ose rrëzime.
Si funksionon në përgjithësi: një UPS ka bateritë e brendshme që tarifohen ndërsa ka një rrjet, një ndreqës (kalon nga AC në DC për karikim), një investitor (konverton daljen DC të baterisë në AC) dhe një të vogël mikrokontrollues që zbulon ndërprerjen dhe ndërron në milisekonda. Disa modele gjithashtu stabilizojnë tensionin dhe filtrin harmonikat dhe majat.
Atje tre teknologji kryesore UPS që duhet të dallohen për të zgjedhur mirë sipas kritikave të pajisjeve të mbrojtura:
- Jashtë linje (bazë)Ata kalojnë në energjinë e baterisë kur zbulojnë një ndërprerje të energjisë. Ekonomik dhe efektiv për PC, sisteme bazë ose hobiKa një kohë të shkurtër ndërrimi, e pranueshme për shumicën e ngarkesave jo-kritike.
- Linja interaktive: si ai i mëparshmi, por me rregullator automatik i tensionit (AVR). Ato korrigjojnë ulje/ngritje të vogla pa e shkarkuar baterinë dhe ndërrohen më shpejt. Shumë të përshtatshme për routerë, NAS ose pajisje zyre.
- Në internet (konvertim i dyfishtë)Invertori gjithmonë furnizohet me energji nga bateria/DC, kështu që nuk ka dritare ndërrimiAto japin rezultatin më të "pastër" dhe më të qëndrueshëm për ngarkesa delikate (çelësa, lidhje, servera, instrumente). Ato janë më të shtrenjta dhe efikase me koston e kompleksitetit më të madh.
Përparësi praktike: një UPS jo vetëm që ju lejon të ruaj dhe fik në mënyrë të sigurt, mbron gjithashtu nga luhatjet, ndryshimet kalimtare dhe rëniet, duke zgjeruar jetëgjatësia e pajisjeve dhe duke ulur kostot e mirëmbajtjes. Për nyjet e integruara, kjo gjithashtu parandalon korruptimin e sistemit të skedarëve nëse një ndërprerje e energjisë kap pajisjen duke shkruar në flash.
Komponentët që duhen mbajtur mend kur zgjidhni një UPS ose projektoni një kopje rezervë të integruar: bateri (kapaciteti i tij përcakton autonominë), investitor (cilësia e valës dhe fuqia e daljes), ndreqës (kapaciteti mbajtës) dhe kontrolli i energjisë (kohët e transferimit dhe mbrojtjet).
Një shënim që shumë e anashkalojnë: ndërsa Arduino-t kanë tendencë të mos jenë shumë të kërkuara, ESP (ESP8266/ESP32) Ato kërkojnë maja të konsiderueshme të rrymës në WiFi/LoRa. Disa karikues celularë japin më pak rrymë nga sa pretendojnë në praktikë, dhe rezultati është rivendosje të rastësishmeGjithmonë kontrolloni me testime në botën reale përpara se të mbështeteni te etiketa.
Nëse punoni me rrjetin elektrik, mbani mend sigurinë: Tensionet e rrjetit duhet të trajtohen vetëm nga profesionistë të kualifikuarPër prototipet, një furnizim me energji laboratorike ose një UPS komercial e bën jetën shumë më të lehtë pa e ekspozuar veten ndaj rreziqeve të panevojshme.
Alternativë DIY ndaj një mikrokontrolluesi? Është relativisht e lehtë të ndërtosh një kopje rezervë të DC me një Bateri 18650 Li-ion dhe një modul karikimi/mbrojtjeje. Bateria karikohet nga një burim i qëndrueshëm 5V, kontrolluesi ndërpritet në kohë për të parandaluar mbingarkesë dhe shkarkim i thellë, dhe mikrofoni mbetet i ndezur gjatë prerjes.
Në ato module do të shihni pin-e të shënuara si BAT+ dhe BAT‑ për të lidhur qelizën dhe daljet në pllakën tuaj (5 V nëpërmjet USB ose 3,3 V i rregulluar, varësisht nga dizajni). Nëse lidhësi juaj USB është shumë "i trashë", nuk është e pazakontë të duhet të përkulem ose përshtatem me kujdes lidhjen fizike në kuvendet kompakte.
Një rrjedhë tipike e testimit të ndërrimit është të caktoni një ESP32 me LoRa dhe WiFi dhe të detyrojë një ndërprerje të energjisë për të verifikuar që sistemi nuk riniset dhe që upyOS vazhdon të ekzekutojë detyrat dhe të ridërgojë të dhënat kur rrjeti të kthehet. Kjo do t'ju japë besim para se të vendosni.
Këshilla për madhësinë: Mblidhni fuqinë (W) të ngarkesave tuaja dhe shtoni një diferencë prej 20-25%Nëse keni vlera në amper, shumëzojeni me tensionin (V) për të vlerësuar vatët. Zgjidhni kohën e funksionimit sipas rastit tuaj (minuta për t'u fikur pa probleme, ose më shumë nëse dëshironi). vazhdimësia operative i zgjatur).
Autonomia aktuale varet nga konsumi dhe cikli i punës; nëse përdorni bateri të brendshme, mbani mend se ato zakonisht zgjasin. 3-5 vjeç dhe këshillohet që UPS-i të testohet herë pas here (vetëtestim) për të shmangur surprizat. Disa rekomandojnë një shkarkim të kontrolluar periodik kur përdoret si një UPS i integruar. zmadhoni jetën dhe “lëvizin” kiminë e qelizës.
aplikimet dhe përfitimet e përmbledhura:
- Mbrojtja e të dhënaveParandalon dëmtimin e skedarëve dhe humbjen e telemetrisë; lejon mbylljen e pastër të proceseve.
- Cilësia e furnizimit: filtron luhatjet e larta, rregullon tensionin dhe zvogëlon zhurmën elektrike, duke përfshirë pajisjet e ndjeshme.
- KursimMë pak prishje, më pak mirëmbajtje, jetëgjatësi më e madhe e ruterëve, switch-ave, bordeve dhe pajisjeve periferike.
Sigurisht, ekzistojnë edhe UPS industriale me fuqi të lartë dhe performancë të lartë (> 93% efikasitet (në disa modele me shumë kilovat) për ngarkesa serioze. Për mikrokontrollues dhe elektronikë laboratorike, me një ndërveprues linje me madhësi të mirë ose një rezervë të vogël DC me një 18650 ju jeni shërbyer në shumicën e rasteve.
Detajet praktike të konfigurimit eksperimental: me burime modulare "mini PSU" mund të ndërtoni hyrjen tuaj AC nëse jeni profesional dhe i përmbushni kërkesat. terminale, izolim dhe boshllëqe ajri rezistente ndaj prekjesPër pjesën tjetër, një furnizim me energji laboratorike ose një UPS komercial me dalje USB/12 V është më i mirë, dhe kutia duhet të mbyllet pa u ekspozuar ndaj rrjetit elektrik.
Dhe një rekomandim i fundit: edhe nëse shihni që pjata juaj po "mbahet", e vlefshme nën ngarkesë reale (transmetimi WiFi, sensorë aktivë, shkrimi me flash). Shumë paqëndrueshmëri shfaqen vetëm në konsumin maksimal të energjisë, dhe pikërisht këtu një kopje rezervë me zgjidhje të mirë bën gjithë ndryshimin.
Duke pasur parasysh të gjitha sa më sipër, upyOS ju vendos në rregull në nivelin e softuerit (detyrat, shërbimet, rrjeti, regjistrat) dhe një kopje rezervë e UPS/DC ju mbron në nivelin elektrik; të kombinuara, ato e shndërrojnë një prototip të brishtë në një pajisje e besueshme Gati për të filluar pa asnjë problem: Planifikoni shërbimet tuaja me MicroPython, regjistroni çfarë ndodh, llogaritni saktë fuqinë dhe verifikoni me teste ndërrimi përpara se ta vendosni në terren.


