Isi kandungan:

Dari Lampu suluh ke Sensor Gerak Dengan ESP8266 dan MQTT: 5 Langkah (dengan Gambar)
Dari Lampu suluh ke Sensor Gerak Dengan ESP8266 dan MQTT: 5 Langkah (dengan Gambar)

Video: Dari Lampu suluh ke Sensor Gerak Dengan ESP8266 dan MQTT: 5 Langkah (dengan Gambar)

Video: Dari Lampu suluh ke Sensor Gerak Dengan ESP8266 dan MQTT: 5 Langkah (dengan Gambar)
Video: Part 1 - Cara Menampilkan Nilai Multi Sensor ke Halaman Website Secara Realtime dengan NodeMCU ESP32 2024, November
Anonim
Image
Image
LED Perlu Arus Terhad
LED Perlu Arus Terhad

Dalam catatan ini, saya akan membentangkan item di bawah:

  • LED memerlukan litar arus yang terhad
  • cara membuat lampu suluh
  • buat cahaya yang dikuasakan oleh bateri mudah alih, dan redupkan LED dengan ESP8266 melalui MQTT

Video tersebut adalah rangkuman dan penjelasan ringkas bagaimana ini berfungsi,

Saya merancang untuk memasukkan sensor PIR, tetapi tutorialnya agak panjang sehingga sensor PIR akan disajikan pada bahagian kedua topik ini

Oleh itu, mari bermula.

Langkah 1: LED Perlu Arus Terhad

Bagi pemula, ini pelik memandangkan bagaimana biasanya menyalakan lampu pijar atau pendarfluor. Tidak perlu risau, lampu LED di rak sudah dilengkapi dengan penyesuai kuasa AC-ke-DC dan arus yang membatasi. Tetapi bagus untuk membuat sesuatu dari awal.

Satu kunci untuk menghidupkan LED adalah litar penghad semasa. Ini berfungsi sebagai injap untuk arus sehingga setelah voltan yang diterapkan pada LED membuatnya menjadi konduktif, arus yang mengalir melalui LED tidak boleh lebih besar daripada yang diatur oleh rangkaian. Kegagalan LED biasanya disebabkan oleh terlalu panas. Tiada litar penghad semasa di tempat adalah cara yang pasti untuk membakar LED dalam beberapa saat. By the way, memperbaiki cip LED, yang ada di bingkai aluminium, ke heatsink mengurangkan cip LED dan biasanya disarankan.

Saya banyak menggaru-garu kepala ketika mengetahui perkara ini sekitar tahun 2015, dan masih menggaru-garu kepala (kerana alasan yang berbeza). Saya belajar dari tutorial ini dan penjelasannya yang jelas dapat menyelamatkan saya.

Litar dipasang. Garis tebal menandakan laluan muatan utama, dan yang lebih tipis menunjukkan mekanisme kawalan untuk mengawal arus laluan utama yang kira-kira 150 mA. Wikipedia mempunyai artikel pendek dan beberapa rujukan dilampirkan. Pembatasan arus boleh dibina dengan transistor dengan menggantikan MOSFET dengan transistor beban arus sederhana seperti BD135, BD139.

Langkah 2: Buat Lampu suluh

Buat Lampu suluh
Buat Lampu suluh
Buat Lampu suluh
Buat Lampu suluh
Buat Lampu suluh
Buat Lampu suluh
Buat Lampu suluh
Buat Lampu suluh

Bahagian yang diperlukan:

  1. MOSFET saluran N (IRF540N $ 1.62 / 10pcs, 30N06, $.1.75 / 10pcs)
  2. transistor NPN (seperti S8085)
  3. 3.9 ohm - perintang 2W, arus terhad sekitar 0.6 / 3.9 = 153mA
  4. Perintang 100kR (1 / 4W)
  5. Suis tekan-kunci
  6. Terdapat LED 0.5mm 8mm, $ 3.18 / 100pcs di sini
  7. Bateri Lithium 18660. Saya menyelamatkan beberapa dari mereka dari bank kuasa. Bateri komputer riba (4, 6, 8 sel) dibuat dari 18650 sel tetapi berhati-hati dengan barang itu.
  8. 1 tingkatkan papan hingga 12V, seperti ini, $ 0.56
  9. 1 pengecas litium seperti ini, $ 0.30

Perbezaan utama pada litar di atas adalah menggunakan bateri Lithium (18660) dengan papan penguat dan bukannya penyesuai kuasa 5V mock-up.

Foto terakhir menunjukkan lampu suluh terakhir dan ia dicas dari mana-mana sumber mikro USB (> 1A).

Langkah 3: Internet Perkara Dengan Lampu suluh ini?

Internet Perkara Dengan Lampu suluh Ini?
Internet Perkara Dengan Lampu suluh Ini?
Internet Perkara Dengan Lampu suluh ini?
Internet Perkara Dengan Lampu suluh ini?
Internet Perkara Dengan Lampu suluh Ini?
Internet Perkara Dengan Lampu suluh Ini?

Saya membahagikan bahagian ini kepada tiga langkah:

  • Siapkan pelanggan (yang ini)
  • Sediakan pelayan MQTT (langkah seterusnya)
  • dan sediakan Penerbit (yang seterusnya)

Bahagian:

Pertama, ya, saya menggunakan kata kunci itu, alias IOT, tetapi yang satu ini dapat membuat kombinasi baik menggunakan litar pada Langkah 2 dengan ESP8266 dan kemudian mengawal intensiti cahaya dengan kaedah MQTT.

Bahagian untuk litar sama, kecuali:

  1. Gantikan dorongan 12V dengan papan lonjakan MT3608, $ 1.92 / 5pcs, yang ini dapat meningkatkan voltan bateri 18650 (kira-kira 3.7V) hingga 28 V, cukup untuk mengaktifkan 8LED (bukannya 3).
  2. Posisi un-push di suis disambungkan ke GPIO 1 atau 2 di ESP8266 untuk isyarat PWM.
  3. ESP8266 01, $ 1.68 setiap satu. Suka yang ini
  4. AMS1117 3.3 V, pengatur voltan untuk ESP8266, beberapa kapasitor
  5. Modul USB untuk memuat naik ESP8266, $ 0.78 / pcs seperti ini

Btw. pautan tersebut adalah untuk kemudahan.

Memateri dan memuat naik:

  • Memateri bahagian bersama, dan gunakan skema di atas. Beberapa litar voltan 3.3 yang telah dibuat sebelumnya dapat menjimatkan masa anda ($ 1.38 / 5pcs seperti ini). Saya bingung mengingati pin ketika membalik papan PCB dan akhirnya memenuhi beberapa pengatur voltan AMS1117.
  • Seterusnya. Buat pengubahsuaian kecil seperti pada foto ketiga untuk menahan GPIO 0 hingga GND, ketuk Pin RST dengan pin GND dengan cepat untuk memasukkan ESP8266 ke dalam Flashmode.
  • Muat turun kod di sini dari GitHub saya, dan muat naik kod ke ESP 8266 menggunakan Arduino IDE.

Saya menyoroti garis untuk menunjukkan topik yang dilanggani oleh pelanggan. Segala mesej yang dihantar ke topik ini akan disampaikan kepada pelanggan lain (pelanggan) untuk topik ini. EPS8266 dalam litar ini akan mendengar mesej JSON yang diposkan ke topik tersebut dan memperbesar jika ada perubahan di saluran Tiga

* sekali sekala, saya fikir saya boleh meletakkan penarik tarik ke bawah (100k) untuk membumikan Gerbang MOSFET ketika ESP8266 tidak disajikan. Ini berfungsi tanpa adanya ESP8266, tetapi dengan ESP8266, perintang juga menurunkan GPIO0 atau 2 ke GND, menjadikannya mod Flash atau tidak boot (apabila GPIO2 RENDAH)). Anda akan melihat warna hijau pekat sekiranya ini berlaku.

Langkah 4: Sediakan Pelayan MQTT

Sediakan Pelayan MQTT
Sediakan Pelayan MQTT
Sediakan Pelayan MQTT
Sediakan Pelayan MQTT
Sediakan Pelayan MQTT
Sediakan Pelayan MQTT
Sediakan Pelayan MQTT
Sediakan Pelayan MQTT

MQTT (Pengangkutan Telemetri Beratur Mesej) adalah protokol pemesejan berdasarkan kaedah penerbitan-langganan. Perisian hosting MQTT masuk dan keluar disebut broker. Seperti broker sebenar, ia menjadi tuan rumah pertukaran antara penerbit (penjual) dan pelanggan (pembeli). Tidak ada wang yang berubah. Terdapat banyak tutorial untuk ini.

Inilah ringkasannya. Raspberry Pi adalah peranti yang paling popular untuk ini. Frist, pasang MQTT dengan:

sudo apt-get pasang klien mosquitto mosquitto

periksa sama ada pelayan MQTT berfungsi dengan membuka dua terminal pada Raspberry, satu menaip baris pertama dan yang lain untuk yang berikutnya:

mosquitto_sub -h localhost -t "yourtopic"

mosquitto_pub -t "yourtopic" -h localost -m "say sesuatu"

Anda mesti melihat "mengatakan sesuatu" muncul di terminal pertama. Walah! Ianya berfungsi.

"#" Dapat digunakan untuk mendengarkan topik apa pun, ganti "yourtopic" dengan "#"

Sekarang anda tidak mahu seseorang dapat menerbitkan atau melanggan pelayan MQTT anda, anda harus menyediakan kata laluan, melakukannya dengan:

cd ~

mosquitto_passwrd -c pwfile mqtt_user

mqtt_user boleh menjadi nama pengguna lain yang anda suka, masukkan kata laluan dua kali, dan kemas kini fail.conf dengan:

sudo nano /etc/mosquitto/mosquitto.conf

menambah dua baris berikut:

izinkan_anonim palsu

kata laluan_file / rumah / pi / pwfile

kemudian mulakan semula nyamuk dengan:

sudo systemctl mulakan semula mosquitto

buat ujian dengan memasukkan nama dengan kata laluan seperti:

mosquitto_sub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456"

mosquitto_pub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456" -m "adakah ini dijamin?"

Juga jika MQTT menolak sambungan, cubalah ini untuk meletakkan perkhidmatan MQTT ke latar belakang sistem Linux dengan:

nyamuk -d

Saya dapati rujukan ini bagus untuk dilihat. Saya belajar sesuatu daripada kedua-duanya hari ini.

  1. Adafruit:
  2. Stees-internet-guide.com

Langkah 5: Sediakan Penerbit

Sediakan Penerbit
Sediakan Penerbit
Sediakan Penerbit
Sediakan Penerbit
Sediakan Penerbit
Sediakan Penerbit
Sediakan Penerbit
Sediakan Penerbit

Untuk yang ini, saya membuat papan pemuka ringkas untuk mendorong mesej ke pelayan MQTT. Dalam mod pendirian, LCD menunjukkan Jam.

Bahagian:

  1. Paparan Skrin SSD1306, masing-masing $ 2,41
  2. EPS8266 WEMOS D1 Mini, $ 2.53 setiap satu
  3. Potensiometer
  4. Suis slaid satu 4 pin.
  5. dua LED 3mm,
  6. sebilangan perintang

Pematerian:

Berikut adalah skema terminal ini:

Muat naik kod:

WEMOS ESP8266 berjenama senang digunakan. Anda hanya memerlukan USB mikro, tekan butang muat naik di Arduino IDE flash chip. Kodnya ada di sini (GitHub):

Untuk menerbitkan mesej, tekan suis untuk menyalakan lampu hijau (dan merah mati), kemudian geser ke atas pin dan sesuaikan, dan akhirnya tekan butang sekali lagi untuk mendorong mesej ke pelayan MQTT. Papan pemuka dapat menerbitkan mesej JSON ke 4 saluran.

Lihat sorotan pada kod (tangkapan skrin). Itulah topik yang ditekankan oleh papan pemuka, dan LED kami sangat ingin melihat yang baru dari mesej JSON

Itu sahaja. Saya harap tutorial ini dapat membantu.

Disyorkan: