Van egy Heltec Wifi Kit 32 eszközöm, amivel szeretnék egy BME280 szenzort életrekelteni.
Természetesen az összes példakód, amiket találtam mégcsak le sem fordulnak. Megpróbáltam a kóddarabokból összerakni egy működő programot, egyelőre sikertelenül.
Az OLED kijelsző a 15-ös és 4-es GPIO-t használja az I2C kommunikációra. A BME280 is I2C-vel kommunikálna. Próbáltam itt is a 15 és 4-es GPIO-ra kötni, de próbáltam saját GPIO-kat is adni neki (5,17). Egyikkel sem sikerült életet lehelnem bele.
Próbáltam az I2C órajelét levenni 100000-ról 1000-re, de ez sem segített.
Mivel konkrét hibaüezenetem nincs, csak annyi, hogy nem tudja inicializálni a BME280-at, bárminemű ötletnek örülnék, ami előbbre vihet.
Megoldás: A szenzos nem BME280 hanem BMP280 volt :(
- 674 megtekintés
Hozzászólások
mindenkepp sajat cucc kell? csak mert ezeket mar regesreg megoldottak pl esphome-al...
https://esphome.io/components/i2c/
- A hozzászóláshoz be kell jelentkezni
Alapvetően érdekelne, hogy miért nem megy, nem haragudnék, ha saját kódot össze tudnék rakni, de most még azzal is megelégednék, ha bárhogy elindulna.
Ezt az esphome cuccost csak feltöltöm a Heltec Wifi Kit 32-re, és már megy is vele minden? Mert ha ezt is ki kell tanulni, akkor nem látom még az előnyét a közvetlen programozáshoz képest.
- A hozzászóláshoz be kell jelentkezni
feltoltod, aztan van egy webes interfesz, ami dockerben fut, a neve ESPHome Device Builder
https://esphome.io/guides/getting_started_command_line/#esphome-device-…
de van CLI opcio is (python az egesz): https://esphome.io/guides/cli/
Ha mar a firmware rajta van, onnantol szimpa yaml config fajlal allithatod be, hogy mit csinaljon. Ha lattat mar eletedben yaml -t (nyilvan lattal :) ) kb fel ora megerteni hogyan mukodik :)
- A hozzászóláshoz be kell jelentkezni
az esphome kvazi egy python script, ami az altalad valasztott template-ekbol osszerak egy .c forras file-t, es aztan az mar ugyanugy fordul es toltodik fel, mint amit te csinalsz.
tehat pont, hogy tanulni marha jo lehet. plusz, automatikus ingyen integraciot kapsz melle homeassistant-ba, ami a mai connected vilagban igen kellemes.
- A hozzászóláshoz be kell jelentkezni
Próbálj ki egy I2C scannert (BME280 kihúzva egyelőre): https://learn.adafruit.com/scanning-i2c-addresses/arduino
Ha az OLED címe 0x77 vagy 0x76, akkor valamelyik lábat a BME280-nál össze kell kötnöd egy másikkal, hogy megváltozzon a címe: https://www.bosch-sensortec.com/media/boschsensortec/downloads/datashee…
Bedugva a BME280-at (ugyanazokra a lábakra mint az OLED) látszania kell a scanneren.
Utána ezt a libet javaslom, faék egyszerű: https://docs.arduino.cc/libraries/pocketbme280/
Ha vannak nagyjából OK számaid ezzel, utána lehet kalibrálni: https://learn.adafruit.com/calibrating-sensors/so-how-do-we-calibrate
A fent említett i2s scannert és a pocketbme280 példáit is próbáltam, lefordulnak. Ha neked nem jó, vszeg a fordítód beállításaiban van a hiba.
- A hozzászóláshoz be kell jelentkezni
Köszönöm, ez jó ötletnek tűnt, kipróbáltam, de "No I2C devices found" az üzenet. :(
Persze azt sem látom, ebben a kódban hol kell megadnom, hogy milyen PIN-eken csatlakozna, tehát lehet, hogy az a baj, hogy ezt nem állítottam be.
- A hozzászóláshoz be kell jelentkezni
Ezt kifelejtettem:
WIRE.begin();
helyett
WIRE.begin(SDA_PIN, SCL_PIN);
Ha jól látom, valamelyik libjükben meg is van adva, hogy melyek az SDA_OLED és SCL_OLED lábak, ezt lehet, hogy fel is tudod használni: https://docs.heltec.org/en/node/esp32/wifi_kit_32/example.html
Abból a példából az is látható, hogy SSD1306-os az OLED kijelző, annak a címe az interneten fellelhető "0x3C, but it can also be changed to 0x3D", tehát szinte kizárt, hogy az legyen a gond.
Inkább a lábkiosztás lesz, azzal annyi a szívás, hogy van az ESP32 szerint egy számozás a lábakra, aztán a dev board készítői elnevezik ezeket, pl. 8-> GPIO0, 9->GPIO21.
- A hozzászóláshoz be kell jelentkezni
Ebben mar van felhuzoellenallas? Ha nincs, 1-1, mondjuk 4k7-es ellenallast tennek a tap es a 2 adatlab koze. (konkret ertek a rendszer kapacitasatol is fugg, kiindulasnak jo lesz)
Ha a hardware layer jo, akkor mennek feljebb.
Oszcilloszkopod/logikai analizatorod van keznel? Abbol is kiderulhet, hogy egyaltalan probal-e kommunikalni.
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
Ha a webes interfesz jobban fekszik neked, ott a Tasmota is, ott nem kell allitani semmit....
https://tasmota.github.io/docs/
Itt siman ratoltheted a board-ra:
https://tasmota.github.io/install/
A boardodhoz van template, csak rahuzod es kesz.
https://templates.blakadder.com/heltec_wifi_kit_32.html
Ha ez megvan, megy a display, akkor mar csak rahuzod az i2s buszra a BME280-at
- A hozzászóláshoz be kell jelentkezni
Ebben a doksiban (feltéve, hogy ugyanarról a panelről beszélünk) az OLED I2C vonalak az ESP32-S3 procin a GPIO17 - OLED_SDA és GPIO18 - OLED_SCL vonalakra van kötve ami csak két tesztpontra van kihozva, de nincs kihozva a J2/J3 tüskesorra. A második I2C port a GPIO36/37 már foglalt, mert ott a akkutöltő vezérlése van.
Ha ráforrasztasz a tesztpontokra egy vezetékpárat, akkor osztozhat a BME280 a kijelzővel az I2C buszon, de a kijelzőnek kell valami fura Reset procedúra, hogy a scan folyamat sikeresen lefusson. Itt már van 2x10k felhúzó ellenállás.
A második lehetőség a "bitbang" I2C, vagy software emulated I2C amit bármelyik szabad GPIO lábra pakolhatsz. Kicsit lassabb, bizonytalanabb, de egy BME280-nak tökéletesen megfelel, csak ne feledd a két 10k felhúzó ellenállást.
Én a WiFi LoRa V3 használom, ott még kevesebb szabad GPIO van.
- A hozzászóláshoz be kell jelentkezni
Köszönöm a segítségeket.
Az I2C scannerrel sikerült a szenzor címét megtalálni: 0x76. Ennek ellenére nem működött. Végül kiderült, hogy a baj az, hogy ez nem BME 280, hanem BMP 280. A páratartalmon kívül végül közvetlen I2C parancsokon keresztül életre kelt, de mivel nekem a páratartalommérés miatt kellett volna, így project lezárva. :(
Helyette DHT22 lesz.
- A hozzászóláshoz be kell jelentkezni
Végül kiderült, hogy a baj az, hogy ez nem BME 280, hanem BMP 280.
Hja, rendelésnél sok kínai store (szándékosan) keveri ezt a kettőt, és sokszor BME 280 áron küld BMP280-at.
- A hozzászóláshoz be kell jelentkezni
Én ott rontottam el, hogy a felirat alapján kerestem rá, mi ez, és elhittem, hogy BME. Hát, nem az volt. de legalább a többi funkciója megy.
A nagyobb baj most meg az, hogy a DHT22 (klón persze) 1 fokkal magasabb hőmérsékletet mér, mint az összes többi hőmérő. Így persze a páratartalom értéke sem helyes. :(
- A hozzászóláshoz be kell jelentkezni
Az a jobbik eset. Nalam van dht22 (vagy klon), ami siman 3-4 fokkal mer tobbet, es nem linearis a hiba.
Vagyis kvazi kuka sajnos :(
Es egy komplett csomagnyi ilyenem van sajnos; mikor lattam, probaltam csereberelni, de nem ment, mind szar :/
- A hozzászóláshoz be kell jelentkezni
Azt vettem észre, hogy ha az ESP USB-ről megy, és onnan kap tápot, akkor egészen pontos a DHT22. Olyan 0.1-0.2 fokkal tér el a többitől. De ha egy feltöltött 16850-es celláról megy, akkor jön ki ez a fél és egy fok közötti különbség. Pedig elvileg a 22-es a pontos. (Sajna csak egy volt itthon, csereberélni nem tudom.) Inkább az a kérdés, mit vegyek helyette, ami majd megbízható lesz, akár 3.7V-ról is?
- A hozzászóláshoz be kell jelentkezni
Megmérted a tápját annak az ESP-nek mindkét esetben?
"Normális ember már nem kommentel sehol." (c) Poli
- A hozzászóláshoz be kell jelentkezni
Túl nagy a feszültségesés a stabilizátoron vagy nem bír elég áramot szolgáltatni. Próbáld ki, hogy először mérsz egy hőmérsékletet, majd csatlakozol a Wifi-hez és elküldöd a mérést. A kapcsolódásnál maximalizálódik az áramfogyasztás.
Nekem akkuról egy másik LDO-val ment, nem a szokásos AMS1117-tel, mert neki nagyobb a dropja. Inkább BMP/BME vagy valamelyik SHT. Nekem kb. 6 éve megy egy BME280 külső hőmérőként, de már a páratartalom mérése télen mindig 100%-ot mutat folyamatosan.
Dell Optiplex 3060 Micro, Arch Linux & Niri
- A hozzászóláshoz be kell jelentkezni
Ezt adjak elo az MPU-9250 eseten is. Meg a chip felirata is hamis.
- A hozzászóláshoz be kell jelentkezni
Én egy HDC1080-at használok egy pár éve, egészen jó egyezést mutat egy profi kalibrált műszerhez, mivel infra alapú a hőmérője, villámgyorsan reagál a legparányibb hőingadozásra. A másik az SHT31 ami remekül végzi a dolgát. (egyetlen szépséghibája a modulnak, hogy lefelejtettek róla egy felhúzó ellenállást.) A legújabb játékszerem az SHT45 ez elvileg mindegyiken túltesz pontosságban és felbontásban. Ha felszabadul a laborban a mérőkamra, akkor ezt is letesztelem alaposan.
- A hozzászóláshoz be kell jelentkezni
Szerintem itt a paratartalom lenne neki a lenyeg. Az a kulonbseg a BMP280 es a BME280 kozott.
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
Jogos, én csak felhoztam még néhány példát amivel van tapasztalatom, mindegyik a hőmérséklet mellett meglepően pontosan méri a páratartalmat is, talán ezt nem hangsúlyoztam ki eléggé. Sőt az SHT sorozatból láttam már Midea és Daikin klímákban is mint elsődleges szenzort. Aliról rendelt cuccoknál volt olyan, hogy teljesen mást küldtek, vissza is kértem az árát.
- A hozzászóláshoz be kell jelentkezni