Tartalomjegyzék:
- 1. lépés: Összeszerelés
- 2. lépés: Az IDE -k és könyvtárak beállítása
- 3. lépés: A rendszer programozása
- 4. lépés: Gyártás
- 5. lépés: Kód
Videó: Nyílt forráskódú adatgyűjtő (OPENSDL): 5 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
A projekt célja egy alacsony költségű mérési rendszer megtervezése, kivitelezése és tesztelése az épület teljesítményértékelési tanulmányaihoz, amely legalább hőmérsékletet, relatív páratartalmat, megvilágítást tartalmaz, és további érzékelőkre is kiterjeszthető, valamint ezen eszközök prototípusának kifejlesztése.
Ez egy személyre szabott és megfizethető rendszert eredményez, amely lehetővé teszi az érdekelt felek számára, hogy hatékonyan és megfizethető módon végezzék el az épület teljesítményértékeléséhez szükséges méréseket több környezeti paraméter egyidejű naplózásával. A nyílt forráskódú adatgyűjtőt (OPENSDL) összehasonlították a HOBO U12-012 adatgyűjtővel. Ez a kereskedelemben kapható megfelelő rendszer 3 paramétert képes mérni, nevezetesen: hőmérsékletet, relatív páratartalmat és megvilágítást, valamint egy külső csatornát más típusú érzékelőkhöz. Más paraméterek méréséhez más érzékelőre lenne szükség. A mérendő paraméterek jellemzői a saját hardverre és szoftverre korlátozódnak, ami korlátozza a rendszert bizonyos paraméterek meghatározott pontosságú mérésére. A HOBO U12-012 ára körülbelül 13 000 ₹ (185 USD), míg az OPENSDL ára 4 605 ₹ (66 USD), ami a kereskedelmi partner majdnem egyharmada.
Nyílt forráskódú adatgyűjtő a hőmérséklet, az relatív páratartalom és a fényszintek (megvilágítás) megfigyelésére az Arduino Uno segítségével. Ez egy barkács az OPENSDL adatgyűjtő fejlesztéséhez.
Szükséges idő: 2-3 óra forrasztás, 5 óra csomagolás (4 óra - 3D nyomtatás és 1 óra lézeres vágás) Szükséges készségek: Forrasztás, kevés vagy semmilyen programozási és elektronikai ismeret
Szükséges alkatrészek:
- Arduino Uno kábellel
- Adatgyűjtő pajzs
- CR1220 gombelem
- BME280 hőmérséklet páratartalom nyomásérzékelő leválasztó tábla
- TSL2561 fényérzékelő megszakító tábla
- ESP01-8266 Wi-Fi modul
- RJ-9 dugó
- Pajzshalmozó fejlécek az Arduino számára
- SD memóriakártya (bármilyen kapacitás)
- Vektoros tábla (26 x 18 lyuk)
- 8 db AA elem elemtartó
Szükséges eszközök:
- Forrasztópáka (35W)
- Forrasztó huzal
- Drótvágó
- Crimper szerszám
- Multiméter
Szükséges szoftver: Arduino IDE (1.0.5 vagy újabb)
Arduino használt könyvtárak:
- Drótkönyvtár
- SparkFun TSL2561 könyvtár
- Cactus BME280 multiszenzoros könyvtár
- SD kártya könyvtár
- SPI könyvtár
- RTC könyvtár
Megjegyzés: A BME280 érzékelő egy nagyon pontos Bosch hőmérséklet-, relatív páratartalom- és nyomásérzékelő. Hasonlóképpen, a DS1307 pontos valós idejű óra a Maxim -tól, a TSL2561 pedig pontos fényérzékelő. Vannak olcsóbb és kevésbé pontos alternatívák ezekhez a termékekhez, de ez az oktatóanyag azoknak készült, akik érdeklődtek az adatok gyűjtése iránt az épület teljesítményértékeléséhez és a nagy pontosságot igénylő épületfelügyeleti alkalmazásokhoz. Ez azt jelenti, hogy bármilyen hardver- és szoftverbeállítás (könyvtárak, programkód) szigorúan csak a meghatározott termékekre vonatkozik.
1. lépés: Összeszerelés
Az adatgyűjtő pajzs könnyen egymásra helyezhető az Arduino Uno tábla tetején. Ez a pajzs biztosítja az adatnaplózási képességeket (időmegőrzés és adattárolás). A pajzsot egymásra kellett rakni. CR1220 gombelemet kellett behelyezni a mellékelt kerek nyílásba, hogy az óra akkor is működjön, ha az Arduino ki van kapcsolva. Az SD memóriakártyát be kell helyezni a fedélzeti kártyanyílásba. Egyedi, testreszabott árnyékolást fejlesztettek ki RJ-9 csatlakozóhüvelyek és Arduino árnyékoló halmozófej segítségével. A megfelelő fejléceket a megfelelő helyeken forrasztották, így a pajzs tökéletesen illeszkedik az Arduino táblához. Az Arduino egyik oldalán 18, a másik oldalon 14 csap található. Az azonos számú tűvel ellátott fejléceket ugyanolyan távolságban használták (egymástól 18 csap), mint az Arduino esetében. A fejlécekkel szomszédos további helyet az RJ-9 csatlakozó elhelyezésére használták fel.
A fejlécek voltak a legjobb módja a szükséges csapok használatának, miközben továbbra is rendelkezésre álltak más alkatrészek számára. A használt érzékelők az I2C kommunikációs protokollt követik, amelyhez 4 érintkező szükséges az Arduino -tól, nevezetesen: SDA (A4 -es változatban is kapható), SCL (A5 -ként is kapható), 3.3V és GND. Az RJ-9 csatlakozóból kilépő négy vezetéket ebbe a négy fejrészbe forrasztották. A szükséges RJ-9 csatlakozók száma az érzékelők számától függ. Ebben a projektben 3 RJ-9 csatlakozót használtak (kettőt a BME280-hoz és egyet a TSL2561-hez). Az RJ-9 csatlakozóból kilépő négy vezeték színkóddal volt ellátva, és minden színvezetéket az összes RJ-9 csatlakozóhoz meghatározott tűvel jelöltek ki. Meg kell jegyezni, hogy a színkód különböző RJ-9 darabonként eltérő lehet. Ebben az esetben meg kell jegyezni a vezeték helyét a csatlakozón. Az RJ-9 csatlakozót a forrasztás után úgy hozták létre, hogy a Feviqwik segítségével a vektorlapra tapadjon, hogy rögzüljön a felületen. Ezeket a kapcsolatokat a multiméter folytonossági módjával lehet ellenőrizni. Folyamatossági módban a multiméternek nulla ellenállást kell mutatnia. Csatlakoztassa a multiméter egyik szondáját a forrasztott csaphoz, egy másikat pedig az RJ-9 csatlakozó belsejében lévő csaphoz. A multiméternek hangot kell kibocsátania, ami azt jelenti, hogy a forrasztási kötések megfelelőek, és a csatlakozások megfelelően lettek kialakítva. Ha a hang nem hallható, ellenőrizze a forrasztási kötéseket. Hasonlóképpen, forrasztja az RJ-9 csatlakozót ugyanazokkal a vezetékekkel, amelyek ugyanazokhoz a lyukakhoz csatlakoznak az érzékelő törőlapjain, azaz A4, A5, 3.3V és GND. A BME280 érzékelő két I2C címet támogat, vagyis két BME280 érzékelő csatlakoztatható egyszerre ugyanahhoz a vezérlőhöz. Eközben az egyik érzékelő címét meg kell változtatni az érzékelő forrasztópákainak áthidalásával. Az ESP-01 vezeték nélküli kapcsolati chip az alábbi kapcsolatokat igényelte az Arduino-val.
ESP-01 --------- Arduino Uno
10 -------------------- TX
11 -------------------- RX
Vcc ---------------- CH_PD
Vcc ------------------- Vcc
GND ----------------- GND
Megjegyzés:- Az Arduino Uno több LED-jét eltávolították az akkumulátor élettartamának javítása érdekében. A tápellátást jelző LED, az RX és a TX LED -eket eltávolították a forrasztási kötések felmelegítésével és a LED csipesszel történő megnyomásával.
2. lépés: Az IDE -k és könyvtárak beállítása
Programozás előtt le kell tölteni az Arduino IDE -t (integrált fejlesztői környezet). A programozás ezen a platformon történt. Különböző könyvtáraknak kellett együttműködniük az OPENSDL különböző összetevőivel. Az alábbi komponensekhez a következő könyvtárakat használtuk.
Alkatrész ------------------------------------------------- --------------Könyvtár
BME280 hőmérséklet és RH érzékelő --------------------------------- Cactus_io_BME280_I2C.h
Fényérzékelő------------------------------------------------ ---------------- SparkFun TSL2561.h
Valós idejű óra ----------------------------------------------- ------------- RTClib.h
SD kártya foglalat ----------------------------------------------- ------------- SD.h
I2C csatlakozás ------------------------------------------------ ------------- Vezeték.h
Az ESP01-gyel való kommunikációhoz nincs szükség külön könyvtárra, mivel az Arduino-ba feltöltött kód AT parancsokkal rendelkezik, amelyeket a soros monitor küld, ahonnan az ESP-01 veszi az utasításokat. Tehát alapvetően az AT parancsok, amelyekkel az ESP01 fut, a soros monitorba kerülnek nyomtatásra, amelyeket az ESP-01 beviteli parancsként vesz fel. E könyvtárak telepítéséhez a letöltés után nyissa meg az Arduino IDE -t, lépjen a Vázlat -> Könyvtár beillesztése ->. Zip könyvtár hozzáadása menüpontra, és válassza ki a letöltött könyvtárakat.
3. lépés: A rendszer programozása
Az OPENSDL programozása előtt csatlakoztassa az Arduino -t egy laptophoz. A csatlakoztatás után lépjen az Eszközök -> Port menübe, és válassza ki azt a COM portot, amelyhez az OPENSDL csatlakozik. Győződjön meg arról is, hogy az Eszközök -> Táblák alatt az Arduino Uno van kiválasztva.
Az OPENSDL -t 2 üzemmódban való használatra fejlesztették ki. Az első módban az adatokat az SD -kártyán tárolja az adatgyűjtő pajzsán. Második módban az adatokat az interneten keresztül egy weboldalra küldi egy ESP-01 Wi-Fi chip használatával. Mindkét mód programja eltérő. Ezek a kódsorok közvetlenül másolhatók és beilleszthetők az Arduino IDE szerkesztőbe, és közvetlenül felhasználhatók. Miután beírtuk a kódot, szükségünk van néhány testreszabásra:
- A naplózási intervallum megváltoztatásához manuálisan módosítsa a késleltetés értékét (1000) a kód végén. Az 1000 érték az intervallumot jelzi ezredmásodpercben.
- Szerkessze a kód sorát, amely azt írja, hogy mySensorData = SD.open ("Logged01.csv", FILE_WRITE); és cserélje ki a Logged01 -et a kívánt fájlnév fájlnevével. A fájl kiterjesztése is megváltoztatható a.csv kiterjesztés módosításával közvetlenül a fájlnév után.
- A mester/referencia érzékelő és a BME280 közötti korreláció megtalálásával elért kalibrációs egyenlet minden érzékelőnél eltérő lesz. Cserélje ki ezt a kódsort az érzékelők kalibrálására szolgáló egyenlettel: Sorozatnyomat ((1.0533*t2) -2.2374)-alapértelmezett címmel (0x77) rendelkező érzékelő esetén, ahol t2 a hőmérséklet-érzékelőből kiolvasott érték.
Külön program áll rendelkezésre az OPENSDL második rendelkezésre álló módjának programozására, amely a vezeték nélküli rendszer. Az ESP-01-t a 2. lépésben leírtak szerint kell csatlakoztatni az OPENSDL-hez. A kapcsolatok befejezése után csatlakoztassa az Arduino -t a laptophoz, és töltsön fel egy üres vázlatot az Arduino -ba. Állítsa az ESP-01-t frissítési módba, és frissítse a firmware-t a legújabb elérhető frissítésre. A frissítés után feltétlenül csatlakoztassa az Arduino visszaállító tüskéjét a 3,3 V -os tűhöz, amely megkerüli az Arduino rendszerbetöltőt
4. lépés: Gyártás
Az OPENSDL számára védőburkolatot hoztak létre a védelem és az esztétika javítása érdekében. A burkolatokat 3D nyomtatással fejlesztették ki PLA anyag felhasználásával, a mikrokontroller burkolatát pedig az MDF lemez lézeres vágásával és a darabok összeragasztásával. A 3D nyomtatott modelleket SketchUp szoftverrel, a 2D dxf rajzokat lézervágáshoz az AutoCAD segítségével készítették el.
3D nyomtatáshoz a SketchUp használatával előállított STL fájlokat megnyitották és ellenőrizték az Ultimaker Cura 3.2.1 szoftverben. Győződjön meg arról, hogy PLA anyagot használ, és a használt nyomtató fúvókája 0,4 mm -es nyomtatáshoz készült. A 3D nyomtató építőlemeze ragasztót igényelhet a 3D nyomtatott tárgy ragasztásához. De amikor a nyomtatás befejeződött, a ragasztó erős tapadást hoz létre a nyomtatott tárgy és az építőlemez között.
5. lépés: Kód
A kód (.ino fájlok) az Arduino IDE szoftverben működik. Itt található a link a Github oldalamhoz, ahol a kód és egyéb részletek találhatók.
github.com/arihant93/OPENSDL
Ne habozzon feltenni kérdéseket a projektről.
Kösz.
Ajánlott:
Q -Bot - a nyílt forráskódú Rubik -kocka megoldó: 7 lépés (képekkel)
Q -Bot - a nyílt forráskódú Rubik -kocka -megoldó: Képzeld el, hogy van egy kódolt Rubik -kocka, tudod, hogy a 80 -as évekből származó rejtvény mindenki számára megvan, de senki sem tudja, hogyan kell megoldani, és vissza akarod hozni az eredeti mintájába. Szerencsére manapság nagyon könnyű megoldási utasításokat találni
K -Ability V2 - nyílt forráskódú billentyűzet érintőképernyőkhöz: 6 lépés (képekkel)
K-Ability V2-Nyílt forráskódú, hozzáférhető billentyűzet érintőképernyőkhöz: Ez a prototípus a K-Ability második változata. A K-Ability egy fizikai billentyűzet, amely lehetővé teszi az érintőképernyős eszközök használatát olyan személyek számára, akiknek idegrendszeri rendellenességei vannak. Sok segédeszköz létezik amelyek megkönnyítik a számítás használatát
OpenLogger: Nagy felbontású, Wi-Fi engedélyezett, nyílt forráskódú, hordozható adatgyűjtő: 7 lépés
OpenLogger: Nagy felbontású, Wi-Fi-kompatibilis, nyílt forráskódú, hordozható adatgyűjtő: Az OpenLogger egy hordozható, nyílt forráskódú, olcsó, nagy felbontású adatgyűjtő, amelyet úgy terveztek, hogy kiváló minőségű méréseket végezzen drága szoftver vagy írási szoftver nélkül. a semmiből. Ha Ön mérnök, tudós vagy rajongó, aki nem
A "Sup - egér a négylábú embereknek" - alacsony költségű és nyílt forráskódú: 12 lépés (képekkel)
A „Sup - egér a négylábú embereknek - alacsony költségű és nyílt forráskódú: 2017 tavaszán a legjobb barátnőm családja megkérdezte tőlem, hogy szeretnék -e Denverbe repülni, és segíteni nekik egy projektben. Van egy barátjuk, Allen, akinek egy hegyi kerékpáros baleset következtében négylábúja van. Felix (a barátom) és néhány gyors vizsgálatot végeztünk
A ProtoBot felépítése - 100% -ban nyílt forráskódú, rendkívül olcsó, oktatási robot: 29 lépés (képekkel)
A ProtoBot építése - 100% -ban nyílt forráskódú, rendkívül olcsó, oktatási robot: A ProtoBot 100% -ban nyílt forráskódú, hozzáférhető, szuper olcsó és könnyen megépíthető robot. Minden nyílt forráskódú-hardver, szoftver, útmutatók és tananyag-ami azt jelenti, hogy bárki hozzáférhet mindenhez, amire szüksége van a robot építéséhez és használatához. Ez egy