Tartalomjegyzék:
- 1. lépés: Berendezés, amire szükségünk van
- 2. lépés: Hardverkapcsolatok
- 3. lépés: Kód
- 4. lépés: A kód működése
- 5. lépés: Alkalmazások és szolgáltatások
- 6. lépés: Erőforrások a továbblépéshez
Videó: Térkép orientáció webszerveren keresztül: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
A dolgok internete (IoT) az egyik legnépszerűbb téma a bolygón. És napról napra gyorsan növekszik az Internet segítségével. A tárgyak internete az egyszerű otthonokat intelligens otthonokká változtatja, ahol a lámpáktól a zárakig mindent okostelefonjáról vagy asztaláról vezérelhet. Ez az a luxus, amelyre mindenki vágyik.
Mindig a megszerzett eszközökkel játszunk, és azon dolgozunk, hogy továbblépjünk a határaink következő lépcsőjéhez. Igyekszünk ügyfeleinknek képet adni a legújabb technológiákról és ötletekről. Tehát, hogy otthonát intelligens otthonokká alakíthassa, és minden erőfeszítés nélkül élvezhesse a luxus ízét.
Ma az IoT egyik legfontosabb témáján - a digitális térképorientáción - dolgozunk.
Felépítünk egy webszervert, amelyen keresztül nyomon követhetjük bármely eszköz vagy dolog mozgását (Rajtad múlik, kit kérsz;). Mindig elgondolkodhat azon, hogy ezt a projektet a következő szintre emelje bizonyos módosításokkal, és ne felejtse el elmondani nekünk az alábbi megjegyzésekben.
Kezdjük, mint.. !!
1. lépés: Berendezés, amire szükségünk van
1. LSM9DS0 érzékelő
Az STMicroelectronics által gyártott 3 az 1-ben érzékelő, az LSM9DS0 egy csomagban lévő rendszer, amely 3D digitális lineáris gyorsulásérzékelőt, 3D digitális szögsebesség-érzékelőt és 3D digitális mágneses érzékelőt tartalmaz. Az LSM9DS0 lineáris gyorsulási skálája ± 2 g/± 4 g/± 6 g/± 8 g/± 16 g, mágneses mező teljes skála ± 2/± 4/± 8/± 12 gauss és szögsebessége ± 245 /± 500/± 2000 dps.
2. Adafruit Huzzah ESP8266
Az Espressif ESP8266 processzora egy 80 MHz-es mikrokontroller, teljes WiFi előlappal (ügyfélként és hozzáférési pontként is), valamint TCP/IP veremmel, DNS támogatással. Az ESP8266 egy hihetetlen platform az IoT -alkalmazások fejlesztéséhez. Az ESP8266 kiforrott platformot kínál az alkalmazások felügyeletéhez és vezérléséhez az Arduino Wire Language és az Arduino IDE használatával.
3. ESP8266 USB programozó
ESP8266 hosztadapterét kifejezetten a Dcube Store tervezte az ESP8266 Adafruit Huzzah verziójához, lehetővé téve az I²C felületet.
4. I2C csatlakozó kábel
5. Mini USB kábel
A mini USB kábel A tápegység ideális választás az Adafruit Huzzah ESP8266 tápellátásához.
2. lépés: Hardverkapcsolatok
Általában a kapcsolatok létrehozása a legegyszerűbb része ennek a projektnek. Kövesse az utasításokat és a képeket, és nem lehet probléma.
Először is vegye fel az Adafruit Huzzah ESP8266 készüléket, és helyezze rá az USB programozót (befelé néző I²C porttal). Óvatosan nyomja meg az USB programozót, és készen vagyunk ezzel a lépéssel, ami olyan egyszerű, mint a pite (lásd a fenti képet).
Az érzékelő és az Adafruit Huzzah ESP8266 csatlakoztatása Fogja meg az érzékelőt, és csatlakoztassa vele az I²C kábelt. A kábel megfelelő működéséhez ne feledje, hogy az I²C kimenet MINDIG az I²C bemenethez csatlakozik. Ugyanezt kellett követni az Adafruit Huzzah ESP8266 esetében is, amelyre az USB -programozót szerelték (lásd a fenti képet).
Az ESP8266 USB programozó segítségével az ESP programozása nagyon egyszerű. Mindössze annyit kell tennie, hogy csatlakoztatja az érzékelőt az USB programozóhoz, és már indulhat is. Inkább ezt az adaptert használjuk, mert sokkal könnyebb a hardver csatlakoztatása. Nem kell aggódnia, hogy az ESP csapjait az érzékelőhöz forrasztja, vagy a pin diagramokat és az adatlapot olvassa. Egyidejűleg több érzékelőt is használhatunk és dolgozhatunk rajtuk, csak láncot kell készíteni. Ezek nélkül a plug and play USB programozó nélkül nagy a veszélye annak, hogy rossz kapcsolatot létesít. A rossz huzalozás megölheti a wifit és az érzékelőt.
Megjegyzés: A barna vezetéknek mindig követnie kell a föld (GND) kapcsolatot az egyik eszköz kimenete és egy másik eszköz bemenete között.
Az áramkör áramellátása
Csatlakoztassa a Mini USB kábelt az Adafruit Huzzah ESP8266 tápcsatlakozójához. Gyújts rá és íme, már indulhatunk is!
3. lépés: Kód
Az Adafruit Huzzah ESP8266 és LSM9DS0 érzékelő ESP kódja elérhető a github tárházunkban.
Mielőtt folytatná a kódot, feltétlenül olvassa el a Readme fájlban található utasításokat, és állítsa be az Adafruit Huzzah ESP8266 készüléket ennek megfelelően. Az ESP beállítása mindössze 5 percet vesz igénybe.
A kód hosszú, de a legegyszerűbb formában képzelhető el, és nem lesz nehéz megérteni.
Az Ön kényelme érdekében innen is másolhatja az érzékelő működő ESP -kódját:
// Szabad akaratú licenccel terjesztve. // LSM9DSO // Ez a kód a dcubestore.com webhelyen elérhető TCS3414_I2CS I2C mini modullal való együttműködésre készült.
#befoglalni
#befoglalni
#befoglalni
#befoglalni
// Az LSM9DSO Gyro I2C címe 6A (106)
#define Addr_Gyro 0x6A // LSM9DSO Accl I2C cím 1E (30) #define Addr_Accl 0x1E
const char* ssid = "a te ssid";
const char* password = "a jelszó"; int xGyro, yGyro, zGyro, xAccl, yAccl, zAccl, xMag, yMag, zMag;
ESP8266WebServer szerver (80);
üres fogantyú ()
{unsigned int data [6];
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr_Gyro); // Vezérlőregiszter kiválasztása 1 Wire.write (0x20); // Adatsebesség = 95 Hz, X, Y, Z-tengely engedélyezve, bekapcsolás a Wire.write (0x0F); // Stop I2C Transmission Wire.endTransmission ();
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr_Gyro); // Vezérlőregiszter kiválasztása 4 Wire.write (0x23); // Teljes skála 2000 dps, folyamatos frissítés Wire.write (0x30); // Stop I2C Transmission Wire.endTransmission ();
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr_Accl); // Vezérlőregiszter kiválasztása 1 Wire.write (0x20); // Gyorsulási adatsebesség = 100 Hz, X, Y, Z-tengely engedélyezve, bekapcsolás a Wire.write-en (0x67); // Az I2C átvitel leállítása a készüléken Wire.endTransmission ();
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr_Accl); // Vezérlőregiszter kiválasztása 2 Wire.write (0x21); // Teljes skálaválaszték +/- 16g Wire.write (0x20); // Stop I2C Transmission Wire.endTransmission ();
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr_Accl); // Vezérlőregiszter kiválasztása 5 Wire.write (0x24); // Mágneses nagy felbontás, kimeneti adatsebesség = 50Hz Wire.write (0x70); // Stop I2C Transmission Wire.endTransmission ();
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr_Accl); // Vezérlőregiszter kiválasztása 6 Wire.write (0x25); // Mágneses teljes skála +/- 12 gauss Wire.write (0x60); // Stop I2C Transmission Wire.endTransmission ();
// Indítsa el az I2C átvitelt
Wire.beginTransmission (Addr_Accl); // Vezérlőregiszter kiválasztása 7 Wire.write (0x26); // Normál mód, mágneses folyamatos átalakítási mód Wire.write (0x00); // Stop I2C Transmission Wire.endTransmission (); késleltetés (300);
for (int i = 0; i <6; i ++) {// Indítsa el az I2C átviteli vezetéket.beginTransmission (Addr_Gyro); // Adatregiszter kiválasztása Wire.write ((40 + i)); // Stop I2C Transmission Wire.endTransmission ();
// 1 bájt adat kérése
Wire.requestFrom (Addr_Gyro, 1);
// 6 bájt adat olvasása
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb if (Wire.available () == 1) {data = Wire.read (); }}
// Konvertálja az adatokat
int xGyro = ((adatok [1] * 256) + adatok [0]); int yGyro = ((adatok [3] * 256) + adatok [2]); int zGyro = ((adatok [5] * 256) + adatok [4]);
for (int i = 0; i <6; i ++) {// Indítsa el az I2C átviteli vezetéket.beginTransmission (Addr_Accl); // Adatregiszter kiválasztása Wire.write ((40 + i)); // Stop I2C Transmission Wire.endTransmission ();
// 1 bájt adat kérése
Wire.requestFrom (Addr_Accl, 1);
// 6 bájt adat olvasása
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb // zAccl lsb, zAccl msb if (Wire.available () == 1) {data = Wire.read (); }}
// Konvertálja az adatokat
int xAccl = ((adatok [1] * 256) + adatok [0]); int yAccl = ((adatok [3] * 256) + adatok [2]); int zAccl = ((adatok [5] * 256) + adatok [4]);
for (int i = 0; i <6; i ++) {// Indítsa el az I2C átviteli vezetéket.beginTransmission (Addr_Accl); // Adatregiszter kiválasztása Wire.write ((8 + i)); // Stop I2C Transmission Wire.endTransmission ();
// 1 bájt adat kérése
Wire.requestFrom (Addr_Accl, 1);
// 6 bájt adat olvasása
// xMag lsb, xMag msb, yMag lsb, yMag msb // zMag lsb, zMag msb if (Wire.available () == 1) {data = Wire.read (); }}
// Konvertálja az adatokat
int xMag = ((adatok [1] * 256) + adatok [0]); int yMag = ((adatok [3] * 256) + adatok [2]); int zMag = ((adatok [5] * 256) + adatok [4]);
// Adatok kimenete soros monitorra
Serial.print ("X forgástengely:"); Soros.println (xGyro); Serial.print ("Y-forgástengely:"); Soros.println (yGyro); Serial.print ("Z forgástengely:"); Soros.println (zGyro); Serial.print ("Gyorsulás az X-tengelyben:"); Sorozat.println (xAccl); Serial.print ("Gyorsulás az Y tengelyen:"); Soros.println (yAccl); Serial.print ("Gyorsulás Z-tengelyben:"); Soros.println (zAccl); Serial.print ("Mágneses mező az X-tengelyen:"); Soros.println (xMag); Serial.print ("Mágneses mező az Y tengelyen:"); Soros.println (yMag); Serial.print ("Mágneses fájl Z-tengelyben:"); Soros.println (zMag);
// Adatok kimenete a webszerverre
server.sendContent ("
DCUBE ÁRUHÁZ
www.dcubestore.com
"" LSM9DS0 érzékelő I2C mini modul
);
server.sendContent ("
X-forgástengely = " + String (xGyro)); server.sendContent ("
Y-forgástengely = " + String (yGyro)); server.sendContent ("
Z-forgástengely = " + String (zGyro)); server.sendContent ("
Gyorsulás az X-tengelyben = " + String (xAccl)); server.sendContent ("
Gyorsulás az Y tengelyben = " + String (yAccl)); server.sendContent ("
Gyorsulás a Z-tengelyben = " + String (zAccl)); server.sendContent ("
Mágneses fájl az X-tengelyben = " + String (xMag)); server.sendContent ("
Mágneses fájl Y-tengelyben = " + String (yMag)); server.sendContent ("
Mágneses fájl Z-tengelyben = " + String (zMag)); késleltetés (1000);}
üres beállítás ()
{// Inicializálja az I2C kommunikációt MASTER Wire néven.begin (2, 14); // Soros kommunikáció inicializálása, adatátviteli sebesség beállítása = 115200 Serial.begin (115200);
// Csatlakozás WiFi hálózathoz
WiFi.begin (ssid, jelszó);
// Várja meg a csatlakozást
while (WiFi.status ()! = WL_CONNECTED) {delay (500); Soros.nyomtatás ("."); } Soros.println (""); Serial.print ("Csatlakoztatva"); Soros.println (ssid);
// Szerezze be az ESP8266 IP -címét
Serial.print ("IP -cím:"); Serial.println (WiFi.localIP ());
// Indítsa el a szervert
server.on ("/", handroot); szerver.begin (); Serial.println ("HTTP szerver elindult"); }
üres hurok ()
{server.handleClient (); }
4. lépés: A kód működése
Most töltse le (vagy git pull) a kódot, és nyissa meg az Arduino IDE -ben.
Fordítsa össze és töltse fel a kódot, és nézze meg a kimenetet a Serial Monitoron.
Megjegyzés: Feltöltés előtt feltétlenül írja be az SSID -hálózatot és a jelszót a kódba.
Másolja ki az ESP8266 IP -címét a soros monitorból, és illessze be a böngészőbe. Látni fog egy weboldalt, amely a 3 tengelyben a forgástengelyt, a gyorsulást és a mágneses mező leolvasását tartalmazza.
Az érzékelő kimenete a soros monitoron és a webszerveren a fenti képen látható.
5. lépés: Alkalmazások és szolgáltatások
Az LSM9DS0 egy csomagban lévő rendszer, amely 3D digitális lineáris gyorsulásérzékelőt, 3D digitális szögsebesség-érzékelőt és 3D digitális mágneses érzékelőt tartalmaz. E három tulajdonság mérésével sok ismeretet szerezhet egy tárgy mozgásáról. A Föld mágneses mezőjének erejét és irányát magnetométerrel mérve közelítheti az irányt. A telefon gyorsulásmérője meg tudja mérni a gravitációs erő irányát, és megbecsülheti a tájolást (álló, fekvő, lapos stb.). A beépített giroszkóppal rendelkező quadcopterek figyelhetnek a hirtelen elgurulásokra vagy dőlésekre. Ezt használhatjuk a globális helymeghatározó rendszerben (GPS).
További alkalmazások közé tartozik a beltéri navigáció, az intelligens felhasználói felületek, a fejlett gesztusfelismerés, a játék- és virtuális valóság -beviteli eszközök stb.
Az ESP8266 segítségével nagyobb hosszúságra növelhetjük kapacitását. Irányíthatjuk készülékeinket, és monitorozhatjuk azok teljesítményét asztali számítógépeinkről és mobil eszközeinkről. Az adatokat online tárolhatjuk és kezelhetjük, és bármikor tanulmányozhatjuk azokat a módosítások érdekében. További alkalmazások közé tartozik az otthonautomatizálás, a hálóhálózat, az ipari vezeték nélküli vezérlés, a bébiőrök, az érzékelőhálózatok, a hordható elektronika, a Wi-Fi helyérzékeny eszközök, a Wi-Fi helyzetrendszer jelzőfényei.
6. lépés: Erőforrások a továbblépéshez
Ha többet szeretne megtudni az LSM9DS0 és ESP8266 eszközökről, nézze meg az alábbi linkeket:
- LSM9DS0 érzékelő adatlapja
- LSM9DS0 bekötési rajz
- ESP8266 Adatlap
Ajánlott:
Oktatóanyag: Az ESP32-CAM használata a Video Streaming webszerveren: 3 lépés
Oktatóanyag: Az ESP32-CAM használata a Video Streaming webszerveren: Leírás: Az ESP32-CAM egy nagyon kicsi ESP32 vezeték nélküli IoT Vision Development Board, amelyet különféle IoT projektekhez, például otthoni intelligens eszközökhöz, ipari használatra terveztek vezeték nélküli vezérlés, vezeték nélküli felügyelet, QR vezeték nélküli azonosítás
ESP8266 Nodemcu hőmérséklet -figyelés DHT11 használatával a helyi webszerveren - Szobahőmérséklet és páratartalom beállítása a böngészőben: 6 lépés
ESP8266 Nodemcu hőmérséklet -figyelés DHT11 használatával a helyi webszerveren | Szobahőmérséklet és páratartalom beállítása böngészőjében: Sziasztok, ma páratartalmat és amp; hőmérséklet -felügyeleti rendszer ESP 8266 NODEMCU & DHT11 hőmérséklet -érzékelő. A hőmérsékletet és a páratartalmat a DHT11 Sensor & böngészőben látható, hogy melyik weboldalt fogják kezelni
Eszközök irányítása az interneten keresztül a böngészőn keresztül. (IoT): 6 lépés
Eszközök irányítása az interneten keresztül a böngészőn keresztül. (IoT): Ebben az utasításban megmutatom, hogyan vezérelheti az olyan eszközöket, mint a LED-ek, relék, motorok stb. Az interneten keresztül a webböngészőn keresztül. És biztonságosan hozzáférhet a kezelőszervekhez bármilyen eszközön. Az itt használt webes platform a RemoteMe.org látogatás
Az SSL -szolgáltatások megerősítése a webszerveren (Apache/ Linux): 3 lépés
Az SSL -szolgáltatások megerősítése a webszerveren (Apache/ Linux): Ez egy nagyon rövid oktatóanyag, amely a kiberbiztonság egyik aspektusával foglalkozik - az ssl szolgáltatás erősségével a webszerveren. A háttér az, hogy a webhelyén található ssl szolgáltatásokat annak biztosítására használják, hogy senki ne tudja feltörni az átvitt adatokat
Fájlok átvitele a LAN -on keresztül BitTorrenten keresztül: 6 lépés
Fájlok átvitele a LAN -on keresztül BitTorrenten keresztül: Néha előfordulhat, hogy fájlokat kell átvinni hálózaton keresztül több számítógépre. Bár flash -meghajtóra vagy CD/DVD -re teheti, minden számítógéphez el kell mennie, és másolnia kell a fájlokat, és eltarthat egy ideig, amíg az összes fájlt lemásolja (különösen az