Anonymní profil Martin – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Martin – Programujte.comAnonymní profil Martin – Programujte.com

 

Příspěvky odeslané z IP adresy 95.103.96.–

Martin
Inzerce › Ultrazvukový hladinomer do s…
6. 8. 2022   #390330

Ponúkam mnou naprogramovanú webaplikáciu pre projekt Hladinomer. Webaplikácia umožňuje zaznamenávať údaje o výške hladiny vody v kopanej studni zo senzorového uzla. Ten v pravidelných intervaloch (5 min) vykonáva 10 priemerovaných meraní ultrazvukovým senzorom a výsledný údaj posiela serveru. Údaje sú vizualizované používateľovi vo webovom rozhraní v dashboarde, či historicky v čase v grafoch, tabuľkách až rok spätne.
 

Připojen obrázek.

Princíp merania ultrazvukových senzorov je vyslanie signálu Trigger s dĺžkou 10 μs (mikrosekúnd), ktorý sa od hladiny vody odrazí a vráti sa do prijímača - Echo. Využíva sa metóda Time-of-Flight pre prepočet času medzi vyslaním a prijatím signálu na získanie rozdielovej výšku hladiny vody od senzora. 

Po odoslaní dát do webového rozhrania sa vykoná korekcia, kedy sa vypočíta reálna výška hladiny od dna studne, ktorá je zapísaná do databázy. Korekcia sa vykoná na základe známej hĺbky studne a prijatej rozdielovej výšky hladiny vody z ultrazvukového senzora. Webové rozhranie v dashboarde vizualizuje aj aktuálny objem studne v litroch na základe známeho priemeru studne. Obe hodnoty sú vizualizované aj s tendenciou od predchádzajúceho merania t.j. stúpa, klesá, ustálená o XY cm / o XY litrov.

Připojen obrázek.


Ultrazvukové senzory SÚ vhodné do:

  • Kopaných studní
  • Septikov a žúmp
  • Potokov a jazier
  • Plastových nádrží na dažďovú vodu
  • Silá (meranie naplnenia sypkými materiálmi)
  • Kontajnery (monitoring odpadu, naplnenia zbernej nádoby)
  • Kotolne (monitoring zásoby dreva, peliet, uhlia, štiepky)

Ultrazvukové senzory NIE SÚ vhodné do:

  • Vŕtaných studní (z dôvodu detekčnej charakteristiky - široký lúč) 
  • Potrubí a rúr (z dôvodu detekčnej charakteristiky - široký lúč) 
  • Do studní so spádovým prítokom (rozbúrená hladina utlmí ultrazvuk, meranie je nemožné) 
  • Do miest s náhlou zmenou teplôt (teplota ovplyvňuje čas šírenia zvuku, teda aj stacionárna hladina sa javí ako kolísavá)
  • Do vákuových nádrží (meranie je nemožné)

Projekt využíva ultrazvukový senzor vzdialenosti HC-SR04 - (detekčný uhol 15°), prípadne vodotestný senzor JSN-SR04T (detekčný uhol je až 60°). 
 

Připojen obrázek.

Možno využiť aj iné ultrazvukové senzory so signálmi Trigger / Echo z rady RCW, US-XXX, IOE-SR0X, SR0X, HC-SR0X, HY-SRF0X, DYP-MEXXX, Parallax PING)))™. Detekčný uhol reprezentuje šírku lúča, resp. kužeľa, ktorý sa so vzdialenosťou rozširuje. Merať je možné výšku hladiny až do 400 resp. 450 cm max (na základe údajov z katalógového listu jednotlivých senzorov).

Připojen obrázek.

Pre senzorový uzol je možné použiť vývojovú dosku Arduino (Uno / Mega) s Ethernet modulom Wiznet W5100 alebo W5500, prípadne jeho novšiu verziu USR-ES1 (W5500 V2). Pre prenos dát vzduchom je možné použiť WiFi mikrokontroléry od Espressif Systems - ESP8266 (NodeMCU, Wemos D1 Mini, Generic Board), alebo ESP32 (Devkit, prípadne samostatný modul napr. ESP32-WROOM-32 / ESP32-S). Schéma zapojenia pre všetky mikrokontroléry je dostupná priamo vo webaplikácii spolu so zdrojovými kódmi v jazyku Wiring (.ino app), resp. pre ESP32 dostupná aj implementácia vo frameworku ESP-IDF s operačným systémom reálneho času - FreeRTOS s mechanizmom blokovania úloh Queue. Webové rozhranie pre hladinomer dokáže automaticky vygenerovať zdrojový kód pre mikrokontroléry na základe umiestnenia projektu, domény a pod (nutná úprava Root CA certifikátu, ktorý vydal certifikát pre danú doménu).

Mikrokontrolérové platformy ESP8266 a ESP32 (Wiring implementácie) je možné prevádzkovať aj v režime ULP (Ultra-Low Power), ktorý dramaticky zníži ich spotrebu na úroveň desiatok mikroampérov. Vhodné pre prevádzku na batériu aj niekoľko rokov (nutné použiť aj tranzistor pre spínanie napájania pre senzor, vyžaduje úpravu zdrojového kódu).

Připojen obrázek.

Druhým prevádzkovým režimom je StandBy, kedy platforma beží v štandardnom režime a môže byť rozšírená o implementáciu Over The Air (OTA), ktorá ponúka aktualizáciu firmvéru prostredníctvom LAN siete priamo z rozhrania ArduinoIDE, využíva sa espota.py pre upload process. Arduino s Ethernetom podporuje iba HTTP konektivitu a nepodporuje OTA aktualizáciu, ani režim Low-power (Režim hlbokého spánku)! Pre platformy ESP8266 a ESP32 je možné využiť HTTP i HTTPS šifrované spojenie s webserverom. ESP32 je možné využiť v StandBy implementácii v Arduino Core (Wiring) aj s PHY Ethernet modulom LAN8720 skrz rozhranie RMII.

V prípade, že nie je na danom mieste dostupný pevný internet, je možné využiť aj prenos dát cez IoT sieť Sigfox, ktorá pokrýva 90% Slovenska a aj väčšinou štátov EÚ a je tak vhodnou alternatívou pre oblasti bez pokrytia internetom. Kompatibilný je UART modem SIGFOX WISOL 868MHz (SFM10R1), ktorý komunikuje s mikrokontrolérom cez AT príkazy cez UART. 

Připojen obrázek.

Modem je vhodný pre IoT aplikácie s nízkym prúdovým odmerom. Limit správy 12B (používajú sa 4B pre výšku hladiny vody UINT_32), custom callback zo Sigfox backendu vykonáva HTTP / HTTPS POST request pre zápis dát do webového rozhrania. Nakoľko má sieť Sigfox obmedzený počet správ za deň (140), meranie a odosielanie dát sa vykonáva každých 11 minút. V prípade licencie na 140 správ je možné využiť aj iné - systémové dáta pre prenos napríklad GPS súradnice zo systému Sigfox ATLAS (nutné upraviť súbor pre zápis do databázy, + zmena polí tabuľky).

Pre prevádzku projektu je nutné vlastniť webserver s podporou Apache/Nginx (pre .php scripty) na verejnej IP adrese, alebo v LAN sieti, kam daná platforma odosiela dáta z ultrazvukového senzora. POZOR, v prípade Sigfox prevádzky musí byť server dosiahnuteľný z internetu, inak nie je možné zapísať dáta! Na webserveri beží aplikácia, ktorá používateľovi vizualizuje v dynamickom prehľade posledné údaje s indikátorom konektivity mikrokontroléra. 

Připojen obrázek.

Web rozhranie obsahuje aj záznam rekordov - maximálna, minimálna hodnota hladiny vody za 24 hodín, 7 dní, 30 dní. Tieto údaje sú vizualizované v budíkovej reprezentácii. Maximá a minimá indikujú priebežnú výdatnosť studne. 

Webaplikácia má aj rôzne konfigurovateľné údaje, ktoré sú potrebné pre správne určenie výšky hladiny vody - hĺbka studne po dno (slúži ako kalibračná hodnota pre merania). Ultrazvukový senzor vracia výšku hladiny vody od vrchu studne, nie od dna.

Preto sa touto kalibračnou hodnotou odčítava meranie, aby sa zistila skutočná výška hladiny vody od dna. Druhým meniteľným parametrom je priemer studne. Nastavenie priemeru studne je dôležité pre prepočet výšky hladiny na litre  bojem studne. Podstránka nastavenia obsahuje aj odhad maximálnej hĺbky studne pri danom priemere pre čo najpresnejšie merania bez odrazov - zohľadňuje detekčnú charakteristiku senzora.

Tento odhad maximálnej hĺbky studne sa realizuje trigonometriou a umožňuje používateľovi lepšie vybrať senzor pre jeho požiadavky vzhľadom na rozmery jeho studne.

Dáta sú do webového rozhrania odosielané po HTTP / HTTPS protokole s POST payloadom. Mikrokontróler je autentizovaný cez parameter v POST requeste. Akcie vo webovom rozhraní (zmazanie záznamu, konfigurácia nastavení, zobrazenie zdrojového kódu pre mikrokontróler) sú za loginom cez HTTP Auth Basic - menom a heslom (odporúča sa používať web rozhranie pod HTTPS).

Projekt je vhodný aj pre laikov, pre implementáciu webového rozhrania je dostupný .pdf dokument s inštruktážou, ktorý krok po kroku vysvetľuje nastavenie a spustenie projektu na webhosting / lokálny webserver.
Projekt je možné vopred vyskúšať s vašim hardvérom na testovacom webovom rozhraní (odkaz zašlem v správe). Posledné prepočítané namerané údaje z webového rozhrania je možné prenášať na MQTT Broker (s iným mikrokontrolérom, ktorý funguje ako JSON klient - programové implementácie sú dostupné). Tieto dáta sú na .php podstránke distribuované v JSON formáte. Možno integrovať do vlastnej automatizácie (Domoticz, Hassio, Loxone a pod.) a vizualizovať dáta z hladinomera aj v inej vizualizácii, napr. Grafana. Možné následne vytvoriť vlastné automatizácie pre polievanie záhrady, zavlažovanie a pod. na základe údajov o výške hladiny vody.

Připojen obrázek.

Na vyžiadanie možno vyskúšať vopred webaplikáciu s plnou funkcionalitou (okrem HTTP Auth na podstránkach nastavení a zobrazenia zdrojového kódu) s vašim hardvérom. Dodávam výhradne softvérové riešenie. Hardvér, ani jeho montáž neponúkam!

Připojen obrázek.


Iné typy senzorov pre záznam výšky hladiny vody, ktoré je možné integrovať (nutné vytvoriť vlastný firmvér):

  • Laserové (LiDAR)
  • Hydrostatické (ponorné)
  • Elektrostatické (kapacitné / indukčné)
  • Tlakové (diferenčné / s kompenzačným senzorom atmosférického tlaku)
  • Optické
  • Mechanické (plavák)
  • Magnetické (Hall)
  • Mikrovlnné (radarové)
  • Ultrazvukové - iný typ výstupu (UART, RS-232, prúdová slučka 4-20 mA, Modbus TCP / RTU, M-bus, RS-485, PROFINET, CAN...)
  • Poznámka: Ak sa vykonáva prepočet výšky hladiny vody od dna na strane mikrokontroléra, je nutné na webovom rozhraní nastaviť hĺbku studne na 0 cm.

Webové rozhranie je dostupné v slovenskom, nemeckom, ruskom a anglickom jazyku. Slovenský jazyk je predvolený.

Cena je pevná, 50€ za zdrojové kódy webového rozhrania.

Viac informácii o projekte s možnosťou vyskúšania projektu zdarma s Vašim hardvérom nájdete na: https://martinius96.github.io/hladinomer-studna-scripty/

Do projektu je možné integrovať cez vhodne nastavený callback aj komerčne predávaný hardvér s podporou LPWAN IoT sietí NB-IoT / LoRaWAN / Sigfox:

  • WSSFC-ULC
  • HummBox
  • EM500
  • MiniUni

Ukážkové DEMO webaplikácie: https://www.youtube.com/watch?…

Martin
Inzerce › RFID DOMINATOR - stopky pre…
6. 8. 2022   #390329

Ponúkam SOFTVÉR - mnou vytvorený firmvér pre stopky RFID DOMINATOR. Firmvér dodávam vo forme strojového kódu (.hex) pre mikrokontrolérovú architektúru ATmega328P s fixným vložením UID (identifikátorov) RFID kariet do flash pamäte - PROGMEM. Program je kompatibilný pre Arduino Uno, Nano, alebo pro Mini. Prípadne je možné použiť aj samostatný čip ATmega328P s externým 16 MHz rezonátorom.

Popis projektu RFID DOMINATOR pre Airsoft:
DOMINATOR (Domination Timer) je zariadenie (stopky) navrhnuté pre 2 tímy, ktoré proti sebe hrajú a snažia sa o obsadenie bodu a jeho udržanie po čo najdlhšiu dobu. Stopky sú vhodné pre Airsoft / Paintball herný mód DOMINATION, resp. Capture Hill. 

Pozostávajú z mikrokontroléra ATmega328P (AVR), ktorý môže byť súčasťou vývojového kitu Arduino (Uno / Nano / Pro Mini). Pre vizualizáciu časov sa využíva LCD znakový displej (rozmer 16x2 alebo 20x4). Časy sú vypísané v dvoch riadkoch pod sebou a sú dynamicky aktualizované v prípade, že je na bode aktívny tím (bod obsadený niektorým tímom). Stopky sú vybavené indikačnými LED diódami vo farbách tímov, ktoré signalizujú aktívny tím na bode a hlásičom, ktorý oznamuje priloženie karty (zmena na bode). 

Připojen obrázek.

Do hry sú implementované tímy - RED tím a GRE tím, ktoré proti sebe hrajú a snažia sa o obsadenie bodu a jeho následné udržanie po čo najdlhší čas. Na začiatku hry sú na displeji vypísané časy 00 hodín, 00 minút, 00 sekúnd pre RED tím, GRE tím. Každý z členov tímu je vybavený RFID čipom, ktorý je integrovaný v náramku (alebo v karte / kľúčenke). RFID čip vysiela svoj jedinečný identifikátor - UID (unique ID), ktorý je načítaný RFID čítačkou a overený v logike systému ku ktorej entite (tímu) patrí. 

Jednotlivé náramky môžu byť farebne odlíšené (červené, zelené podľa tímu a funkcie entity), čo umožňuje ich rýchlejšiu distribúciu hráčom, ale aj ich archiváciu a uskladnenie podľa farieb. Tím RED obsadí bod v momente, keď člen tímu RED priloží svoju kartu k RFID čítačke. Táto akcia spustí buzzer, ktorý ohlási zmenu na bode krátkym pípnutím. Následne sa rozsvieti LED dióda tímu RED na tomto stanovišti a na displeji sa začne pripočítavať čas pre tento tím do momentu priloženia karty člena tímu GRE, Rozhodcu, alebo Erasera. 

V prípade, že bod obsadí hráč tímu GRE a priloží kartu k RFID čítačke, túto zmenu ohlási buzzer krátkym pípnutím, rozsvieti sa LED dióda tímu GRE (LED dióda tímu RED zhasne), aktuálny čas tímu RED sa zastaví a počíta sa čas tímu GRE, ktorý bod obsadil.

Připojen obrázek.

Ak svoju RFID kartu priloží Rozhodca, bežiaci čas sa zastaví na aktuálnej hodnote. Bod sa stáva neutrálnym, LED dióda aktívneho tímu zhasne. Zastavenie času trvá do momentu, kým priloží svoju kartu člen tímu RED, alebo tímu GRE. 

Tento typ karty je tak vhodný pre dočasné zastavenie prebiehajúcej hry, kontrolu zásahu hráča, či zranenia. Zároveň môže byť karta použitá pri ukončení kola hry, pre vyhodnotenie kola, respawn tímov pred pokračovaním. Ak kartu priloží Eraser, oba časy sa zastavia a zároveň sa vynulujú na počiatočnú hodnotu 00 hodín, 00 minút, 00 sekúnd, ktorá sa vypíše na displej. 

Karta Eraser slúži pre reštart hry, inicializáciu novej hry bez nutnosti power-on cyklu zariadenia. RFID čítačka reaguje na priloženie RFID karty okamžite vrátane celej logiky projektu Dominator. Projekt je vhodný pre Airsoft akcie, športové areály, čí Airsoft tímy, ktoré si môžu zariadenie Dominator zostrojiť s vlastným hardvérom. Firmvér je univerzálny, ktorý vychádza zo schémy zapojenia, možno využiť aj dostupný DPS návrh pre výrobu dosky plošných spojov. 

Připojen obrázek.


Výhodou projektu RFID DOMINATOR je, že licencia používania oprávňuje používateľa klonovať a vytvoriť si X DOMINATOR bodov s totožnou konfiguráciou prostredníctvom strojového kódu. Do hry je tak možné umiestniť ľubovoľný počet nezávisle na sebe fungujúcich RFID DOMINATOR bodov, ktoré reagujú na totožné RFID karty podľa jednotnej konfigurácie. Systém RFID Dominator je vyladený, je ho možné okamžite nasadiť do hry. Nahrávanie firmvéru trvá do 10 sekúnd cez XLoader.

Připojen obrázek.


Cena 30€ je za maximálne 24x RFID kariet, pričom sú priradené v následovnej konfigurácii:

  • 10x RED tím
  • 10x GRE tím
  • 2x Rozhodca
  • 2x Eraser. 

Pri dohode možno rozšíriť počet hráčov, možná implementácia verzie aj pre 4 tímy na vyžiadanie (cena individuálna).

UID - identifikátory vašich RFID kariet je potrebné dodať v .xls formáte. Sketch pre záznam UID jednotlivých RFID kariet je dostupný na stránke projektu (na konci inzerátu). Na stránke je aj šablóna pre zápis UID jednotlivých kariet hierarchicky do tímov na Google Tabuľkách.

Připojen obrázek.


Kompatibilný firmvér RFID čítačky NXP RC522:

  • 0x12 - counterfeit (neoriginálny čip)
  • 0x91 - V1.0
  • 0x92 - V2.0

Okamžitá potreba stopiek 50 až 70 mA pri 5V napájaní. Vhodné napájať napr. z powerbanky, či z 9V batérie. Vhodné aj pre niekoľko hodinové až denné akcie.

Projekt je možné vopred vyskúšať zdarma v testovacej verzii - Shareware, ktorá je dostupná vo forme strojového kódu. Verzia umožňuje použiť 4 ľubovoľné RFID karty, pričom každá z kariet je priradená jednej entite. Maximálne je možné merať čas pre každý tím s dĺžkou 15 sekúnd. Slúži primárne pre overenie kompatibility s vašim hardvérom.

Hardvér, ani jeho montáž neponúkam!
Kontakt: martinius96@gmail.com

Schému zapojenia, testovací firmvér, súpis kompatibilného hardvéru nájdete na stránke projektu: https://martinius96.github.io/Airsoft-DOMINATOR-RFID/

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý