Watmonitor - PHP aplikácia hladinomera
Prehľad
Ponúkam kópiu mnou navrhnutej webaplikácie Watmonitor - hladinomer pre záznam a vizualizáciu hladiny vody. Rozhranie umožňuje prijímať dáta od senzorového uzla (podpora open-source platforiem Arduino, ESP32, ESP8266), možno použiť aj industriálne riešenia. Senzor musí posielať rozdielovú, alebo celkovú výšku hladiny vody. Primárne navrhnuté pre vizualizáciu výšky hladiny vody v studni, nádrži. Možno použiť aj na monitorovanie hladín riek, či výšku sypkých materiálov.
Webové rozhranie je univerzálne a umožňuje vizualizuje dáta v hlavnom prehľade v reálnom čase, kde používateľ vidí poslednú známu výšku hladiny, objem vody v studni.
Rozhranie vizualizuje aj maximálne, minimálne hodnoty hladiny vody za časové obdobia 24 hodín, 7 dní a 30 dní skrz Gauge grafy. ApexCharts vizualizujú kompletnú históriu hladiny vody až rok spätne s možnosťou exportovania grafu, alebo jeho výseku vo formáte .csv, .svg. pre ďalšiu analýzu, vizualizáciu (MATLAB, Excel, Word).
Inštrukcie
Pre spustenie projektu budete potrebovať webserver Apache / NGINX, prípadne HTTPD v závislosti od operačného systému servera. Môžete hostovať lokálne, alebo na freehostingu, či platenom hostingu.
K webaplikáciij e dodávaný dokument, ktorý krok po kroku ukazuje ako projekt nastaviť na hosting, ako vytvoriť databázu a importovať štruktúru tabuľky.
Súčasťou aplikácie je aj QR skener, ktorým môžete naskenovať preddefinovaný QR kód pre získanie posledných dát senzora. Vhodné aj pre rozsiahle inštalácie, kedy je konkrétnemu webovému rozhraniu priradený určitý QR kód. Používateľ tak získa aktuálne dáta o hladine vody, objeme vody, názve studne bez potreby otvárania správneho webového rozhrania Watmonitora.
Pre ESP32 je priamo vo webaplikácii generovaný zdrojový kód, ktorý môžete rovno použiť. Automaticky nastaví hosta, hĺbku priečinku, aj token, ktorý autorizuje kontróler pre zápis dát do Watmonitora. Podpora HTTP i HTTPS protokolu pre prenos dát.

O predajcovi
Vítam Vás na mojom profile. Ponúkam služby z oblasti open-source hardvéru a IoT formou vlastných zariadení, firmvéru a softvéru. Ponúkam aj možnosťou programovania firmvéru priamo pre Vás namieru. Zameriavam sa najmä na mikrokontroléry ESP32, s ktorými dlhodobo pracujem, Arduino (AVR ATmega), ATtiny.
Inzeráty od Your-IoT
:no_upscale():quality(90)/4d/44/664d4453e0f3c384bdfd8d675870439812adeb3a.jpg)
Postman API testing / kolekcia
Vyskúšam API vášho webu skrz testovací nástroj Postman. Viem urobiť aj kolekciu s viacerými requestmi, metódami, ktoré budú mať prednastavené premenné, napr. host, token a pod., čím bude kolekcia plne prenositeľná aj v prípade migrácie na inú doménu.
Mám skúsenosť s implementáciou podobných metód pre rôzne IoT služby ako Thingsboard, ThingSpeak, AWS IoT Core a iné, aj custom aplikácie založené na PHP.
Testovanie API môže prebiehať formou manuálneho testovania na základe dodaného dokumentu typu QA, na ktorý vypracujem report z testovania.
Prostredníctvom Postmanu je možné merať aj čas vykonania requestu, či iné. Okrem Postmanu môžem testovať webaplikáciu aj fyzicky skrz počítač s nahrávaním testovania skrz OBS, či skrz smartfón, možno testovať aj responzivitu. Záleží na dohode.
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
:no_upscale():quality(90)/4d/44/664d4453e0f3c384bdfd8d675870439812adeb3a.jpg)
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
Postman API testing / kolekcia
:no_upscale():quality(90)/e8/22/56e8229e382ec184dd587c0c6f00c61f52ac334d.jpg)
Escape room - Číslicová hra
Číslicová hra vhodná pre Escape room. Cieľom hráča je uhádnuť 4-číselnú kombináciu v rozsahu 0000 až 9999, pričom tá nemá opakujúce sa čísla. Z toho dôvodu existuje celkom 5040 možných kombinácii správneho číselného reťazca.
Prevázkovateľ hry číslo nastavuje do Arduina cez sériovú linku. Číslo je následne uložené do EEPROM pamäte Arduina a automaticky sa používa pri prevádzke. Rovnako tak môže prevádzkovateľ nastaviť, či tu existuje aj počet pokusov. Ak je počet pokusov prekročený, hra sa zastaví a zablokuje používateľský vstup. Buzzer bude oznamovať koniec hry. Rovnako tak je možné zapnúť aj nápovedu hráčovi, ktorá mu oznámi, či trafil číslo, alebo aj pozíciu, alebo netrafil číslo.
Hráč nastavuje číselnú kombináciu skrz 5 tlačidiel a vidí aktuálne nastavené hodnoty hľadaného čísla na displeji, pričom každé z 4 tlačidiel inkrementuje číslo na danej pozícii 0 až 9 a piate tlačidlo slúži ako enter pre potvrdenie vstupu.
Možno použiť jedno GPIO na výstup.
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
:no_upscale():quality(90)/e8/22/56e8229e382ec184dd587c0c6f00c61f52ac334d.jpg)
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
Escape room - Číslicová hra
:no_upscale():quality(90)/b2/ea/80b2ea64b724dc4b5163b058879883cf417526f8.jpg)
NFC NDEF záznamy na mieru
Vytvorím tag profil s NFC NDEF záznamami podľa vašich požiadaviek. Profil bude kompatibilný pre NFC tagy (NTAG, MiFare 1K). Medzi najčastejšie aplikácie môžeme zaradiť následovné, ktoré sa spustia okamžite po naskenovaní NFC tagu smartfónom:
Typ použitého tagu limituje počet bajtov, ktoré je možné zapísať.
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
:no_upscale():quality(90)/b2/ea/80b2ea64b724dc4b5163b058879883cf417526f8.jpg)
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
NFC NDEF záznamy na mieru
:no_upscale():quality(90)/ac/68/eaac68e6c65ad25e4b04dcfd70c9748f24d9fd99.jpg)
Naprogramujem Arduino ESP8266 ESP32
Naprogramujem aplikáciu pre Arduino (AVR ATmega), ATtiny, ESP32, ESP8266 podľa zadania.
Programovú implementáciu viem vyhotoviť v Arduino Core paradigme, alebo C pre ESP-IDF framework v prípade ESP32 mikrokontroléru.
Mám skúsenosť s aplikáciami typu klient-server, pričom mikrokontróler môže fungovať ako klient alebo aj ako server. Realizoval som rôzne projekty na tejto architektúre (senzorové uzly, termostaty a iné). Iné protokoly ako UDP, MQTT(S).
Pre ESP32, ESP8266 možnosť používania ULP, OTA režimov. Pre ESP32 FreeRTOS implementácie s blokovacími mechanizmami taskov a inter-task komunikáciou napr. cez Queues. Skúsenosť s WiFi, Bluetooth Classic, BLE, Ethernet cez SPI a PHY Ethernet cez RMII rozhranie.
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
:no_upscale():quality(90)/ac/68/eaac68e6c65ad25e4b04dcfd70c9748f24d9fd99.jpg)
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
Naprogramujem Arduino ESP8266 ESP32
:no_upscale():quality(90)/05/36/4d0536eb3cae0f352c3f90a5ddc70c0340a19450.jpg)
MATLAB script
Vytvorím script v prostredí MATLAB podľa požadovanej funkcionality. Programovanie v MATLABE / Octave (Cloud). Matematické úlohy, zadania, praktické úlohy. Možné externé vstupy dát cez .dat / .csv. Možnosť importovania obrázkov, ak sa ich úloha týka a pod. Výpis štandardne do figure atď.
Cena je hodinová (prípadne za ľahké zadanie), teda je vhodné objednať až po dohode s cenou.
Simulink programovanie nerobím, ani nič s animáciami, 3D.
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
:no_upscale():quality(90)/05/36/4d0536eb3cae0f352c3f90a5ddc70c0340a19450.jpg)
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
MATLAB script

Program pre ESP32 + Google Script + Google Spreadsheet
Vytvorím program v Arduino Core (.ino) pre ESP32 mikrokontróler, ktorý bude merať veličiny podľa zadania a odosielať ich v pravidelnom intervale na Google Script, ktorý ich zapíše do Google Spreadsheet dokumentu (Tabuľky).
Vzhľadom na použitý protokol je možné použiť rôzne prenosové technológie podľa vašej požiadavky:
V prípade HTTP protokolu je nutné použiť HTTP PROXY, t.j. PHP script, ktorý musí byť hostovaný na hostingu, alebo freehostingu, ktorý dáta cez CURL odošle po HTTPS na Google script.
Google script vykoná zápis do dokumentu Google Spreadsheet do príslušného riadka, kde sú dáta rozlíšené v jednotlivých stĺpcoch. Ak má používateľ otvorený Google Spreadsheet v prehliadači, môže vidieť zápis dát s dynamickým updatom (real-time). Používateľ môže pridávať aj grafy priamo v dokumente.
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)

:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)