Satura rādītājs:
- 1. solis: aprīkojums, kas mums vajadzīgs..
- 2. darbība. Aparatūras savienojumi
- 3. darbība: kods
- 4. darbība: koda darbība
- 5. darbība: lietojumprogrammas un līdzekļi
- 6. darbība. Resursi, lai dotos tālāk
Video: Kartes orientācija, izmantojot tīmekļa serveri: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Lietu internets (IoT) šobrīd ir viena no populārākajām tēmām uz planētas. Un ar internetu tas strauji pieaug katru dienu. Lietu internets vienkāršas mājas pārvērš par gudrām mājām, kur visu, sākot no gaismām un beidzot ar slēdzenēm, var vadīt no viedtālruņa vai darbvirsmas. Šī ir greznība, ko vēlas iegūt ikviens.
Mēs vienmēr spēlējamies ar iegūtajiem rīkiem un turpinām strādāt, lai pārietu uz nākamo robežu soli. Mēs cenšamies sniegt klientam redzējumu par jaunākajām tehnoloģijām un idejām. Tātad, lai jūs bez īpašām pūlēm varētu pārvērst savas mājas par gudrām mājām un izbaudīt greznības garšu.
Šodien mēs domājam par darbu pie vienas no vissvarīgākajām IoT tēmām - digitālās kartes orientācijas.
Mēs izveidosim tīmekļa serveri, caur kuru mēs varēsim uzraudzīt jebkuras ierīces vai lietas kustības (tas ir atkarīgs no jums, kuru jūs izspiegojat;)). Jūs vienmēr varat domāt par šī projekta paaugstināšanu nākamajā līmenī ar dažām izmaiņām un neaizmirstiet mums pastāstīt tālāk sniegtajos komentāros.
Sāksim nekā.. !!
1. solis: aprīkojums, kas mums vajadzīgs..
1. LSM9DS0 sensors
Trīs vienā sensors, ko ražo STMicroelectronics, LSM9DS0 ir sistēma komplektā ar 3D digitālo lineārā paātrinājuma sensoru, 3D digitālo leņķa ātruma sensoru un 3D digitālo magnētisko sensoru. LSM9DS0 lineārā paātrinājuma pilna skala ir ± 2 g/± 4 g/± 6 g/± 8 g/± 16 g, magnētiskā lauka pilna skala ir ± 2/± 4/± 8/± 12 gauss un leņķiskais ātrums ir ± 245 /± 500/± 2000 dps.
2. Adafruit Huzzah ESP8266
Espressif ESP8266 procesors ir 80 MHz mikrokontrolleris ar pilnu WiFi priekšpusi (gan kā klientu, gan piekļuves punktu) un TCP/IP steku ar DNS atbalstu. ESP8266 ir neticama platforma IoT lietojumprogrammu izstrādei. ESP8266 nodrošina nobriedušu platformu lietojumprogrammu uzraudzībai un kontrolei, izmantojot Arduino Wire Language un Arduino IDE.
3. ESP8266 USB programmētājs
viņa ESP8266 resursdatora adapteri speciāli izstrādāja Dcube veikals ESP8266 Adafruit Huzzah versijai, nodrošinot I²C saskarni.
4. I2C savienojuma kabelis
5. Mini USB kabelis
Mini USB kabelis Barošanas avots ir ideāla izvēle Adafruit Huzzah ESP8266 barošanai.
2. darbība. Aparatūras savienojumi
Kopumā savienojuma izveide ir vienkāršākā šī projekta daļa. Izpildiet norādījumus un attēlus, un jums nevajadzētu rasties problēmām.
Vispirms paņemiet Adafruit Huzzah ESP8266 un novietojiet uz tā USB programmētāju (ar I²C portu uz iekšu). Viegli nospiediet USB programmētāju, un mēs esam paveikuši šo darbību tikpat viegli kā pīrāgs (skatiet attēlu iepriekš).
Sensora un Adafruit Huzzah ESP8266 savienojums Paņemiet sensoru un pievienojiet tam I²C kabeli. Lai šis kabelis darbotos pareizi, atcerieties, ka I²C izeja VIENMĒR tiek savienota ar I²C ieeju. Tas pats bija jāievēro attiecībā uz Adafruit Huzzah ESP8266 ar USB programmētāju (skat. Attēlu iepriekš).
Ar ESP8266 USB programmētāja palīdzību ir ļoti viegli programmēt ESP. Viss, kas jums jādara, ir pievienojiet sensoru USB programmētājam, un jums ir labi doties. Mēs dodam priekšroku šim adapterim, jo tas ievērojami atvieglo aparatūras savienošanu. Neuztraucieties par ESP tapu pielodēšanu pie sensora vai pin diagrammu un datu lapas lasīšanu. Mēs varam vienlaikus izmantot un strādāt ar vairākiem sensoriem, jums vienkārši jāizveido ķēde. Bez šiem plug and play USB programmētājiem pastāv liels risks izveidot nepareizu savienojumu. Slikta elektroinstalācija var nogalināt jūsu wifi, kā arī sensoru.
Piezīme. Brūnajam vadam vienmēr jāseko zemējuma (GND) savienojumam starp vienas ierīces izeju un citas ierīces ieeju.
Ķēdes barošana
Pievienojiet mini USB kabeli Adafruit Huzzah ESP8266 strāvas ligzdai. Iededziet to un voila, mums ir labi doties!
3. darbība: kods
Adafruit Huzzah ESP8266 un LSM9DS0 sensora ESP kods ir pieejams mūsu github krātuvē.
Pirms turpināt kodu, noteikti izlasiet Readme failā sniegtos norādījumus un atbilstoši tam iestatiet Adafruit Huzzah ESP8266. ESP iestatīšana prasīs tikai 5 minūtes.
Kods ir garš, taču tas ir visvienkāršākajā formā, kādu varat iedomāties, un jums nebūs grūtību to saprast.
Jūsu ērtībai no šejienes varat nokopēt arī šī sensora darba ESP kodu:
// Izplatīts ar brīvās gribas licenci. // LSM9DSO // Šis kods ir paredzēts darbam ar TCS3414_I2CS I2C mini moduli, kas pieejams vietnē dcubestore.com.
#iekļaut
#iekļaut
#iekļaut
#iekļaut
// LSM9DSO Gyro I2C adrese ir 6A (106)
#define Addr_Gyro 0x6A // LSM9DSO Accl I2C adrese ir 1E (30) #define Addr_Accl 0x1E
const char* ssid = "tavs ssid";
const char* parole = "tava parole"; int xGyro, yGyro, zGyro, xAccl, yAccl, zAccl, xMag, yMag, zMag;
ESP8266WebServer serveris (80);
tukšs rokturis ()
{neparakstīti int dati [6];
// Sākt I2C pārraidi
Wire.beginTransmission (Addr_Gyro); // Atlasiet vadības reģistru 1 Wire.write (0x20); // Datu pārraides ātrums = 95Hz, X, Y, iespējota Z ass, ieslēdziet Wire.write (0x0F); // Stop I2C Transmission Wire.endTransmission ();
// Sākt I2C pārraidi
Wire.beginTransmission (Addr_Gyro); // Atlasiet vadības reģistru 4 Wire.write (0x23); // Pilna mēroga 2000 dps, nepārtraukta atjaunināšana Wire.write (0x30); // Stop I2C Transmission Wire.endTransmission ();
// Sākt I2C pārraidi
Wire.beginTransmission (Addr_Accl); // Atlasiet vadības reģistru 1 Wire.write (0x20); // Paātrinājuma datu pārraides ātrums = 100Hz, X, Y, iespējota Z ass, ieslēdziet Wire.write (0x67); // Apturēt I2C pārraidi ierīcē Wire.endTransmission ();
// Sākt I2C pārraidi
Wire.beginTransmission (Addr_Accl); // Izvēlieties vadības reģistru 2 Wire.write (0x21); // Pilna mēroga izvēle +/- 16g Wire.write (0x20); // Stop I2C Transmission Wire.endTransmission ();
// Sākt I2C pārraidi
Wire.beginTransmission (Addr_Accl); // Atlasiet vadības reģistru 5 Wire.write (0x24); // Magnētiska augsta izšķirtspēja, izejas datu pārraides ātrums = 50Hz Wire.write (0x70); // Stop I2C Transmission Wire.endTransmission ();
// Sākt I2C pārraidi
Wire.beginTransmission (Addr_Accl); // Atlasiet vadības reģistru 6 Wire.write (0x25); // Magnētiska pilna mēroga +/- 12 gauss Wire.write (0x60); // Stop I2C Transmission Wire.endTransmission ();
// Sākt I2C pārraidi
Wire.beginTransmission (Addr_Accl); // Atlasiet vadības reģistru 7 Wire.write (0x26); // Normālais režīms, magnētiskās nepārtrauktās konversijas režīms Wire.write (0x00); // Stop I2C Transmission Wire.endTransmission (); kavēšanās (300);
for (int i = 0; i <6; i ++) {// Start I2C Transmission Wire.beginTransmission (Addr_Gyro); // Atlasiet datu reģistru Wire.write ((40 + i)); // Stop I2C Transmission Wire.endTransmission ();
// Pieprasīt 1 baitu datu
Wire.requestFrom (Addr_Gyro, 1);
// Lasīt 6 baitus datu
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb if (Wire.available () == 1) {data = Wire.read (); }}
// Konvertēt datus
int xGyro = ((dati [1] * 256) + dati [0]); int yGyro = ((dati [3] * 256) + dati [2]); int zGyro = ((dati [5] * 256) + dati [4]);
for (int i = 0; i <6; i ++) {// Start I2C Transmission Wire.beginTransmission (Addr_Accl); // Atlasiet datu reģistru Wire.write ((40 + i)); // Stop I2C Transmission Wire.endTransmission ();
// Pieprasīt 1 baitu datu
Wire.requestFrom (Addr_Accl, 1);
// Lasīt 6 baitus datu
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb // zAccl lsb, zAccl msb if (Wire.available () == 1) {data = Wire.read (); }}
// Konvertēt datus
int xAccl = ((dati [1] * 256) + dati [0]); int yAccl = ((dati [3] * 256) + dati [2]); int zAccl = ((dati [5] * 256) + dati [4]);
for (int i = 0; i <6; i ++) {// Start I2C Transmission Wire.beginTransmission (Addr_Accl); // Atlasiet datu reģistru Wire.write ((8 + i)); // Stop I2C Transmission Wire.endTransmission ();
// Pieprasīt 1 baitu datu
Wire.requestFrom (Addr_Accl, 1);
// Lasīt 6 baitus datu
// xMag lsb, xMag msb, yMag lsb, yMag msb // zMag lsb, zMag msb if (Wire.available () == 1) {data = Wire.read (); }}
// Konvertēt datus
int xMag = ((dati [1] * 256) + dati [0]); int yMag = ((dati [3] * 256) + dati [2]); int zMag = ((dati [5] * 256) + dati [4]);
// Izvadiet datus uz seriālo monitoru
Serial.print ("Rotācijas X ass:"); Serial.println (xGyro); Serial.print ("Y rotācijas ass:"); Sērijas.println (yGyro); Serial.print ("Z rotācijas ass:"); Serial.println (zGyro); Serial.print ("Paātrinājums X-asī:"); Serial.println (xAccl); Serial.print ("Paātrinājums Y-asī:"); Serial.println (yAccl); Serial.print ("Paātrinājums Z-asī:"); Serial.println (zAccl); Serial.print ("Magnētiskais lauks X-asī:"); Serial.println (xMag); Serial.print ("Magnētiskais lauks Y-asī:"); Serial.println (yMag); Serial.print ("Magnētiskais iesniegts Z-ass:"); Serial.println (zMag);
// Izvadiet datus uz tīmekļa serveri
server.sendContent ("
DCUBE VEIKALS
www.dcubestore.com
"" LSM9DS0 sensora I2C mini modulis
);
server.sendContent ("
Rotācijas X ass = " + virkne (xGyro)); server.sendContent ("
Rotācijas Y ass = " + virkne (yGyro)); server.sendContent ("
Rotācijas Z ass = " + virkne (zGyro)); server.sendContent ("
Paātrinājums X-asī = " + virkne (xAccl)); server.sendContent ("
Paātrinājums Y-ass = " + virkne (yAccl)); server.sendContent ("
Paātrinājums Z-asī = " + virkne (zAccl)); server.sendContent ("
Magnētiskais fails X-ass = " + virkne (xMag)); server.sendContent ("
Magnētiskais iesniegts Y-ass = " + virkne (yMag)); server.sendContent ("
Magnētiskais iesniegts Z-ass = " + virkne (zMag)); kavēšanās (1000);}
anulēts iestatījums ()
{// Inicializēt I2C komunikāciju kā MASTER Wire.begin (2, 14); // Inicializēt seriālo komunikāciju, iestatīt pārraides ātrumu = 115200 Serial.begin (115200);
// Savienojuma izveide ar WiFi tīklu
WiFi.begin (ssid, parole);
// Pagaidiet savienojumu
while (WiFi.status ()! = WL_CONNECTED) {kavēšanās (500); Sērijas nospiedums ("."); } Serial.println (""); Serial.print ("Savienots ar"); Serial.println (ssid);
// Iegūstiet ESP8266 IP adresi
Serial.print ("IP adrese:"); Serial.println (WiFi.localIP ());
// Sākt serveri
server.on ("/", rokturis); server.begin (); Serial.println ("HTTP serveris ir palaists"); }
tukša cilpa ()
{server.handleClient (); }
4. darbība: koda darbība
Tagad lejupielādējiet (vai git pull) kodu un atveriet to Arduino IDE.
Apkopojiet un augšupielādējiet kodu un skatiet seriālā monitora rezultātu.
Piezīme. Pirms augšupielādes noteikti ievadiet kodā savu SSID tīklu un paroli.
Kopējiet ESP8266 IP adresi no sērijas monitora un ielīmējiet to savā tīmekļa pārlūkprogrammā. Jūs redzēsit tīmekļa lapu ar rotācijas asi, paātrinājumu un magnētiskā lauka nolasīšanu 3 asīs.
Sensora izvade seriālajā monitorā un tīmekļa serverī ir parādīta iepriekš redzamajā attēlā.
5. darbība: lietojumprogrammas un līdzekļi
LSM9DS0 ir komplektā iekļauta sistēma ar 3D digitālo lineārā paātrinājuma sensoru, 3D digitālo leņķa ātruma sensoru un 3D digitālo magnētisko sensoru. Izmērot šīs trīs īpašības, jūs varat iegūt daudz zināšanu par objekta kustību. Izmērot Zemes magnētiskā lauka spēku un virzienu ar magnetometru, jūs varat aptuveni noteikt savu virzienu. Akselerometrs tālrunī var izmērīt gravitācijas spēka virzienu un novērtēt orientāciju (portrets, ainava, plakana utt.). Kvadkopteri ar iebūvētiem žiroskopiem var pievērst uzmanību pēkšņiem rullīšiem vai slīpumiem. Mēs to varam izmantot globālajā pozicionēšanas sistēmā (GPS).
Vēl dažas lietojumprogrammas ietver iekštelpu navigāciju, viedās lietotāja saskarnes, uzlaboto žestu atpazīšanu, spēļu un virtuālās realitātes ievades ierīces utt.
Ar ESP8266 palīdzību mēs varam palielināt tā ietilpību līdz lielākam garumam. Mēs varam kontrolēt savas ierīces un uzraudzīt to veiktspēju no galddatoriem un mobilajām ierīcēm. Mēs varam glabāt un pārvaldīt datus tiešsaistē un jebkurā laikā tos izpētīt, lai veiktu izmaiņas. Citas lietojumprogrammas ietver mājas automatizāciju, acu tīklu, rūpniecisko bezvadu vadību, bērnu monitorus, sensoru tīklus, valkājamu elektroniku, Wi-Fi atrašanās vietas zinošas ierīces, Wi-Fi pozicionēšanas sistēmas bākas.
6. darbība. Resursi, lai dotos tālāk
Lai iegūtu papildinformāciju par LSM9DS0 un ESP8266, skatiet tālāk norādītās saites:
- LSM9DS0 Sensora datu lapa
- LSM9DS0 elektroinstalācijas shēma
- ESP8266 datu lapa
Ieteicams:
Garāžas durvju atvērējs ar atsauksmēm, izmantojot tīmekļa serveri Esp8266 .: 6 soļi
Garāžas durvju atvērējs ar atsauksmēm, izmantojot tīmekļa serveri Esp8266. Sveiki, es jums parādīšu, kā vienkāršā veidā izveidot garāžas durvju atvērēju.-ESP8266 ir kodēts kā tīmekļa serveris, durvis var būt atvērtas visā pasaulē. atgriezeniskā saite, jūs zināt, vai durvis ir atvērtas vai aizvērtas reāllaikā-vienkāršs, tikai viens īsceļš
ESP8266 Nodemcu temperatūras uzraudzība, izmantojot DHT11 vietējā tīmekļa serverī - Pārlūkprogrammā iegūstiet istabas temperatūru un mitrumu: 6 soļi
ESP8266 Nodemcu temperatūras uzraudzība, izmantojot DHT11 vietējā tīmekļa serverī | Iegūstiet istabas temperatūru un mitrumu savā pārlūkprogrammā: Sveiki, puiši, šodien mēs izveidosim mitrumu & temperatūras uzraudzības sistēma, izmantojot ESP 8266 NODEMCU & DHT11 temperatūras sensors. Temperatūru un mitrumu noteiks DHT11 sensors & to var redzēt pārlūkprogrammā, kura tīmekļa lapa tiks pārvaldīta
Ar internetu kontrolēta gaismas diode, izmantojot tīmekļa serveri, kura pamatā ir ESP32: 10 soļi
Ar internetu kontrolēta gaismas diode, izmantojot tīmekļa serveri, kura pamatā ir ESP32: Projekta pārskats Šajā piemērā mēs izdomāsim, kā izveidot uz ESP32 balstītu tīmekļa serveri, lai kontrolētu LED stāvokli, kas ir pieejams no jebkuras vietas pasaulē. Šim projektam jums būs nepieciešams Mac dators, taču jūs varat palaist šo programmatūru pat i
ESP 8266 Nodemcu Ws 2812 uz neopikseliem balstīta LED MOOD lampa, kas kontrolēta, izmantojot tīmekļa serveri: 6 soļi
ESP 8266 Nodemcu Ws 2812 uz neopikseliem balstīta LED MOOD lampa, kas tiek kontrolēta, izmantojot tīmekļa serveri: Šajā projektā mēs izgatavosim MOOD lampu no nodemcu & neopixel un kuru var kontrolēt jebkura pārlūkprogramma, izmantojot vietējo tīmekļa serveri
7 segmentu LED displeja vadīšana, izmantojot tīmekļa serveri ESP8266: 8 soļi (ar attēliem)
7 segmentu LED displeja vadīšana, izmantojot ESP8266 tīmekļa serveri: manam projektam ir Nodemcu ESP8266, kas kontrolē 7 segmentu displeju, izmantojot http serveri, izmantojot html formu