Isi kandungan:

Postino: Adakah Postman Menghantar Apa-apa ?: 6 Langkah (dengan Gambar)
Postino: Adakah Postman Menghantar Apa-apa ?: 6 Langkah (dengan Gambar)

Video: Postino: Adakah Postman Menghantar Apa-apa ?: 6 Langkah (dengan Gambar)

Video: Postino: Adakah Postman Menghantar Apa-apa ?: 6 Langkah (dengan Gambar)
Video: Postman Tutorial 5 | How To Use & Run Collection | Postman version 8.3.0 | API Testing by Perfology 2024, November
Anonim
Postino: Adakah Postman Menghantar Apa-apa?
Postino: Adakah Postman Menghantar Apa-apa?

Bukan idea saya: suatu hari seorang rakan meminta saya cara untuk memeriksa dari jauh apakah ada pos mel yang dimasukkan ke dalam peti melnya. Peti mel tidak berada di jalan setapak ke pintunya, oleh kerana dia adalah seorang pemuda yang malas, dia bertanya-tanya apakah alat teknologi dapat memberi amaran kepadanya tentang sebarang surat ke dalam peti surat. Saya melihat-lihat pasar dan saya tidak dapat menjumpai alat siap yang sesuai dengan keperluannya, jadi saya menimbulkan cabaran kepada diri sendiri: mengapa tidak merancang dan membinanya?

Kekangannya adalah:

  • berkuasa bateri dengan jangka hayat yang berpatutan antara perubahan bateri;
  • Komunikasi WiFi;
  • periksa sekali sehari jika ada surat atau tidak;

Soalan utama adalah: jenis sensor yang sesuai dengan keperluan saya? Sensor jarak tidak dapat berfungsi, kerana pemeriksaan harus dilakukan hanya sekali sehari dan tidak dalam masa nyata; sensor berat tidak, kerana ini akan menambahkan kerumitan dan masalah kepekaan (selembar kertas mungkin sangat ringan). Pilihan saya mendarat pada sensor Time-of-Flight (laser mikro). Setelah dikalibrasi untuk ukuran peti surat, apa sahaja yang diletakkan di tengah akan memicu sensor! Mengingat 3 kekangan, saya memutuskan untuk menggunakan ESP8266 (menjalankan perisian dan menghubungkan ke WiFi), sensor Time-of-Flight VL6180 untuk pengukuran dan Jam Waktu Nyata DS3231 untuk mencetuskan semua litar sekali sehari: begitulah caranya Postino dilahirkan!

Langkah 1: Bahagian dan Komponen

  • ESP8266-01 (atau ESP-12E NodeMCU)
  • Sensor Time-of-Flight VL6108
  • Jam Waktu Nyata DS3231
  • IRLZ44 N-saluran MosFET
  • Transistor BC547
  • Perintang
  • Bateri CR123

Langkah 2: Sensor

Sensor
Sensor

Inti sistem adalah sensor VL6180. Ini adalah teknologi pemecah tanah yang membolehkan jarak mutlak diukur bebas dari pantulan sasaran. Daripada mengira jarak dengan mengukur jumlah cahaya yang dipantulkan kembali dari objek (yang dipengaruhi secara signifikan oleh warna dan permukaan), VL6180X tepat mengukur masa yang diperlukan cahaya untuk bergerak ke objek terdekat dan memantulkan kembali ke sensor (Waktu -dari-Penerbangan). Menggabungkan pemancar IR, sensor jarak dan sensor cahaya sekitar dalam pakej reflowable siap pakai tiga-dalam-satu, VL6180X mudah disatukan dan menjimatkan pengoptimuman reka bentuk optik dan mekanikal pembuat produk lama dan mahal.

Modul ini direka untuk operasi kuasa rendah. Saya menggunakan papan pemecah Pololu yang mempunyai pengatur voltan di dalamnya yang membolehkannya bekerja pada julat voltan input dari 2.7 V hingga 5.5 V.

Sensor membenarkan 3 faktor penskalaan yang sah yang menetapkan jarak pengukuran maksimum dari 20 hingga 60 cm, dengan kepekaan yang berbeza. Dengan mengkonfigurasi faktor skala, jarak maksimum potensi sensor dapat ditingkatkan dengan kos resolusi yang lebih rendah. Menetapkan faktor penskalaan ke 2 memberikan jarak hingga 40 cm dengan resolusi 2 mm, sementara faktor skala 3 memberikan jarak hingga 60 cm dengan resolusi 3 mm. Anda harus menguji 3 skala dengan dimensi kotak surat anda. Oleh kerana saya adalah 25 cm (H) saya menggunakan faktor skala = 1.

Langkah 3: Penyesuaian Jam Masa Sebenar

Untuk RTC saya menggunakan papan pemecah DS3231 yang merangkumi EEPROM (tidak berguna untuk tujuan saya) dan bateri berukuran duit syiling. Semasa saya memutuskan untuk menghidupkan RTC melalui bateri peranti utama (CRV 3v 3v), saya mengeluarkan bateri duit syiling; untuk menjimatkan kuasa saya juga mengeluarkan EEPROM (dengan memotong pinnya dengan berhati-hati) dan plumbum yang dipimpin.

Bateri duit syiling tidak berguna bagi saya kerana saya tidak perlu menyimpan tarikh / jam / minit / saat masa sebenar, tetapi RTC hanya perlu mengira selama 24 jam dan kemudian mencetuskan penggera untuk menghidupkan peranti.

Langkah 4: Pelbagai Lain-lain di atas kapal

Lain-lain Lain-lain di atas kapal
Lain-lain Lain-lain di atas kapal
Lain-lain Lain-lain di atas kapal
Lain-lain Lain-lain di atas kapal

Pengaktifan peranti dilakukan oleh transistor dan litar MosFET, yang dipicu oleh penggera RTC. Setelah penggera diset semula, litar memotong kuasa ke peranti untuk kitaran 24 jam lagi. Apabila penggera dicapai, DS3231 menukar pin dari tinggi ke rendah: dalam keadaan normal transistor tepu dan mendekatkan ke pintu gerbang MosFET. Setelah penggera membawa dasar transistor ke tanah, ia terbuka dan membenarkan MosFET menutup litar dan memberi kuasa kepada komponen yang lain.

Sebagai tambahan, saya menambah jumper “test-1M”. Tujuan suis ini adalah - jika diaktifkan - untuk mengubah kitaran dari sekali sehari menjadi sekali seminit, untuk menjalankan ujian penyebaran. Untuk mengubah selang dari satu hari ke satu menit, pertama-tama anda harus menutup jumper "Test-C" selama kira-kira 15 saat, untuk melewati masa pengaktifan penggera jam dan menghidupkan peranti. Apabila ujian selesai, buka jumper dan tetapkan semula peranti (power cycle).

Langkah 5: Skematik

Skematik
Skematik

Langkah 6: Perisian dan Logik

Semasa ujian saya menggunakan (untuk alasan praktikal) pengawal NodeMCU, jadi perisian menguruskan hal ini dengan menetapkan variasi CHIP ke "NodeMCU" atau "esp8266".

Sketsa mengimplementasikan perpustakaan WiFiManager untuk membolehkan peranti menyambung ke AP WiFi yang sah semasa menjalankan pertama. Dalam kes sedemikian, peranti masuk ke mod AP, yang membolehkan anda menyambung ke sana dan memilih rangkaian WiFi yang sesuai untuk bergabung. Selepas itu, konfigurasi rangkaian disimpan di EPROM untuk kitaran seterusnya.

Pemboleh ubah REST_MSG mengandungi mesej http untuk dihantar apabila sensor menemui objek di peti mel. Dalam kes saya, ia menghantar mesej ke pelayan REST domain, tetapi anda boleh mengubahnya mengikut kehendak anda: mesej Telegram BOT, acara IFTTT WebHook, dll.

Sketsa selebihnya semuanya dalam fungsi setup (), kerana gelung tidak pernah dapat dicapai. Setelah konfigurasi yang diperlukan untuk beberapa perpustakaan, perisian menetapkan waktu jam hingga 00:00:01 dan penggera menjadi sekali sehari (atau sekali seminit jika jumper "test-1M" diaktifkan). Kemudian ia membuat ukuran, mengirimkan pemberitahuan (jika ada objek ditemukan di kotak surat) dan mengatur ulang pin penggera, mematikan perangkat. Pada akhir kitaran, hanya RTC yang dihidupkan, dikira selama 24 jam. Jumper Test-1M disambungkan ke pin RX ESP8266, digunakan sebagai GPIO-3 melalui pengaturan: setMode (PIN, FUNCTION_3). Oleh kerana itu, anda tidak dapat menggunakan monitor Serial ketika menjalankan ESP8266: baris "#define DEBUG" (yang memungkinkan semua cetakan bersiri dalam lakaran) digunakan hanya ketika NodeMCU dipasang sebagai pengganti ESP8266.

ESP8266 menangani komunikasi I2C dengan RTC dan sensor melalui pin GPIO-0 dan GPIO-2, yang dimulakan di perpustakaan Wire.

Kod penuh boleh dimuat turun dari pautan ini.

Pertandingan Teknologi Bantuan
Pertandingan Teknologi Bantuan
Pertandingan Teknologi Bantuan
Pertandingan Teknologi Bantuan

Naib Johan dalam Peraduan Teknologi Bantuan

Disyorkan: