Orodha ya maudhui:
- Hatua ya 1: Vifaa Tunavyohitaji.. !
- Hatua ya 2: Uunganisho wa vifaa
- Hatua ya 3: Kanuni
- Hatua ya 4: Kufanya kazi kwa Kanuni
- Hatua ya 5: Maombi na Vipengele
- Hatua ya 6: Rasilimali za Kuendelea Zaidi
Video: Uelekezaji wa Ramani Kupitia Seva ya Wavuti: Hatua 6
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Mtandao wa Vitu, (IoT) ni moja wapo ya mada maarufu kwenye sayari hivi sasa. Na, inakua haraka siku kwa siku na mtandao. Mtandao wa Vitu unabadilisha nyumba rahisi kuwa nyumba nzuri, ambapo kila kitu kutoka kwa taa yako hadi kufuli yako inaweza kudhibitiwa kutoka kwa smartphone yako au desktop. Hii ndio anasa ambayo kila mtu anataka kumiliki.
Sisi hucheza kila wakati na zana tulizonazo na tunaendelea kufanya kazi kwenda kwenye hatua inayofuata ya mipaka yetu. Tunajaribu kumpa mteja wetu maono ya teknolojia za kisasa na maoni. Kwa hivyo, unaweza kubadilisha nyumba yako kuwa nyumba nzuri na kufurahiya ladha ya anasa bila juhudi nyingi.
Leo, tunafikiria kufanya kazi kwa moja ya mada muhimu zaidi katika IoT - Mwelekeo wa Ramani ya Dijiti.
Tutaunda seva ya wavuti kupitia ambayo tunaweza kufuatilia mienendo ya kifaa chochote au kitu chochote (Yako juu yako, ambaye umepata kupeleleza;)). Daima unaweza kufikiria juu ya kuboresha mradi huu hadi kiwango kingine na marekebisho kadhaa na usisahau kutuambia katika maoni hapa chini.
Anza kuanza kuliko.. !!
Hatua ya 1: Vifaa Tunavyohitaji.. !
1. Sensor ya LSM9DS0
Sensor ya 3-in-1 iliyotengenezwa na STMicroelectronics, LSM9DS0 ni mfumo-katika-kifurushi kilicho na sensorer ya kuongeza kasi ya dijiti ya 3D, sensa ya kiwango cha angular ya 3D, na sensa ya sumaku ya dijiti ya 3D. LSM9DS0 ina kiwango cha kuongeza kasi kamili cha ± 2g / ± 4g / ± 6g / ± 8g / ± 16g, uwanja wa sumaku kamili ya kiwango cha ± 2 / ± 4 / ± 8 / ± 12 gauss na kiwango cha angular cha ± 245 / ± 500 / ± 2000 dps.
2. Adafruit Huzzah ESP8266
Prosesa ya ESP8266 kutoka Espressif ni microcontroller 80 MHz iliyo na mwisho kamili wa mbele ya Wifi (wote kama mteja na kituo cha ufikiaji) na stack ya TCP / IP na msaada wa DNS pia. ESP8266 ni jukwaa la kushangaza la maendeleo ya matumizi ya IoT. ESP8266 hutoa jukwaa la kukomaa la ufuatiliaji na udhibiti wa matumizi ukitumia Lugha ya waya ya Arduino na IDE ya Arduino.
3. Programu ya USB ya ESP8266
adapta yake ya mwenyeji ya ESP8266 iliundwa haswa na Duka la Dcubekwa toleo la Adafruit Huzzah la ESP8266, ikiruhusu kiolesura cha I²C.
4. I2C Kuunganisha Cable
5. Kebo ya Mini USB
Usambazaji wa kebo ndogo ya USB ni chaguo bora ya kuwezesha Adafruit Huzzah ESP8266.
Hatua ya 2: Uunganisho wa vifaa
Kwa ujumla, kufanya unganisho ni sehemu rahisi zaidi katika mradi huu. Fuata maagizo na picha, na haupaswi kuwa na shida.
Kwanza kabisa chukua Adafruit Huzzah ESP8266 na uweke Programu ya USB (na Inward Facing I²C Port) juu yake. Bonyeza Programu ya USB kwa upole na tumemaliza kwa hatua hii rahisi kama pai (Tazama picha hapo juu).
Uunganisho wa Sensor na Adafruit Huzzah ESP8266Chukua sensorer na Unganisha Cable ya I²C nayo. Kwa utendakazi sahihi wa kebo hii, tafadhali kumbuka Pato la I ALC Daima huunganisha kwa Ingizo la I²C. Hiyo ilibidi ifuatwe kwa Adafruit Huzzah ESP8266 na Programu ya USB imewekwa juu yake (Tazama picha hapo juu).
Kwa msaada wa Programu ya USB ya ESP8266, ni rahisi sana kupanga programu ya ESP. Unachohitaji kufanya ni kuziba sensorer katika Programu ya USB na uko vizuri kwenda. Tunapendelea kutumia adapta hii kwa sababu inafanya iwe rahisi sana kuunganisha vifaa. Hakuna wasiwasi juu ya kuuza pini za ESP kwa sensorer au kusoma michoro ya pini na hati ya data. Tunaweza kutumia na kufanya kazi kwenye sensorer nyingi wakati huo huo, unahitaji tu kutengeneza mnyororo. Bila kuziba hizi na kucheza Programu ya USB kuna hatari nyingi za kufanya unganisho lisilofaa. Wiring mbaya inaweza kuua wifi yako pamoja na sensa yako.
Kumbuka: Waya wa hudhurungi inapaswa kufuata uunganisho wa Ardhi (GND) kati ya pato la kifaa kimoja na uingizaji wa kifaa kingine.
Nguvu ya Mzunguko
Chomeka kebo ya Mini USB ndani ya jack ya nguvu ya Adafruit Huzzah ESP8266. Washa na voila, tuko vizuri kwenda!
Hatua ya 3: Kanuni
Nambari ya ESP ya Adafruit Huzzah ESP8266 na LSM9DS0 Sensor inapatikana kwenye hazina yetu ya github.
Kabla ya kuendelea na nambari, hakikisha unasoma maagizo yaliyotolewa kwenye faili ya Readme na usanidi Adafruit Huzzah ESP8266 kulingana na hiyo. Itachukua dakika 5 tu kuanzisha ESP.
Nambari ni ndefu lakini iko katika fomu rahisi zaidi ambayo unaweza kufikiria na hautakuwa na ugumu kuielewa.
Kwa urahisi wako, unaweza kunakili nambari inayofanya kazi ya sensor hii kutoka hapa pia:
// Imesambazwa na leseni ya hiari.// Itumie njia yoyote unayotaka, faida au bure, mradi inalingana na leseni za kazi zake zinazohusiana. // LSM9DSO // Nambari hii imeundwa kufanya kazi na Moduli ya Mini ya TCS3414_I2CS I2C inayopatikana kutoka dcubestore.com.
# pamoja
# pamoja
# pamoja
# pamoja
// Anwani ya LSM9DSO Gyro I2C ni 6A (106)
#fafanua Addr_Gyro 0x6A // LSM9DSO Accl I2C anwani ni 1E (30) #fafanua Addr_Accl 0x1E
const char * ssid = "ssid yako";
const char * password = "nywila yako"; int xGyro, yGyro, zGyro, xAccl, yAccl, zAccl, xMag, yMag, zMag;
Seva ya ESP8266WebServer (80);
mpini batili ()
data ambazo hazijasainiwa [6];
// Anza Uhamisho wa I2C
Uwasilishaji wa waya (Addr_Gyro); // Chagua rejista ya kudhibiti 1 Waya. Andika (0x20); // Kiwango cha data = 95Hz, X, Y, Z-Axis imewezeshwa, nguvu kwenye Wire.write (0x0F); // Acha waya wa usambazaji wa I2C.endUsambazaji ();
// Anza Uhamisho wa I2C
Uwasilishaji wa waya (Addr_Gyro); // Chagua rejista ya kudhibiti 4 Wire. Andika (0x23); // Dps kamili ya 2000, sasisho endelevu Wire.write (0x30); // Acha waya wa usambazaji wa I2C.endUsambazaji ();
// Anza Uhamisho wa I2C
Uwasilishaji wa waya (Addr_Accl); // Chagua rejista ya kudhibiti 1 Waya. Andika (0x20); // Kiwango cha data ya kuongeza kasi = 100Hz, X, Y, Z-Axis imewezeshwa, nguvu kwenye Wire.write (0x67); // Acha Uhamisho wa I2C kwenye kifaa cha Wire.endTransmission ();
// Anza Uhamisho wa I2C
Uwasilishaji wa waya (Addr_Accl); // Chagua rejista ya kudhibiti 2 Wire.write (0x21); // Uteuzi kamili wa kiwango +/- Waya wa 16g. Andika (0x20); // Acha waya wa usambazaji wa I2C.endUsambazaji ();
// Anza Uhamisho wa I2C
Uwasilishaji wa waya (Addr_Accl); // Chagua rejista ya kudhibiti 5 Wire. Andika (0x24); // Azimio kubwa la sumaku, kiwango cha data ya pato = 50Hz Waya. Andika (0x70); // Acha waya wa usambazaji wa I2C.endUsambazaji ();
// Anza Uhamisho wa I2C
Uwasilishaji wa waya (Addr_Accl); // Chagua rejista ya kudhibiti 6 Wire.write (0x25); // Magnetic kamili wadogo +/- 12 gauss Wire. Andika (0x60); // Acha waya wa usambazaji wa I2C.endUsambazaji ();
// Anza Uhamisho wa I2C
Uwasilishaji wa waya (Addr_Accl); // Chagua rejista ya kudhibiti 7. Waya. Andika (0x26); // Hali ya kawaida, njia ya uongofu inayoendelea ya waya.write (0x00); // Acha waya wa usambazaji wa I2C.endUsambazaji (); kuchelewesha (300);
kwa (int i = 0; i <6; i ++) {// Anzisha I2C Transmission Wire. anzaUwasilishaji (Addr_Gyro); // Chagua rejista ya data Wire.write ((40 + i)); // Acha waya wa usambazaji wa I2C.endUsambazaji ();
// Omba 1 byte ya data
Ombi la Wire. Toka (Addr_Gyro, 1);
// Soma ka 6 za data
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb ikiwa (Waya haipatikani () == 1) {data = Wire.read (); }}
// Badilisha data
int xGyro = ((data [1] * 256) + data [0]); int yGyro = ((data [3] * 256) + data [2]); int zGyro = ((data [5] * 256) + data [4]);
kwa (int i = 0; i <6; i ++) {// Anzisha I2C Transmission Wire. anzaUwasilishaji (Addr_Accl); // Chagua rejista ya data Wire.write ((40 + i)); // Acha waya wa usambazaji wa I2C.endUsambazaji ();
// Omba 1 byte ya data
Ombi la Wire. From (Addr_Accl, 1);
// Soma ka 6 za data
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb // zAccl lsb, zAccl msb ikiwa (Waya haipatikani () == 1) {data = Wire.read (); }}
// Badilisha data
int xAccl = ((data [1] * 256) + data [0]); int yAccl = ((data [3] * 256) + data [2]); int zAccl = ((data [5] * 256) + data [4]);
kwa (int i = 0; i <6; i ++) {// Anzisha I2C Transmission Wire. anzaUwasilishaji (Addr_Accl); // Chagua rejista ya data Wire.write ((8 + i)); // Acha waya wa usambazaji wa I2C.endUsambazaji ();
// Omba 1 byte ya data
Ombi la Wire. From (Addr_Accl, 1);
// Soma ka 6 za data
// xMag lsb, xMag msb, yMag lsb, yMag msb // zMag lsb, zMag msb ikiwa (Wire.available () == 1) {data = Wire.read (); }}
// Badilisha data
int xMag = ((data [1] * 256) + data [0]); int yMag = ((data [3] * 256) + data [2]); int zMag = ((data [5] * 256) + data [4]);
// data ya Pato kwa mfuatiliaji wa serial
Serial.print ("X-Axis ya mzunguko:"); Serial.println (xGyro); Serial.print ("Y-Axis ya mzunguko:"); Serial.println (yGyro); Serial.print ("Z-Axis ya mzunguko:"); Serial.println (zGyro); Serial.print ("Kuongeza kasi katika X-Axis:"); Serial.println (xAccl); Serial.print ("Kuongeza kasi katika Y-Axis:"); Serial.println (yAccl); Serial.print ("Kuongeza kasi katika Z-Axis:"); Serial.println (zAccl); Serial.print ("uwanja wa Magnetic katika X-Axis:"); Serial.println (xMag); Serial.print ("uwanja wa Magnetic katika Y-Axis:"); Serial.println (yMag); Serial.print ("Magnetic filed katika Z-Axis:"); Serial.println (zMag);
// Pato la data kwa seva ya wavuti
tumaContent (.
DUKA LA DCUBE
www.dcubestore.com
Moduli ya LSM9DS0 ya I2C Mini
);
tumaContent (.
X-Axis ya mzunguko = "+ Kamba (xGyro)); server.sendContent ("
Mzunguko wa Y-mzunguko = "+ Kamba (yGyro)); server.sendContent ("
Z-Axis ya mzunguko = "+ Kamba (zGyro)); server.sendContent ("
Kuongeza kasi katika X-Axis = "+ String (xAccl)); server.sendContent ("
Kuongeza kasi katika Y-Axis = "+ String (yAccl)); server.sendContent ("
Kuongeza kasi katika Z-Axis = "+ String (zAccl)); server.sendContent ("
Magnetic iliyowekwa katika X-Axis = "+ String (xMag)); server.sendContent ("
Magnetic iliyowekwa katika Y-Axis = "+ String (yMag)); server.sendContent ("
Magnetic iliyowekwa katika Z-Axis = "+ String (zMag)); kuchelewesha (1000);}
kuanzisha batili ()
{// Anzisha mawasiliano ya I2C kama MASTER Wire.anza (2, 14); // Anzisha mawasiliano ya serial, weka kiwango cha baud = 115200 Serial. Kuanza (115200);
// Unganisha kwenye mtandao wa WiFi
Kuanza kwa WiFi (ssid, password);
// Subiri unganisho
wakati (WiFi.status ()! = WL_CONNECTED) {kuchelewa (500); Printa ya serial ("."); } Serial.println (""); Serial.print ("Imeunganishwa na"); Serial.println (ssid);
// Pata anwani ya IP ya ESP8266
Serial.print ("Anwani ya IP:"); Serial.println (WiFi.localIP ());
// Anzisha seva
seva.on ("/", handleroot); anza (); Serial.println ("Seva ya HTTP imeanza"); }
kitanzi batili ()
{server.handleClient (); }
Hatua ya 4: Kufanya kazi kwa Kanuni
Sasa, pakua (au git vuta) nambari na uifungue katika Arduino IDE.
Kusanya na kupakia nambari hiyo na uone pato kwenye Serial Monitor.
Kumbuka: Kabla ya kupakia, hakikisha unaingiza mtandao wako wa SSID na nywila kwenye nambari.
Nakili anwani ya IP ya ESP8266 kutoka kwa Serial Monitor na uibandike kwenye kivinjari chako cha wavuti. Utaona ukurasa wa wavuti na mhimili wa mzunguko, kuongeza kasi na usomaji wa uwanja wa sumaku kwenye mhimili 3.
Pato la sensa kwenye Serial Monitor na Seva ya Wavuti imeonyeshwa kwenye picha hapo juu.
Hatua ya 5: Maombi na Vipengele
LSM9DS0 ni mfumo-katika-kifurushi kilicho na sensorer ya kuongeza kasi ya dijiti ya 3D, sensorer ya kiwango cha angular cha 3D, na sensa ya sumaku ya dijiti ya 3D. Kwa kupima mali hizi tatu, unaweza kupata maarifa mengi juu ya harakati za kitu. Kupima nguvu na mwelekeo wa uwanja wa sumaku wa Dunia na sumaku, unaweza kukadiria kichwa chako. Kichocheo katika simu yako kinaweza kupima mwelekeo wa nguvu ya uvutano, na kukadiria mwelekeo (picha, mandhari, gorofa, n.k.). Quadcopters zilizo na gyroscopes zilizojengwa zinaweza kutazama safu au viwanja vya ghafla. Tunaweza kutumia hii katika Mfumo wa Kuweka Nafasi Ulimwenguni (GPS).
Programu zingine zaidi ni pamoja na urambazaji wa ndani, viunganisho vya watumiaji mahiri, utambuzi wa ishara ya hali ya juu, Michezo ya kubahatisha na vifaa vya kuingiza ukweli halisi, n.k.
Kwa msaada wa ESP8266, tunaweza kuongeza uwezo wake kwa urefu zaidi. Tunaweza kudhibiti vifaa vyetu na kufuatilia kuna fomu za utendaji dawati zetu na vifaa vya rununu. Tunaweza kuhifadhi na kudhibiti data mkondoni na kuzisoma wakati wowote kwa marekebisho. Matumizi zaidi ni pamoja na Automatisering ya Nyumbani, Mtandao wa Mesh, Udhibiti wa Wireless wa Viwanda, Wachunguzi wa watoto, Mitandao ya Sensorer, Elektroniki zinazoweza kuvaliwa, Vifaa vinavyojua Mahali pa Wi-Fi, Mfumo wa Nafasi za Wi-Fi.
Hatua ya 6: Rasilimali za Kuendelea Zaidi
Kwa habari zaidi kuhusu LSM9DS0 na ESP8266, angalia viungo hapa chini:
- Hati ya LSM9DS0 ya Sensorer
- Mchoro wa LSM9DS0 Wiring
- Hati ya Haki ya ESP8266
Ilipendekeza:
ESP8266 na Visuino: Joto la DHT11 na Seva ya Wavuti ya Wavuti: Hatua 12
ESP8266 na Visuino: Joto la DHT11 na Seva ya Wavuti ya Unyevu: Moduli za ESP8266 ni vidhibiti nzuri vya kusimama peke yao vyenye kujengwa katika Wi-Fi, na tayari nimetengeneza Maagizo kadhaa juu yao. na sensorer Arduino Humidity, na nilitengeneza nambari
Tengeneza Kitabu cha Ramani Kutumia Ramani za Google: Hatua 17 (na Picha)
Tengeneza Kitabu cha Ramani Kutumia Ramani za Google: Siku nyingine nilikuwa nikitafuta duka la vitabu kwa Mwongozo wa Mtaa wa Kaunti ya DuPage, IL kwani rafiki yangu wa kike anaishi hapo na anahitaji ramani ya barabara ya kina. Kwa bahati mbaya, moja tu ambayo walikuwa nayo ambayo ilikuwa karibu ilikuwa moja ya Kaunti ya Cook (kama hii o
Jinsi ya Kupachika Ramani za Google kwenye Wavuti: Hatua 4
Jinsi ya kupachika Ramani za Google kwenye Wavuti: Nipigie kura katika Changamoto ya Ramani! Hivi karibuni, nimeunda wavuti ambayo hutumia Ramani za Google. Kupachika Ramani za Google kwenye wavuti yangu ilikuwa rahisi na sio ngumu kufanya. Katika Maagizo haya, nitakuonyesha jinsi ilivyo rahisi kupachika Googl
Weka Ramani ya Sehemu kwenye Wavuti Yako: Hatua 8
Weka Ramani ya Sehemu kwenye Wavuti Yako: Mara tu unapopata ramani kwenye Platial au kuunda yako mwenyewe, utahitaji kuweka ramani hiyo kwenye blogi yako au wavuti. Mafundisho haya yatakutembea kupitia hatua za jinsi ya kufanya hivyo. Ramani yoyote ya Platial inaweza kuchapishwa na mtu yeyote
Jinsi ya Kupitia Usalama wa Seva Yako: Hatua 4
Jinsi ya Kupita Usalama wa Seva Yako: Ok, Kwanza Ninapenda kukubali, kwamba hii ni ya kwanza kufundishwa, na kwamba nimekuwa mgeni wa kawaida kwenye wavuti hiyo, na wakati niligundua Inayoweza kufundishwa, jinsi ya kupita seva ya shule otspace [au kwa kitu kingine chochote] Ilinibidi tu uundaji