Web sivutyökalu ESP8266/NodeMCU

Viestiketju alueella 'Elektroniikka ja HW-modifiointi' , aloittaja Occurrence, 03.09.2019.

NOSTOJA MUROPAKETIN SISÄLLÖSTÄ
  1. Occurrence

    Rekisteröitynyt:
    23.06.2007
    Viestejä:
    693
    Pähkin, että mille palstalle tällainen kysymys pitäisi pistää... ja tässä mennään.

    Onko olemassa simppelejä mutta tehokkaita työkaluja web-sivun tekemiseen niin että sivut toimisi NodeMCU:lla ja niillä voisi ohjata rautaa?
    Tai edes niin että sen sivu rakenteen ja muotoilun voisi tehdä samaan tapaan kuin hyvällä ohjelmointi IDE:llä ja sitten lisätä koodin raudan ohjaamista varten?

    Tuntuu jotenkin alkeelliselta että pitäisi kirjoittaa Koodi ladattavaksi selaimeen, koodi millä tietoa siirretään selaimesta serverille ja koodi millä tuota tietoa ja eventtejä käsitellään. Voisi kuveitella että tänä päivänä tämän olisi joku osannut leipoa yhteen työkaluun.
     
  2. Grez

    Rekisteröitynyt:
    30.04.2001
    Viestejä:
    5 928
    Mitenköhän määritellään hyvä ohjelmointi-ide ?

    Jossain määrin hommaa rajoittaa tilantarve. Esim. joku Ruby-on-Rails asennus on kymmeniä megatavuja ja vaatii alleen käyttöjärjestelmän kuten Linux. ESP2866-kikkareissa taas tallennusmuistia on tyypillisesti se 0,5 - 4 Mt.

    Sinänsä järkeviä ratkaisuja voi jopa olla olemassa, tiedä häntä.
     
  3. arttupii

    Rekisteröitynyt:
    11.08.2019
    Viestejä:
    8
    Jos tekisin esp:llä pyörivän web-serverin, jolla ohjataisiin siihen kytkettyjä laitteita, tekisin sen seuraavasti.

    1. Määrittelisin laitteille rest-api rajapinnat ja tekisin niille tarvittavan toteutuksen esp:lle.
    http://192.168.0.10/api/setLed?value=true -->Asettaa ledin päälle
    http://192.168.0.10/api/setLed?value=false -->Sammuttaa ledin
    http://192.168.0.10/api/getTemp -->Palauttaa lämpötila-anturin arvon

    2. Asentaisin omalle koneelle web-serverin, jossa alkaisin kehittämään web-sivua esp:lle haluamallani editorilla.
    Web-sivu kutsuisi suoraan http://192.168.0.10/api rajapintaa esp:ltä --> mahdollistaa sivun kehittämisen ilman sivun siirtämistä esp:lle PC:llä (millä tahansa sopivalla editorilla)

    3. Kun web-sivu toimii halutunlaisesti, pakkaisin sen gzip:llä ja muuntaisin sen c:n h-tiedostoksi.
    gzip -9 index.html
    gxx -i index.html.gz > http_index.h

    4. Muokkaisin esp:llä pyörivän web-serverin käyttämään generoitua index_html.h tiedostoa...

    5. Valmis
     
  4. Occurrence

    Rekisteröitynyt:
    23.06.2007
    Viestejä:
    693
    Ajattelin jotain sellaista olisi työkalu jolla voisi helposti luoda websivun ja työkalu generoisi koodin minkä sen voisi sitten upottaa osaksi C++ koodia NodeMCU "serveriin".

    Esimerkiksi, jos voisi vaikka raahata nappeja ja tekstikenttiä näkymään. Määrittää niille atribuutit ym. ihan kuin vaikka VIsual C++:ssa tai wanhoissa Borland ympäristöissä. Sitten tuo kalu tekisi valmiit C++ rungot napin painamisella ja jos käyttäjä vaikka kirjoittaa kentään arvon.

    Työkalu siis voisi generoida vaikkapa JavaScriptiä ja sille C++ koodin mikä sen lähettää jne..
    Ei se lopputulos pitäisi sen suurempi olla kuin jos saman tekisi hakkaamalla jokaisen rivin itse.

    Tällainen helpottaisi todella paljon pienten härpäkkeiden tekemistä. Ei siinä JavaScriptin ym. rivi kerrallaan vääntämisessä mitään glamouria ole :)
     
    Viimeksi muokattu: 12.09.2019
  5. ampula

    Rekisteröitynyt:
    04.11.2015
    Viestejä:
    2 201
    Luin aiemmin aloituksen ja luulin että johonkin järeämpään web palvelimeen se WEB käyttöliittymä ja meinasin ehdotella että katseleen näitä erilaisia "koti" IOT sun muita palvelimia. Jotain tarjolla ihan Raspberryyn, joihinkin pilvipalveluihinkin esimerkkejä, jos ESP suoraan sinne, niin tarvitaan nettiyhteys ja siitä seuraa sitten se palomuuri jumppa.

    Mutta jos tarkoitus ESP8266 laitteeseen palvelinta, niin ne sen verran pieniä (resurssi pula) että käsin tekemiseksi menee, ei kaikkea tarvi joka kerta uudelleen kirjoittaa.
    Vaihtoehtoisesti jos haluaa ilman omaa työtä toteuttaa asioita niin käyttää niitä firmiksiä/koodeja missä paljon valmiina, web serveri ja valmiit vivut yleisimmille pikku jutuille.
    Näissä jutuissa tulee mieleen että käyttäjiä on vain yksi tai muutama, joten voi miettiä jos tekee sen jollakkin sovelluksella ja silloin voi käyttää ihan sitä suosikki IDEäsi ja siellä ESP puolelle säästää muutaman tavun lisää tilaa kun ne pienetkin koristeet voi karsia siitä päästä. Samalla ne käyttöliittymä päivitykset ei tarvi sen ESP päivittämistä.
     
  6. Occurrence

    Rekisteröitynyt:
    23.06.2007
    Viestejä:
    693
    En tarkoita että pitäisi olla jokin tietty ide vaan eräänlainen koodigeneraattori mikä ulostaisi C++ koodia mikä osaisi palvella selainta niin että saadaan aikaa haluttu interraktiivinen web-sivu.
    Parasta tietysti jos sen web-sivun voi tehdä kuten UIn juurikin vaikka Visual C++:lla tai Borlandilla.

    Tarkoitan siis että se tuottaisi sekä frontend- koodin, että backend koodin suoraan ja että se frontend koodi olisi tällaisessa miniatyyritapauksessa tekstinä backend-koodissa.

    Ihme ettei tällaista ole valmiina.
     
    Viimeksi muokattu: 12.09.2019
  7. vesas

    Rekisteröitynyt:
    01.08.2013
    Viestejä:
    229
    ESP:lle löytyy valmiita firmiksiä joissa on optimoitua web-sivua valmiiksi. Itse lähtisin liikkee jostain tuollaisesta, esim. ESPeasy ja sen Devices-osiosta.
     
  8. Occurrence

    Rekisteröitynyt:
    23.06.2007
    Viestejä:
    693
    Juu kyse ei ole siitä vaan kaipailisin työkalua millä voisi generoida frontend koodin ja osan backend koodista. En oikein näe mitään järkeä miksi asiat pitäisi tehdä kuten tänä päivänä.
    Ei ihme että web-juttujen tekemiseen haetaan ns. erikoisosaamista kun kaikki triviaalitkin asiat tehdään käsin.
     
  9. ampula

    Rekisteröitynyt:
    04.11.2015
    Viestejä:
    2 201
    Yritän hahmottaa mitä loppujen lopuksihaluat.

    Jos harrastaa pientä sulautettujen koodailua, niin selain pään pienten skriptien kirjoittaminen ja niiden copy/pasteeminen taitaa siihen touhuun kuulua, ei jokin hieno velho jolla jotain vähän sinne päin touhua generoisi.

    Jos taasen haluaa jotain toteutusta, et koodailla, ja mahdollisimman vähän skripteja tehdä, niin kyllä siihen helppoa tavaraa löytyy. Jos ei niin sitten tehtävä käsin.

    Hinta juttujakin, ESP on halpa, siihen on halpaa kehitysvälinettä ja liuta vaikka mitä ja myös niitä valmiita juttuja jossa web, pilvi sun muuta valmiina.

    Selain/web härpäkkeet voi koodata melkein millä IDEllä haluaa. Jos koodaaminen ja eikä oikein skriptien tekeminen kiinnosta, niin sitten palikoita joilla se onnistuu.
     
    Viimeksi muokattu: 20.09.2019 klo 09:03
  10. Grez

    Rekisteröitynyt:
    30.04.2001
    Viestejä:
    5 928
    Joo tää on taas näitä kun kysyjä ei itsekään tiedä mitä haluaa (tai vaihtoehtoisesti haluaa tahallaan estää järjellisten vastausten antamisen).

    Ketään ei vastaamisessa hyödytä tieto siitä miten asioita ei pitäisi mielestäsi tehdä, vaan järjellisten vastausten antamiseen olisi hyödyllisempää tietää miten asiat mielestäsi pitäisi tehdä.

    Kerrot että järkeväksi kelpaisi jos "sivu rakenteen ja muotoilun voisi tehdä samaan tapaan kuin hyvällä ohjelmointi IDE:llä ja sitten lisätä koodin raudan ohjaamista varten", mutta et antanut mitään esimerkkiä sivujen tekemisestä hyvällä ohjelmointi IDE:llä, vaikka sitä suoraan kysyinkin jo ekassa vastausviestissä. (Ohjelmointi-IDEjä on satoja ja jokainen niistä on varmaan jonkun mielestä hyvä. Niissä mitkä on minun mielestä hyviä on vieläpä kymmeniä eri tapoja tehdä sivurakennetta.)
     
    Viimeksi muokattu: 20.09.2019 klo 08:57
  11. Occurrence

    Rekisteröitynyt:
    23.06.2007
    Viestejä:
    693
    No juonena olisi pystyä tekemään käyttöliittymä kuten juuri kirjoitin eli kuten vaikkapa Visual sudiolla tai jo 25 vuotta sitten Borland builderillä.
    Jos siis voisin piirrellä eri palikat (tekstit, napit alasvetovalikot ym..) ja saisin niitä vastaavat koodirungot suoraan ja tietysti koodin mikä lähettäisi selaimeen kyseisen sivun ja hoitaisi kommunikoinnin.
    Jos käyttäjä klikkaisi nappia backendissä mitä tämä nodemcu kuvaa, suoritus siirtyisi kyseiseen luokan funktioon minkä koodigeneraattori olisi luonut valmiiksi.

    Tämä nopeuttaisi hurjasti tekemistä.
     
  12. siperiankuu

    Rekisteröitynyt:
    13.12.2016
    Viestejä:
    550
    Kuulostaa helvetin hitaalta ja monimutkaiselta. Ehkä se sinulle vaikuttaa nopealta, koska et osaa koodata. Olisi parempi ajatus opetella ohjelmoimaan oikeasti kuin tuhlata aikaa hyödyttömiä "työkalujen" parissa.
     
    Viimeksi muokattu: 21.09.2019 klo 06:53
    arttupii tykkää tästä.
  13. Occurrence

    Rekisteröitynyt:
    23.06.2007
    Viestejä:
    693
    Miten niin hitaalta?

    Katso tätä koodia https://github.com/G6EJD/ESP8266-We...Arguments_from_Client_for_Mulitple_Inputs.ino

    Jos olisi työkalu millä voisi piirrellä (drag/drop) web sivun aivan kuin C++ IDE:llä mihin viittaasin aiemmin ja tämä työkalu tekisi sitten vähän saman tapaisen koodin kuin tuossa esimerkissä mutta niin että siellä olisi kaikille textikentille, napeille ym. valmiina tyhjät funktioprototyypit mitä generoitu koodi kutsuisi kun kenttää muutetaan tai nappia painetaan. Tietysti kaikki arvot kulkisi näihin funktioihin joko parametreina tai sitten koko sivu olisi objekti jonka määrittely olisi osa generoitua koodia. Generoitu koodi siis huolhetisi sivun näyttämisestä kaikkien parametrien välittmäisestä ynnä tuottaisi automaattisen kutsun käyttöliittymä objektien tapahtumille.

    Parasta olisi jos työkalu olisi osa käännösympäristöä jolloin kaikki muutokset web-sivuun päivittyisi suoraan koodin.

    Ei tämä hidasta ole ja generoitu koodi käytännössä yhtä nopeaa kuin ihmisen kirjoittaman ja miksi ei olisi.
     
  14. Grez

    Rekisteröitynyt:
    30.04.2001
    Viestejä:
    5 928
    No siperiankuu varmaan tarkoitti sitä että vaikka Visual Studiossakin on toki edelleen tuki tuolle webformsille eli weppisivujen "drag&drop" piirtelylle kuin tekeisi Windows-ohjelmaa, niin se on siellä lähinnä sen takia että sillä aikanaan tehtyjä järjestelmiä saiis edelleen ylläpidettyä. Nykyaikaiset vaatimukset täyttävää web-järjestelmää sillä tyylillä olisi melko tuskaista tai jopa mahdotonta tehdä.

    Toisaalta se voisi kyllä toimia jonkin yksinkertaisen ohjauspaneelin tekemiseen jollekin EPS-rekkulalle, jos olennaisinta on saada nopeasti jotain aikaiseksi eikä häiritse tuloksena muodostuva koodispagetti tai käyttäjälle syntyvä fiilis aikamatkasta 00-luvulle.

    Mutta joo, sehän voi tosiaan olla, että sellaista työkalua jota kaipaat ei ole kukaan tehnyt. Jos joku muukin kuin sinä kaipaa sellaista, niin sitten joku muu saattaa ehkä sen tehdä. Muuten joudut itse tekemään tai käyttämään muita välineitä. ESP2866-tekemiseen tosin on ehkä satoja eri työkaluja, joten voihan se olla että kaipaamasi on jo olemassa, mutta kukaan muu täällä pyörivä ei ole sellaiseen törmännyt.
     
  15. ampula

    Rekisteröitynyt:
    04.11.2015
    Viestejä:
    2 201
    Sori, nyt saatan vähän inittää ja ehkä jopa aukoa päätä.

    Kuullostaa että ikesasta haettu halppis hylly ja ihmettellään mikse se ole valmiiksi koottu lasiovellinen umpipuuta.

    Toki, en kiellä, olisi ihan kiva, jos liki ilmaiseen kamaa saisi aivan upeat ja mahtavat kehitystyökalut jolla ihan ummokki ja amattilainen voi tehdä parilla hiiren kliikkeella upeaa ja mahtavaa sisältö ja toiminnallisuutta, ja velhot taikoisi käsittämättömön otpimoitua ja pientä koodia pieneen sulautettuun lutikkaan.

    Ja nimenomaan haluan juuri noin, vaikka olisi kymmen muuta tapaa tehdä sama asia jopa helpommin ja halvemmin, sillä tuohon rautaan on talkoo sisältöä pilvinpimein, valmiita firmiksiä moneen lähtöön ja asiaan suhteutettuna helppo kehitysympäristö millä aloittelialiakin voi toteuttaa ideooitaa. Eihän noilla nyt mitään "oikeita" juttuja voi tehdä, eli jos harrastajien pitäisi panostaa resursseja johonkin niin ensinnä jonossa niiden siellä perustoissa, en näe että tuolle raudalla kananttaisi edes lähte ihan sellaisia työkalua tekemään mitä aloittaja toivoo.

    Jos mietitään toivetta toiselsta suunnalta, eli oltaisiin tekemässä jotain sellaista selain appia minkä tekemiseen tarvittaisiin jokin toivotun kaltainen työkalu, siis toisin lisäarvo vs pienet copy/paste scriptin pätkä viilaukset, niin kuullostaa niin massiiviselta että sitä kautta ajaa itsensä umpukujaan.

    En tiedä mitä haluat tehdä, joten ehdotuksen on hakuammuntaa, niin varmaan muillakkin jotka ehdottelee.

    Jos haluat tehdä jokin karkkikäyttöliittymän, niin karkeasti kaksi pää vaihtoehtoa, joko serveri joka toimii noille palikoille etuosana. Se edellettyy että jos useampia palikka, niin samassa verkossa, tai joka verkkoon se serveri. halpaa se on siltikin, moneen riittää ihan rasbi.
    Toinen lähetysmahdollisuus on se että teet sovelluksen siihen päätelaitteeseen, siinä vaikuttaa vähän se kuinka monenlaista laitekantaa siihen pitäisi pystyä. Tässä voi tehdä ihan optimoitua UIta päätelaitteeseen, ja yleisempiin on tarjolla monenlaista kehitysympäristöä.

    Jos juttu nyt oli siinä että esp8266 välineet ei nappaa, niin toista rautaa kehiin, jos tarkoitus tehdä jotain "oikeaa" niin se kai muutenkin tarpeen. Jos helppokäyttöistä, niin valmiita palikoita, sen mukaan mikä oli tarve.


    P.S.
    Jos tarkoitus vastata jollekkin tai kommentoidan jonkun mielipidettä, niin kantsii lainalla.
     
    Viimeksi muokattu: 22.09.2019 klo 13:12

Jaa tämä sivu

Alibi
Anna
Deko
Dome
Erä
Hymy
Kaksplus
Kippari
Kotilääkäri
Kotiliesi
Koululainen
Ruoka.fi
Parnasso
Seura
Suomen Kuvalehti
TM Rakennusmaailma
Tekniikan Maailma
Vauhdin Maailma
Golfpiste
Vene
Nettiauto
Ampparit
Plaza
Muropaketti