Агуулгын хүснэгт:
- Алхам 1: Бидэнд хэрэгтэй тоног төхөөрөмж
- Алхам 2: Тоног төхөөрөмжийн холболт
- Алхам 3: Adafruit Huzzah ESP8266 Arduino код
- БҮГДИЙГ ХЯНАЛТ
- H3LIS331DL мэдрэгч I2C мини модуль
- Алхам 4: Дүрмийн практик байдал
- Алхам 5: Програм ба сайжруулалт
- Алхам 6: Цаашид үргэлжлүүлэх нөөцүүд
Видео: Хувцас угаагч/хатаагчийн хяналт нь ESP8266 ба хурдатгалын мэдрэгчтэй: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
Хувцас угаагч/хатаагч нь хонгилд байдаг бөгөөд та дүрмээр бол овоолсон хувцас хийж, үүний дараа та өөр гэрийн ажилд орох болно. Та машиныхаа хонгилд шингэсэн, шингэсэн хувцасыг анзаардаггүй. Дахин хэлэхэд, хааяа нэг машинаа ажил дууслаа гэж бодоод доошоо гүйж очоод дараа нь машин ажиллаж байгааг харах болно. Мэдэж байна, энэ нь бухимдуулдаг.
Хувцас угаагч/хатаагчийн статусыг гар утас эсвэл таблет дээрээ үзэх боломжтой хувилбарыг төсөөлөөд үз дээ. Үүний нэгэн адил, та утсан дээрээ машин даалгавраа дуусгасан гэсэн мессеж авах боломжтой. Гайхамшигтай, сэтгэл татам сонсогдож байна, тийм ээ!
Үнэндээ ESP8266 болон акселерометр мэдрэгчийн тусламжтайгаар та хувцас угаагч/хатаагчийнхаа байдлыг хянах боломжтой. Хэрэв та зүгээр л зааврыг дагаж, кодыг хуулж авбал энэ ажлыг өөрийн гэртээ хийх боломжтой.
Алхам 1: Бидэнд хэрэгтэй тоног төхөөрөмж
1. Adafruit Huzzah ESP8266
Эхний алхам бол Adafruit Huzzah ESP8266 хавтанг авах явдал байв. Adafruit Huzzah ESP8266 нь TCP/IP стек, микроконтроллерийн багтаамжтай, хямд өртөгтэй Wi-Fi чип бөгөөд ESP8266 нь Arduino Wire Language болон Arduino IDE ашиглан програмуудыг хянах, хянах төгс платформыг санал болгодог. ESP8266 модуль бол асар их, байнга өсөн нэмэгдэж буй олон нийтийг хамарсан маш хэмнэлттэй самбар юм.
2. Adafruit Huzzah ESP8266 хост адаптер (USB програмист)
Энэхүү ESP8266 хост адаптер нь I²C интерфэйсийг хангадаг ESP8266 -ийн Adafruit Huzzah хувилбарт зориулагдсан болно. Нэгдсэн USB порт нь ESP8266 -ийг тэжээл, програмчлалаар хангадаг.
3. H3LIS331DL хурдатгалын мэдрэгч
H3LIS331DL нь дижитал I²C цуваа интерфэйстэй, бага хүчин чадалтай, 3 тэнхлэг бүхий хурдны хэмжигдэхүүн юм. Энэ нь 0.5 Гц -ээс 1 кГц хүртэлх өгөгдөл дамжуулах хурдатгалыг хэмжих зориулалттай. Эдгээр бүх зүйл нь энэхүү мэдрэгчийг энэ төслийн хамгийн тохиромжтой сонголт болгодог.
4. Холбох кабель
Би дээрх линк дээр байгаа I²C холбох кабелийг ашигласан.
5. Мини USB кабель
Мини USB кабель Цахилгаан хангамж нь Adafruit Huzzah ESP8266 -ийг тэжээх хамгийн тохиромжтой сонголт юм.
Алхам 2: Тоног төхөөрөмжийн холболт
Ерөнхийдөө холболтууд нь маш энгийн. Доорх заавар, зургийг дагана уу, танд ямар ч бэрхшээл гарах ёсгүй.
Adafruit Huzzah ESP8266 ба USB програмистын холболт
Юуны өмнө Adafruit Huzzah ESP8266 -ийг аваад USB програмист (дотогшоо харсан I²C порттой) дээр байрлуулна уу. USB програмистыг зөөлөн дарж, бид энэ алхамыг хийлээ. Бялуу шиг амархан (Зураг №1 -ийг үзнэ үү).
Мэдрэгчийн холболт ба Adafruit Huzzah ESP8266
Мэдрэгчийг аваад I²C кабелийг холбоно уу. Энэхүү кабелийг зөв ажиллуулахын тулд I²C гаралт үргэлж I²C оролттой холбогддог гэдгийг санаарай. Adafruit Huzzah ESP8266 дээр USB програмист суурилуулсан байх ёстой (Зураг #2 -ийг үзнэ үү).
ESP8266 USB програмистын тусламжтайгаар ESP8266 програмчлахад маш хялбар байдаг. Та мэдрэгчийг USB програмист руу залгахад л хангалттай. Энэ адаптерийг ашиглахыг илүүд үздэг, учир нь энэ нь тоног төхөөрөмжийг холбоход илүү хялбар болгодог. Энэхүү USB залгуурыг тоглуулагчгүй бол буруу холболт хийх эрсдэл өндөр байна. Нэг буруу утас нь таны wifi болон мэдрэгчийг чинь хөнөөж чадна.
Тэмдэглэл: Хүрэн утас нь нэг төхөөрөмжийн гаралт болон өөр төхөөрөмжийн оролтын хоорондох Ground (GND) холболтыг үргэлж дагаж байх ёстой
Хэлхээний хүчдэл
Adafruit Huzzah ESP8266 -ийн цахилгаан залгуурт Mini USB кабелийг залгаарай. Үүнийг асаагаад voila, бид явахад таатай байна!
Эцсийн угсралт нь 3 -р зураг шиг харагдах болно.
Мэдрэгчийг Даавуун угаагч/хатаагчийн дотор байрлуул
Үүнийг хийхээсээ өмнө мэдрэгчийг хуванцараар бүрсэн байх ёстой бөгөөд ингэснээр устай харьцах боломжтой болно. Одоо мэдрэгчийг байрлуулаад хувцас угаагч/хатаагчийн хүрд дээр наа. Угаалгын машин/хатаагчийн утсыг гэмтээхгүйгээр өөрийгөө гэмтээхгүйгээр санаатайгаар хий.
Үүний тусламжтайгаар бид бүх тоног төхөөрөмжийн ажлыг хийж гүйцэтгэдэг.
Алхам 3: Adafruit Huzzah ESP8266 Arduino код
Adafruit Huzzah ESP8266 ба H3LIS331DL мэдрэгчийн ESP кодыг манай Github репозитороос авах боломжтой.
Код руу орохын өмнө Readme файлд өгсөн зааврыг уншиж, үүний дагуу Adafruit Huzzah ESP8266 -ийг тохируулаарай. Үүнийг хийхэд хэдхэн хором л хангалттай.
Тэмдэглэл: Байршуулахаасаа өмнө кодонд SSID сүлжээ, нууц үгээ оруулна уу
Та энэ мэдрэгчийн ESP кодыг эндээс хуулж болно.
// Хүсэл зоригийн лицензээр тараагдсан болно. // Даавуу угаагч/хатаагчийн хяналт ESP8266 // Энэхүү код нь Dcubestore.com дээрээс авах боломжтой H3LIS331DL_I2CS I2C Mini модульд ажиллах зориулалттай. //
#оруулах
#оруулах #оруулах #оруулах
// H3LIS331DL I2C хаяг нь 0x18 (24)
#тодорхойлох Addr 0x18
const char* ssid = "таны ssid сүлжээ";
const char* password = "таны нууц үг";
ESP8266WebServer сервер (80);
хоосон зохицуулагч ()
{unsigned int data [6];
for (int i = 0; i <6; i ++) {// I2C Transmission Wire -ийг эхлүүлэх.beginTransmission (Addr); // Wire.write мэдээллийн бүртгэлийг сонгох ((40 + i)); // I2C Transmission Wire.endTransmission () -ийг зогсоох;
// 1 байтын өгөгдөл хүсэх
Wire.requestFrom (Addr, 1); // 6 байтын өгөгдлийг уншина уу // xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb if (Wire.available () == 1) {data = Wire.read (); }} саатал (300);
// Өгөгдлийг хөрвүүлэх
int xAccl = ((өгөгдөл [1] * 256) + өгөгдөл [0]); хэрэв (xAccl> 32767) {xAccl -= 65536; } int xAcc = ((100 * 9.8) / 32768) * xAccl;
int yAccl = ((өгөгдөл [3] * 256) + өгөгдөл [2]);
хэрэв (yAccl> 32767) {yAccl -= 65536; } int yAcc = ((100 * 9.8) / 32768) * yAccl;
int zAccl = ((өгөгдөл [5] * 256) + өгөгдөл [4]);
хэрэв (zAccl> 32767) {zAccl -= 65536; } int zAcc = ((100 * 9.8) / 32768) * zAccl;
// Өгөгдлийг цуваа монитор руу гаргадаг
Serial.print ("X-Axis дахь хурдатгал:"); Serial.print (xAcc); Serial.println ("m/s"); Serial.print ("Y-Axis дахь хурдатгал:"); Serial.print (yAcc); Serial.println ("m/s"); Serial.print ("Z-Axis дахь хурдатгал:"); Цуваа.хэвлэх (zAcc); Serial.println ("m/s"); саатал (300);
// Вэб сервер рүү өгөгдөл гаргадаг
server.sendContent ("<meta http-equiv = 'refresh' content = '10 '" ""
БҮГДИЙГ ХЯНАЛТ
www.controleverything.com
H3LIS331DL мэдрэгч I2C мини модуль
"); server.sendContent ("
X-Axis дахь хурдатгал = " + String (xAcc) +" m/s/s "); server.sendContent ("
Y-Axis дахь хурдатгал = " + String (yAcc) +" m/s/s "); server.sendContent ("
Z-Axis дахь хурдатгал = " + String (zAcc) +" m/s/s ");
хэрэв (xAcc> 2)
{// Serial.println ("Даавуун угаагч/хатаагч: ажиллаж байна") сериал монитор руу өгөгдөл гаргана;
// Вэб сервер рүү өгөгдөл гаргадаг
server.sendContent ("
Даавуун угаагч/хатаагч: ажиллаж байна ");} өөр {// Өгөгдлийг цуваа монитор руу гаргах Serial.println (" Даавуун угаагч/хатаагч: дууссан ");
// Вэб сервер рүү өгөгдөл гаргадаг
server.sendContent ("
Даавуун угаагч/хатаагч: дууссан ");}}
хүчингүй тохиргоо ()
{// I2C холболтыг MASTER Wire.begin болгон эхлүүлэх (2, 14); // Цуваа холболтыг эхлүүлэх, дамжуулах хурд = 115200 Serial.begin (115200);
// WiFi сүлжээнд холбогдох
WiFi.begin (ssid, нууц үг);
// Холболтыг хүлээнэ үү
while (WiFi.status ()! = WL_CONNECTED) {саатал (500); Serial.print ("."); } Serial.println (""); Serial.print ("Холбогдсон"); Serial.println (ssid);
// ESP8266 -ийн IP хаягийг аваарай
Serial.print ("IP хаяг:"); Serial.println (WiFi.localIP ());
// Серверийг эхлүүлэх
server.on ("/", handleroot); server.begin (); Serial.println ("HTTP сервер эхэлсэн");
// I2C дамжуулалтыг эхлүүлэх
Wire.beginTransmission (Addr); // Хяналтын бүртгэлийг сонгох 1 Wire.write (0x20); // X, Y, Z тэнхлэгийг асаах, асаах горим, өгөгдөл дамжуулах хурд 50Hz Wire.write (0x27); // I2C Transmission Wire.endTransmission () -ийг зогсоох;
// I2C дамжуулалтыг эхлүүлэх
Wire.beginTransmission (Addr); // Хяналтын бүртгэлийг сонгоно уу 4 Wire.write (0x23); // Бүрэн хэмжээсийг тохируулах, +/- 100g, Wire.write-ийг тасралтгүй шинэчлэх (0x00); // I2C Transmission Wire.endTransmission () -ийг зогсоох; саатал (300); }
хоосон давталт ()
{server.handleClient (); }
Алхам 4: Дүрмийн практик байдал
Одоо кодыг татаж аваад (git pull) эсвэл хуулаад Arduino IDE дээр нээнэ үү.
Кодыг эмхэтгэн байршуулж, гаралтыг сериал монитор дээрээ үзээрэй. Хэдэн секундын дараа бүх параметрүүдийг харуулна.
Цуваа монитороос ESP8266 -ийн IP хаягийг хуулж, вэб хөтөч дээрээ буулгана уу. Та 3 тэнхлэгт хурдатгал уншиж, Даавуун угаагч/хатаагчийн статустай вэб хуудсыг харах болно. Эцсийн туршилтанд орохын өмнө та угаагчийн хүрдний байрлал, кодын if-else нөхцөлд байгаа мэдрэгчийн байршлын дагуу хурдатгалын утгыг өөрчлөх хэрэгтэй.
Цуваа монитор болон вэб сервер дээрх мэдрэгчийн гаралтыг дээрх зурагт үзүүлэв.
Алхам 5: Програм ба сайжруулалт
Энэхүү төслийн тусламжтайгаар та утас, зөөврийн компьютер дээрээ хувцас угаагч/хатаагчийн статусыг хянах боломжтой. Даалгаврыг дуусгахын тулд дахин дахин очиж, хүлээх/сонсох шаардлагагүй.
Та мөн утсан дээрээ машин даалгавраа дуусгасан гэсэн мессеж хүлээн авах боломжтой. Үүний тусламжтайгаар та угаагч доторх хувцасыг үргэлж санаж байх болно. Үүнийг хийхийн тулд дээр дурдсан кодод зарим хэсгийг нэмж оруулснаар энэ төслийг сайжруулж болно.
Энэхүү төсөл танд таалагдсан гэж найдаж байна, энэ нь цаашдын туршилтыг хийх болно. Adafruit Huzzah ESP8266 самбар нь гайхалтай уян хатан, хямд бөгөөд бүх сонирхогчдод хүртээмжтэй байдаг. Энэ бол ESP8266 ашиглан барьж болох олон энгийн төслүүдийн зөвхөн нэг нь юм.
Алхам 6: Цаашид үргэлжлүүлэх нөөцүүд
H3LIS331DL болон ESP8266 -ийн талаар нэмэлт мэдээлэл авахыг хүсвэл доорх линкүүдээс үзнэ үү.
- H3LIS331DL мэдрэгчийн мэдээллийн хуудас
- ESP8266 мэдээллийн хуудас
Та мөн гэрийн автоматжуулалт ба ESP8266 төслүүдийн талаархи нэмэлт нийтлэлүүдийг үзэх боломжтой.
- ESP8266 ба реле хянагчтай гэрийн автоматжуулалт
- ESP8266 ба даралт мэдрэгч бүхий хяналтын гэрэл
Зөвлөмж болгож буй:
Дохио зангаа, мэдрэгчтэй оролтыг ашиглан компьютерийн хяналт: 3 алхам
Дохио зангаа, мэдрэгчтэй оролтыг ашиглан компьютерийн хяналт: Энэ бол шинэ Piksey Atto -ийн демо төсөл юм. Бид TTP224 мэдрэгчтэй IC болон APDS-9960 дохионы модулийг ашиглан компьютерийг хянадаг. Бид ноорогоо Atto дээр байршуулдаг бөгөөд энэ нь USB гар шиг ажилладаг бөгөөд дараа нь тохирох түлхүүр кодыг илгээдэг
ESP8266, Google Home болон Openhab интеграцчлал, вэб хяналт ашиглан сохор хөшигний хяналт: 5 алхам (зурагтай)
ESP8266, Google Home болон Openhab интеграцчлал ба вэб хяналт ашиглан сохор хөшигний хяналт: Энэхүү зааварчилгаанд би хөшиг дээрээ автоматжуулалтыг хэрхэн нэмсэнээ харуулав. Би автоматжуулалтыг нэмж, устгахыг хүсч байсан тул бүх суурилуулалтыг хавсаргасан болно. Үндсэн хэсгүүд нь: Stepper мотор Stepper драйвер удирддаг bij ESP-01 Gear and mounting
Гурван мэдрэгчтэй хэлхээ + мэдрэгчтэй таймерын хэлхээ: 4 алхам
Гурван мэдрэгчтэй мэдрэгчтэй хэлхээ + мэдрэгчтэй таймерын хэлхээ: Мэдрэгч мэдрэгч нь мэдрэгч зүү дээр хүрэхийг мэдрэх үед асах хэлхээ юм. Энэ нь түр зуурын үндсэн дээр ажилладаг, өөрөөр хэлбэл тээглүүр дээр дарах үед л ачаалал асаалттай байх болно, энд би танд мэдрэгчтэй болгох гурван өөр аргыг харуулах болно
Эвдэрсэн унтраалгын самбарыг Ухаалаг мэдрэгчтэй унтраалгад температурын хяналт ашиглан засах: 4 алхам
Эвдэрсэн унтраалгын самбарыг Ухаалаг мэдрэгчтэй унтраалганд температурын хяналт ашиглан засах: Та бүгдээрээ амьдралдаа дор хаяж нэг удаа ийм асуудалтай тулгардаг гэдгийг би мэднэ. Маш олон удаа унтраалгын доторх булаг нүүлгэн шилжих эсвэл м
Arduino угаагч хатаагчийн сэрэмжлүүлэг - Blynk -тай утсаар ярих мэдэгдэл: 5 алхам (зурагтай)
Arduino угаагч хатаагчийн сэрэмжлүүлэг - Блинктэй утсаар ярих мэдэгдэл: Манай угаалгын машин гаражид байгаа бөгөөд угаалга дууссан гэсэн дохиог сонсохгүй байна. Цикл дууссаны дараа бид байшинд хаана ч байсан мэдэгдэл авах арга замыг хайж олохыг хүссэн юм. Би Arduino, ESP8266 WiFi -тэй харьцаж байсан