Minden, ami elektronika

Elektronikával hobbi szinten foglalkozó oldal

Debug használata ESP8266-nál Arduino IDE alatt

2019. május 26. 08:00 - raptor13

A 2.1.0-rc1 óta a mag tartalmaz egy hibakeresési funkciót, amely az Arduino IDE menüjében beállítható. Menüből tudjuk beállítani, hogy milyen üzeneteket szeretnénk kapni.

Minimum követelmények

 

Ennek a funkciónak a használata nem igényel extra dolgot, mindössze a setupban inicializálni kell a soros portot (Serial vagy Serial1). Lehetőség szerint próbáljuk meg a lehető leggyorsabb sebességet használni.

Tehát a minimum program:

Használat

 

  1. A debug beállításnál állítsd be a soros portot
  2. A debug level menüben válaszd ki, hogy miről szeretnél üzeneteket kapni
  3. Ellenőrizd le, hogy a soros portot inicializáéja-e a programod
  4. Írd rá a programot a vezérlőre
  5. Nyisd meg a soros monitort

 

Információk

Minden olyan vázlatnál működik, amelynél valamelyik soros portot kiválasztottuk debugnak. A soros port ettől még mindig használható rendesen. A debug üzenetek miatt nem kerül tiltásra semmilyen másik üzenet.

Példa saját üzenet létrehozására

(a debug üzenetek csak akkor jelennek meg, ha ez az Arduino IDE-ben be van kapcsolva)

Az eredeti cikk IDE kattintva nyitható meg.

Szólj hozzá!

Mi a megoldás a “Board generic (platform esp8266, package esp8266) is unknown” hibára?

2019. május 24. 08:17 - raptor13

Ez a hiba felléphet akkor is, ha váltasz a béta és a stabil verziók között és akkor is, ha a stabil verziót frissíted.

Ha ez a probléma előjön, akkor onnantól kedve semmilyen vázlatot nem fogsz tudni lefordítani ESP8266-os alaplapra.

A gyökérok:


Ez a probléma az Arduino IDE Boards Manager-nek tulajdonítható, amely nem tisztítja az előző csomag telepítését, mielőtt új alkalmazást alkalmazna. Mivel ez nem történik meg automatikusan, ezért a felhasználó felelőssége, hogy az előző csomagot eltávolítsa egy új alkalmazása előtt.

Ha meg szeretnéd akadályozni, hogy ez a probléma megjelenjen, akkor a béta és a stabil csomag közötti váltás esetén először  távolítsd el a régi csomagot, az erre szolgáló gomb segítségével.

Abban az esetben, ha csak sima verzió váltás történik, nem szükséges a régi csomag eltávolítása:

A kiválasztott alaplap típusától függően a hibaüzenetek kissé különbözőek lehetnek.

Generic ESP8266 Module esetén:

Board generic (platform esp8266, package esp8266) is unknown Error compiling for board Generic ESP8266 Module.

WeMos alaplap esetén:

Board d1_mini (platform esp8266, package esp8266) is unknown Error compiling for board WeMos D1 R2 & mini.

Adafruit Feather HUZZAH esetén:

Board huzzah (platform esp8266, package esp8266) is unknown Error compiling for board Adafruit HUZZAH ESP8266.

Ha a probléma előjön, akkor a csomagok eltávolítása és újratelepítése a Boards Manager alkalmazással általában nem javítja. Az Arduino IDE eltávolítása és újratelepítése szintén nem fogja megoldani. Nézzük a megoldást:

Hogyan lehet javítani?


A probléma megoldása egyszerű, manuálisan törölni kell a régebbi esp8266/Arduino-hoz telepített csomagot. Az eljárás Windows, Linux és Mac OS esetén azonos. Az egyetlen különbség a mappa elérési útja. Például a Mac számítógépen a /Users/$USER/Library/Arduino15/package/esp8266/hardware/esp8266 lesz. Az alábbi példa a Windows elérési útját mutatja.

  1. keresd meg a csomagok telepítésére szolgáló mappát a számítógépeden. Ezt az Arduino IDE File->Beállítások oldalon találod 
  2. A megjelenített elérési útun az alábbi dolgokat találod (windows 7 esetén): 
  3. A következő mappát kell kerresni: Arduino15\packages\esp8266\hardware\esp8266
  4. Töröld a régebbi könyvtárat. Az Arduino IDE ismételt elindítása után válaszd ki a számodra szükséges alaplapot.

Megjegyzés: ha nem tudod kiválasztani, hogy melyik mappát kell törölnöd, akkor töröld le mind a kettőt. Ebben az esetben az Arduino IDE újraindítása után ismét telepítened kell az alaplap kezelő oldalon az ESP8266 csomagját.

További információk:


Ez a probléma az esp8266 / Arduino repository Issues részében elég gyakran lett jelentve. A legértékesebb megoldást a [@ anhhuy0501] (https://github.com/anhhuy0501) szolgáltatta a # 1387.

További részletekről itt olvashatsz: #2297#2156#2022#1802#1514#1387,#1377#1251#1247#948

© Copyright 2017, Ivan Grokhotkov Revízió b5519922.

Az eredeti cikket IDE kattintva tudod elolvasni.

Szólj hozzá!

SPI kommunikáció

2019. február 01. 08:00 - raptor13

Bevezetés


A soros perifériás interfész (SPI) egy olyan kommunikációs rendszer, amelyet gyakran használnak a mikrovezérlők és a kisebb perifériák, például a shift regiszterek, érzékelők, SD-kártyák közötti adatok küldésére. Külön órajelet és adatvonalat használ, valamint maximálisan annyi digitális kimenetet ahány eszközt csatlakoztatunk, amely segítségével ki tudjuk választani, hogy kivel szeretnénk éppen beszélgetni.

Ajánlott olvasmány a bejegyzésben foglaltak megértéséhez

Ha nem ismeri az alábbi témák egyikét, akkor érdemes elolvasnia azokat, mielőtt elolvassa ezt a bejegyzést:

 

Tovább
Szólj hozzá!

Logikai szintek

2019. január 31. 10:55 - raptor13

Bevezetés

Az analóg jelek világában élünk. A digitális elektronikában azonban csak két állapot van - BE vagy KI. E két állapot használatával az eszközök nagy mennyiségű adatot képesek értelmezni, szállítani illetve ezekkel az értékekkel vezérelni. A logikai szintek azt definiálják, hogy a diszkrét jelek milyen értékeket vehetnek fel. A digitális elektronikában általában két logikai állapotra korlátozzuk tanulmányunkat - a bináris 1 és a bináris 0

Tovább
Szólj hozzá!

Arduino IDE + MQTT + ESP = szívás?

2019. január 15. 08:34 - raptor13

Elöljáróban megjegyezném, ez egy rövid bejegyzés lesz. Amolyan memoár. Szóval a sztori röviden:

Komoly fejlesztéseket hajtok végre, hogy a kis köcsögök (ezek a chilli paprikáim) nevelése a lehető legzökkenőmentesebben menjen végbe. A folyamat egyszerű és évről-évre változatlan: amikor tél vége felé más még a karácsonyi sokkot heveri kifelé ezerrel, Mi elültetjük a magokat, amikor úgy rendesen ki van tavaszodva, kiugranak a palánták az édes anyaföldbe, ősszel meg lesz egy csomó paprikánk (idén, ha minden jól megy, akkor ez a mennyiség 600 kg környékére prognosztizálható, amolyan konyhakerti adag :)...).

Tovább
Szólj hozzá!

Gyorsulásmérő alapok

2018. november 06. 08:48 - raptor13

Mi a gyorsulásmérő?

A gyorsulásmérők olyan eszközök, amelyek mérik a gyorsulást, vagyis egy tárgy sebességének változását. Mértékegysége m/s2 vagy g. Egy g durva megközelítéssel 10 m/s2, de ez a földrajzi helyzetünk függvényében kismértékben változik (nálunk jó megközelítéssel 9,81 m/s2).  A gyorsulásmérők hasznosak egy berendezés rezgésének mérésére, vagy az elmozdulásának észleléséhez.

accel1.jpg

ADXL345 breakout board

 

Tovább
Szólj hozzá!

Hol használhatod az Arduino IDE alatt a változókat - avagy a scope...

2018. november 05. 08:00 - raptor13

A C programozási nyelvben szereplő változók, amelyeket az Arduino használ, rendelkeznek bizonyos tulajdonságokkal. Ezek közül az egyik a "scope" - azaz a hatáskör. Ez a tulajdonság a régebbi programnyelvekből (pl.: BASIC) jellemzően hiányzott. Ott még minden változó úgynevezett globális változó volt, azaz bárhonnan lehetett bármelyiket használni. Ennek ellentéte a lokális változó, amelyet csak az adott (általad létrehozott) funkciónál illetve az adott funkcióblokkban lehet használni. Az Arduino IDE környezetben azok a változók, amelyek nem valamelyik program blokkban (pl.: setup(), loop(), stb.) lettek létrehozva, automatikusan globális változók lesznek.

Tovább
Szólj hozzá!