Mündəricat:
- Addım 1: Ehtiyacımız olan avadanlıqlar..
- Addım 2: Avadanlıq Bağlantıları
- Addım 3: Kod
- Addım 4: Kodun işlənməsi
- Addım 5: Tətbiqlər və Xüsusiyyətlər
- Addım 6: İrəli getmək üçün mənbələr
Video: Veb Server vasitəsilə Xəritədə İstiqamətləndirmə: 6 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Əşyaların İnterneti (IoT) hazırda planetin ən populyar mövzularından biridir. Və İnternetlə gündən -günə sürətlə böyüyür. Əşyaların İnterneti sadə evləri ağıllı evlərə çevirir, burada işıqlarınızdan qıfıllarınıza qədər hər şeyi smartfonunuzdan və ya masaüstünüzdən idarə edə bilərsiniz. Hər kəsin sahib olmaq istədiyi lüks budur.
Həmişə əldə etdiyimiz vasitələrlə oynayırıq və məhdudiyyətlərimizin növbəti mərhələsinə keçməyə davam edirik. Müştərimizə ən son texnologiyalar və fikirlər haqqında bir fikir verməyə çalışırıq. Beləliklə, çox səy göstərmədən evinizi ağıllı evlərə çevirə və lüksün dadından zövq ala bilərsiniz.
Bu gün IoT -da ən vacib mövzulardan birində - Rəqəmsal Xəritədə İstiqamətləndirmə üzərində işləməyi düşünürük.
Hər hansı bir cihazın və ya əşyanın hərəkətini izləyə biləcəyimiz bir veb server quracağıq (casusluq etmək istədiyin sizin ixtiyarınızdadır;)). Həmişə bəzi dəyişikliklərlə bu layihəni yeni səviyyəyə qaldırmaq barədə düşünə bilərsiniz və aşağıdakı şərhlərdə bizə bildirməyi unutmayın.
Ondan başlayaq.. !!
Addım 1: Ehtiyacımız olan avadanlıqlar..
1. LSM9DS0 Sensoru
STMicroelectronics tərəfindən istehsal olunan LSM9DS0, 3-ü 1-arada sensör, 3D rəqəmsal xətti sürətləndirmə sensoru, 3D rəqəmsal bucaq dərəcəsi sensoru və 3D rəqəmsal maqnit sensoru ilə təchiz olunmuş bir sistemdir. LSM9DS0, ± 2g/± 4g/± 6g/± 8g/± 16g xətti sürətləndirmə tam ölçüsünə, ± 2/± 4/± 8/± 12 gauss bir maqnit sahəsinə və ± 245 bucaq dərəcəsinə malikdir. /± 500/± 2000 dps.
2. Adafruit Huzzah ESP8266
Espressif-dən ESP8266 prosessoru, tam WiFi ön tərəfi (həm müştəri, həm də giriş nöqtəsi olaraq) və DNS dəstəyi olan TCP/IP yığınına malik 80 MHz-lik bir mikro nəzarətçidir. ESP8266, IoT tətbiqi inkişafı üçün inanılmaz bir platformadır. ESP8266, Arduino Wire Language və Arduino IDE istifadə edərək tətbiqləri izləmək və idarə etmək üçün mükəmməl bir platforma təmin edir.
3. ESP8266 USB Proqramçısı
onun ESP8266 ana adapteri, I²C interfeysinə imkan verən ESP8266 -nın Adafruit Huzzah versiyası üçün xüsusi olaraq Dcube Store tərəfindən hazırlanmışdır.
4. I2C Bağlayıcı Kabel
5. Mini USB Kabeli
Mini USB kabel Güc təchizatı, Adafruit Huzzah ESP8266 -nı gücləndirmək üçün ideal seçimdir.
Addım 2: Avadanlıq Bağlantıları
Ümumiyyətlə, əlaqə qurmaq bu layihənin ən asan hissəsidir. Təlimatları və şəkilləri izləyin və heç bir probleminiz olmayacaq.
İlk növbədə Adafruit Huzzah ESP8266 götürün və üzərinə USB Proqramlaşdırıcısını (İçəri baxan I²C Portu ilə) yerləşdirin. USB Programmer -ə yumşaq bir şəkildə basın və bu addımı pasta qədər asanlaşdırırıq (Yuxarıdakı şəklə baxın).
Sensorun Adafruit Huzzah ESP8266 ilə əlaqəsi Sensoru götürün və I²C Kabelini onunla bağlayın. Bu kabelin düzgün işləməsi üçün lütfən, I²C Çıxışının DAİMA I²C Girişinə qoşulduğunu unutmayın. Adafruit Huzzah ESP8266 üçün də USB Proqramlaşdırıcısı quraşdırılmış halda bunu etmək lazım idi (Yuxarıdakı şəklə baxın).
ESP8266 USB Programmer köməyi ilə ESP proqramlaşdırmaq çox asandır. Etməyiniz lazım olan yalnız sensoru USB Proqramlaşdırıcısına bağlamaqdır və getməyiniz yaxşıdır. Bu adapterdən istifadə etməyi üstün tuturuq, çünki aparatın bağlanmasını xeyli asanlaşdırır. ESP sancaqlarını sensora lehimləmək və ya pin diaqramlarını və məlumat cədvəlini oxumaqdan narahat olmayın. Eyni anda birdən çox sensordan istifadə edə və işləyə bilərik, sadəcə bir zəncir düzəltməlisiniz. Bu plug -play USB Programmer olmadan səhv bağlantı qurma riski çoxdur. Pis bir kabel, həm Wi -Fi -nı, həm də sensorunuzu öldürə bilər.
Qeyd: Qəhvəyi tel həmişə bir cihazın çıxışı ilə digər cihazın girişi arasındakı Ground (GND) bağlantısını izləməlidir.
Dövrün Gücü
Mini USB kabelini Adafruit Huzzah ESP8266 -nın elektrik prizinə qoşun. Yandırın və voila, getməyimiz yaxşıdır!
Addım 3: Kod
Adafruit Huzzah ESP8266 və LSM9DS0 Sensoru üçün ESP Kodu github depomuzda mövcuddur.
Koda keçməzdən əvvəl, Readme faylında verilən təlimatları oxuduğunuzdan və Adafruit Huzzah ESP8266 -nı buna uyğun olaraq qurduğunuzdan əmin olun. ESP qurmaq cəmi 5 dəqiqə çəkəcək.
Kod uzundur, ancaq təsəvvür edə biləcəyiniz ən sadə formadadır və onu anlamaqda heç bir çətinlik çəkməyəcəksiniz.
Rahatlığınız üçün bu sensor üçün işləyən ESP kodunu buradan da kopyalaya bilərsiniz:
// Azad iradə lisenziyası ilə paylanmışdır. // LSM9DSO // Bu kod dcubestore.com saytında mövcud olan TCS3414_I2CS I2C Mini Modulu ilə işləmək üçün hazırlanmışdır.
#daxil edin
#daxil edin
#daxil edin
#daxil edin
// LSM9DSO Gyro I2C ünvanı 6A (106)
#define Addr_Gyro 0x6A // LSM9DSO Accl I2C ünvanı 1E (30) #define Addr_Accl 0x1E
const char* ssid = "ssidiniz";
const char* password = "parolunuz"; int xGyro, yGyro, zGyro, xAccl, yAccl, zAccl, xMag, yMag, zMag;
ESP8266WebServer serveri (80);
boş işlətmə ()
{imzasız int data [6];
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr_Gyro); // İdarəetmə qeydini seçin 1 Wire.write (0x20); // Məlumat sürəti = 95Hz, X, Y, Z-Axis effektiv, Wire.write-da güc (0x0F); // I2C Transmission Wire.endTransmission () dayandırın;
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr_Gyro); // Nəzarət reyestrini seçin 4 Wire.write (0x23); // Tam miqyaslı 2000 dps, davamlı yeniləmə Wire.write (0x30); // I2C Transmission Wire.endTransmission () dayandırın;
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr_Accl); // İdarəetmə qeydini seçin 1 Wire.write (0x20); // Sürətləndirmə məlumat sürəti = 100Hz, X, Y, Z-Axis effektiv, Wire.write-da güc (0x67); // Wire.endTransmission () cihazında I2C Transmissiyasını dayandırın;
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr_Accl); // İdarəetmə qeydini seçin 2 Wire.write (0x21); // Tam miqyaslı seçim +/- 16g Wire.write (0x20); // I2C Transmission Wire.endTransmission () dayandırın;
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr_Accl); // İdarəetmə qeydini seçin 5 Wire.write (0x24); // Maqnit yüksək qətnamə, çıxış məlumat sürəti = 50Hz Wire.write (0x70); // I2C Transmission Wire.endTransmission () dayandırın;
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr_Accl); // Nəzarət reyestrini seçin 6 Wire.write (0x25); // Maqnit tam miqyaslı +/- 12 gauss Wire.write (0x60); // I2C Transmission Wire.endTransmission () dayandırın;
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr_Accl); // İdarəetmə qeydini seçin 7 Wire.write (0x26); // Normal rejim, maqnit davamlı çevrilmə rejimi Wire.write (0x00); // I2C Transmission Wire.endTransmission () dayandırın; gecikmə (300);
for (int i = 0; i <6; i ++) {// I2C Transmission Wire.beginTransmission (Addr_Gyro) başlayın; // Wire.write məlumat qeydini seçin ((40 + i)); // I2C Transmission Wire.endTransmission () dayandırın;
// 1 bayt məlumat tələb edin
Wire.requestFrom (Addr_Gyro, 1);
// 6 bayt məlumat oxuyun
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb if (Wire.available () == 1) {data = Wire.read (); }}
// Məlumatları çevirin
int xGyro = ((məlumat [1] * 256) + məlumat [0]); int yGyro = ((data [3] * 256) + data [2]); int zGyro = ((məlumat [5] * 256) + məlumat [4]);
for (int i = 0; i <6; i ++) {// I2C Transmission Wire.beginTransmission -a başlayın (Addr_Accl); // Wire.write məlumat qeydini seçin ((40 + i)); // I2C Transmission Wire.endTransmission () dayandırın;
// 1 bayt məlumat tələb edin
Wire.requestFrom (Addr_Accl, 1);
// 6 bayt məlumat oxuyun
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb // zAccl lsb, zAccl msb if (Wire.available () == 1) {data = Wire.read (); }}
// Məlumatları çevirin
int xAccl = ((data [1] * 256) + data [0]); int yAccl = ((data [3] * 256) + data [2]); int zAccl = ((məlumat [5] * 256) + məlumat [4]);
for (int i = 0; i <6; i ++) {// I2C Transmission Wire.beginTransmission -a başlayın (Addr_Accl); // Wire.write məlumat qeydini seçin ((8 + i)); // I2C Transmission Wire.endTransmission () dayandırın;
// 1 bayt məlumat tələb edin
Wire.requestFrom (Addr_Accl, 1);
// 6 bayt məlumat oxuyun
// xMag lsb, xMag msb, yMag lsb, yMag msb // zMag lsb, zMag msb if (Wire.available () == 1) {data = Wire.read (); }}
// Məlumatları çevirin
int xMag = ((məlumat [1] * 256) + məlumat [0]); int yMag = ((məlumat [3] * 256) + məlumat [2]); int zMag = ((məlumat [5] * 256) + məlumat [4]);
// Məlumatların serial monitora çıxarılması
Serial.print ("X-Fırlanma Ekseni:"); Serial.println (xGyro); Serial.print ("Y-Fırlanma Ekseni:"); Serial.println (yGyro); Serial.print ("Z-Fırlanma Ekseni:"); Serial.println (zGyro); Serial.print ("X-Eksenində Sürətləndirmə:"); Serial.println (xAccl); Serial.print ("Y Eksenində Sürətləndirmə:"); Serial.println (yAccl); Serial.print ("Z Eksenində Sürətləndirmə:"); Serial.println (zAccl); Serial.print ("X-Axisdəki maqnit sahəsi:"); Serial.println (xMag); Serial.print ("Y eksenində maqnit sahəsi:"); Serial.println (yMag); Serial.print ("Maqnit Z-Axis-də verilmişdir:"); Serial.println (zMag);
// Veb serverə məlumat çıxarın
server.sendContent ("
DCUBE MAĞAZASI
www.dcubestore.com
"" LSM9DS0 Sensor I2C Mini Modulu
);
server.sendContent ("
X-Fırlanma Ekseni = " + String (xGyro)); server.sendContent ("
Y-Fırlanma Ekseni = " + String (yGyro)); server.sendContent ("
Z-Fırlanma Ekseni = " + String (zGyro)); server.sendContent ("
X-Axis-də sürətləndirmə = " + String (xAccl)); server.sendContent ("
Y Eksenində Sürətləndirmə = " + String (yAccl)); server.sendContent ("
Z-Axis-də sürətləndirmə = " + String (zAccl)); server.sendContent ("
X-Axis-də verilmiş maqnit = " + String (xMag)); server.sendContent ("
Y-Axis-də verilmiş maqnit = " + String (yMag)); server.sendContent ("
Z-Axis-də verilmiş maqnit = " + String (zMag)); gecikmə (1000);}
boş quraşdırma ()
{// I2C ünsiyyətini MASTER Wire.begin olaraq başladın (2, 14); // Serial rabitəni işə salın, baud sürətini təyin edin = 115200 Serial.begin (115200);
// WiFi şəbəkəsinə qoşulun
WiFi.begin (ssid, parol);
// Əlaqəni gözləyin
while (WiFi.status ()! = WL_CONNECTED) {gecikmə (500); Serial.print ("."); } Serial.println (""); Serial.print ("Bağlandı"); Serial.println (ssid);
// ESP8266 IP ünvanını əldə edin
Serial.print ("IP ünvanı:"); Serial.println (WiFi.localIP ());
// Serveri işə salın
server.on ("/", handleroot); server.begin (); Serial.println ("HTTP serveri işə salındı"); }
boşluq döngəsi ()
{server.handleClient (); }
Addım 4: Kodun işlənməsi
İndi kodu yükləyin (və ya git pull) və Arduino IDE -də açın.
Kodu tərtib edin və yükləyin və Serial Monitorda çıxışı görün.
Qeyd: Yükləməzdən əvvəl SSID şəbəkənizi və şifrənizi kodu daxil etdiyinizə əmin olun.
Serial Monitordan ESP8266 IP ünvanını kopyalayın və veb brauzerinizə yapışdırın. 3 oxda fırlanma oxu, sürətlənmə və maqnit sahəsi oxunuşu olan bir web səhifəsi görəcəksiniz.
Sensorun Serial Monitor və Web Serverdəki çıxışı yuxarıdakı şəkildə göstərilmişdir.
Addım 5: Tətbiqlər və Xüsusiyyətlər
LSM9DS0, 3D rəqəmsal xətti sürətləndirmə sensoru, 3D rəqəmsal bucaq dərəcəsi sensoru və 3D rəqəmsal maqnit sensoru olan bir sistem paketidir. Bu üç xassəni ölçməklə bir cismin hərəkəti haqqında çoxlu məlumat əldə edə bilərsiniz. Bir maqnitometr ilə Yerin maqnit sahəsinin gücünü və istiqamətini ölçərək, istiqamətinizə yaxınlaşa bilərsiniz. Telefonunuzdakı bir akselerometr cazibə qüvvəsinin istiqamətini ölçə və oriyentasiyanı (portret, mənzərə, düz və s.) Qiymətləndirə bilər. Daxili giroskopları olan kvadrokopterlər, qəfil yuvarlanmalara və ya meydançalara baxa bilər. Bunu Qlobal Yerləşdirmə Sistemində (GPS) istifadə edə bilərik.
Daha bir neçə tətbiqə Daxili naviqasiya, Ağıllı istifadəçi interfeysləri, Ətraflı jest tanıma, Oyun və virtual reallıq giriş cihazları və s.
ESP8266 -nın köməyi ilə tutumunu daha uzun müddətə artıra bilərik. Cihazlarımızı idarə edə bilərik və masaüstümüzdən və mobil cihazlarımızdan orada performansa nəzarət edə bilərik. Veriləri internetdə saxlaya və idarə edə bilərik və istənilən vaxt dəyişiklik üçün öyrənə bilərik. Daha çox tətbiqə Ev Avtomatlaşdırması, Mesh Şəbəkəsi, Sənaye Kabelsiz Nəzarəti, Körpə Monitorlar, Sensor Şəbəkələri, Geyinilə bilən Elektronika, Wi-Fi Məkanından xəbərdar Cihazlar, Wi-Fi Mövqe Sistemi İşarələri daxildir.
Addım 6: İrəli getmək üçün mənbələr
LSM9DS0 və ESP8266 haqqında daha çox məlumat üçün aşağıdakı bağlantılara baxın:
- LSM9DS0 Sensor Məlumat Cədvəli
- LSM9DS0 naqillərinin diaqramı
- ESP8266 məlumat cədvəli
Tövsiyə:
Veb Server olaraq Esp8266 istifadə edərək Əlaqə ilə Qaraj Qapı Açacağı .: 6 Addım
Esp8266 Veb Server olaraq İstifadə Edilən Əlaqə ilə Qaraj Qapı Açacağı. Salam, sizə qaraj qapısı açmağın sadə bir yolunu göstərəcəyəm. Əlaqə, biləcəksiniz ki, qapı real vaxtda açıq və ya yaxındır-Sadə, bunu etmək üçün yalnız bir qısa yol
ESP8266 -ı veb -server olaraq necə istifadə etmək olar: 5 addım
ESP8266 -ı Veb Sunucusu Olaraq Necə İstifadə Edirəm: Salam, mən hazırda Windows 10, NodeMCU 1.0 istifadə edirəm və burada istifadə etdiyim Proqramların və izlədiyim quraşdırma bələdçilərinin siyahısı: Arduino IDE esp8266 SpiffLibrary üçün əlavə lövhələr: Websocket NodeMCU -nu server olaraq dəli olduğum bir HTML faylına xidmət edin
HP WebCam 101 Aka 679257-330 Veb Kamera Modulunu Ümumi USB Veb Kamerası olaraq yenidən istifadə edin: 5 addım
Ümumi USB Veb Kamerası olaraq HP WebCam 101 Aka 679257-330 Veb Kamera Modulundan Yenidən İstifadə Edin: 14 yaşındakı Panasonic CF-18-ni yeni bir veb kamera ilə bəzəmək istəyirəm, amma Panasonic o möhtəşəm maşını artıq dəstəkləmir, buna görə də boz maddəni b & amp (pivə & burger) daha asan bir şey üçün istifadə edin.Bu birinci hissədir
Canlı Sürücü Veb Saytı və İş Nümunələrindən İstifadə Veb Sürücüsü IO Təlimatı: 8 Addım
Canlı Sürücü Veb Saytı və İş Nümunələrindən İstifadə Veb Sürücüsü IO Təlimatı: Canlı Veb Saytı və İş Nümunələrindən İstifadə edən Veb Sürücü IO Təlimatı Son Yeniləmə: 26.07.2015 (Bu təlimatları daha ətraflı və nümunələrlə yeniləyərkən tez -tez yoxlayın) mənə maraqlı bir problem təqdim etdi. Ehtiyacım vardı
Fotovoltaik Panellərin İstiqamətləndirmə Sisteminin Dizaynı və Həyata keçirilməsi: 5 Addım
Fotovoltaik Panellərin İstiqamətləndirmə Sisteminin Dizaynı və Həyata keçirilməsi: Fotovoltaik Panellərin İstiqamətləndirmə Sisteminin Dizaynı və Həyata keçirilməsi