NodeMcu Időjárás állomás

A projektnek az a lényege, hogy szerettem volna készíteni egy időjárás előrejelző állomást magamnak. Mert gondolom mindenki futott már bele gondolom abba ilyenkor tavasszal, hogy a lehetőségeihez mérten szeretett volna értelmesen ruhát választani reggel, viszont a reggeli megszokott rohanásban még arra sem volt ideje, hogy a telefonját elővegye és megnézze az időképet. Viszont sajnos nem volt itthon megfelelő kijelzőm ennek a kivitelezésére. Ezzel ellenben, még barátok között is van legalább jó 3 hetem, addig amíg Kínából ideér a 3,5 “-os TFT kijelzőm. Szóval, hogy lerövidítsem az elkészítési időt, ezért előre dolgoztam azzal, amim van. Így esett a választás a 0,96 “-os 128×64-es oled kijelzőre, mert ezzel rendelkeztem. 

Megjegyezném, hogy ez a kijelző nem alkalmas erre a feladatra, viszont projekt lényegét szemléltetni tökéletes. Amint kész leszek az eredeti elképzelésemmel, azt is megosztom. Viszont addig is lássuk, hogy mit lehet ebből kihozni. Előre is leszögezném, hogy a leendő projektemben többnapos előrejelzést tervezek, viszont ez a mostani példa csak az éppen aktuális időjárást mutatja félóránként frissülve. Egy korábbi bejegyzésben bemutatott szolgáltatót használok az időjárás információk beszerzésére. Az AccuWeather-t. Ezért a projekt ezen részének a bemutatásával, pont ezért nem is vesződnék. Szóval nézzük meg, hogy mit kell még beszereznünk.

Szükséges könyvtárak:

Adafruit SSD1306

Adafruit GFX

Ezen felül még szükségünk lesz az LCD Assistant alkalmazásra. Ezzel az alkalmazással fogjuk a grafikákat konvertálni a HEX-be. Az Adafruit library miatt ez is kicsit trükkös lesz, de erre térjünk vissza később. Erre a célra használhatjuk még az Image to Adafruit OLED Bitmap Converter-t, ami teljesen webes alapú. Ha nem HEX-ben hanem Binary-ban szeretnénk tárolni a képeket, akkor ennek a konvertálására használhatjuk az alábbi web alapú konvertálót.

Nem is tudom, hogy honnan folytassam tovább a projekt bemutatását, de talán a legjobb ha elsőre a kapcsolást mutatom be, mert az a legkönnyebben emészthető az egész projekt tekintetében.  

Mint a képen is látható a bekötés pofonegyszerű. Ezzel szerintem senkinek sem gyűlik meg a baja. Ami ennél kicsit neccesebb, hogy ha képeket akarunk megjeleníteni a kijelzőn. Első körben nekem is összecsúszott a megjeleníteni kívánt kép minden egyes alkalommal, plusz a kép átméretezése sem volt tökéletes. Az utóbbinak az volt az oka, hogy csak 1 bites mono képeket lehet tökéletesen konvertálni az LCD Assistant nevű alkalmazással. Az összecsúszásnak pedig egy adafruitos topicban találtam meg nyitját. A dolog lényege az, hogy horizontálisan és vertikálisan is meg kell növelni a konvertálni kívánt kép területét 8+8 pixellel.

Nézzük, hogy hogyan is néz ki a teljes folyamat valóságban: 

Első lépésben válasszuk ki azokat az ikonokat amiket használni szeretnénk. Ha ezzel megvagyunk, akkor konvertáljuk őket a megfelelő méretű és színmélységű Bitmap képpé. Én személy szerint a 32×32-es méretet választottam.

A konvertáláshoz, egy online konverter használtam. Online-converting.com

A választott méret egyéni, de a bitmap kép színmélységét állítsuk 1bit-esre. A konvertálás után, akár még GIMP-ben vagy Paint-ben szabhatunk is az eredményen, de komolyabb alkalmazást ezért szerintem fölösleges letölteni. Erre kár ellőni egy Photoshop-ot.

Ha megvagyunk a méretre és formátumra konvertálással a következő lépés a HEX-é alakítás. Erre az LCDassistant alkalmazást használtam. Az alkalmazás megnyitása után válasszuk a File menüpont Load image opciót, majd válasszuk ki a konvertálni kívánt képet. Ezután a következő beállítási paraméterekkel konvertáljuk át a képet egy “something”.c fájlra.

A lényeg az, hogy Horinzontálisan 8px hozzáadással konvertáljunk. Ezután File menü Save Output opciót választva, már elmenthetjük valami.c-ként.

A következő oldalon mutatom a kódot.

(Statisztika: 565 megtekintés)

Egyes szám: Egy gondolat “NodeMcu Időjárás állomás

  1. Greta Jonsson

    Trying to find powerful online promotion that isn’t completely full of it? Sorry to bug you on your contact form but actually that was the whole point. We can send your ad copy to sites via their contact forms just like you’re getting this ad right now. You can specify targets by keyword or just do mass blasts to sites in the location of your choice. So let’s assume you’re looking to blast a message to all the real estate agents in the US, we’ll scrape websites for only those and post your ad text to them. Providing you’re promoting something that’s relevant to that niche then you’ll get an awesome result!

    Send an email to sarah1916eva@gmail.com for the details

Vélemény, hozzászólás?

Az email címet nem tesszük közzé.