Isi kandungan:
- Langkah 1: Alat dan Bahan
- Langkah 2: Menyahdayakan Unit Asal
- Langkah 3: Penjelasan Litar
- Langkah 4: Menyiapkan ATTiny85
- Langkah 5: Membina Perisai Wemos
- Langkah 6: Menyiapkan Wemos
- Langkah 7: Menggabungkan Semuanya
Video: Tandas IOT: 7 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:12
IOToilet adalah pemegang kertas tandas pintar pertama, yang mengawasi penggunaan kertas tandas harian kita dan membolehkan pengumpulan statistik yang menunjukkan metrik ini. Dan mengapa saya harus mengambil berat tentang penggunaan kertas tandas harian saya yang mungkin anda tanyakan? Ternyata, kesihatan perut kita, terutamanya kitaran pencernaan, mempunyai banyak kaitan dengan kesihatan fizikal dan mental kita. Sebagai contoh, berikut adalah ceramah TED yang bagus (salah satu daripada beberapa perkara) yang menghuraikan perkara ini:
Pada mulanya saya ditugaskan untuk membina 10 unit peranti ini untuk agensi penjenamaan, yang klipnya dapat anda lihat di atas (lokasi ke-2), untuk kempen pemasaran yang bertujuan untuk sebuah syarikat besar. Pada awalnya, saya menolak idea itu kerana pemikiran yang terlalu kreatif yang lain berusaha keras untuk memenangkan akaun pelanggan, tetapi secara beransur-ansur ia berkembang pada saya, sehingga saya menyedari nilai maklumat yang dikumpulkan melalui peranti ini.
Binaan itu berdasarkan pada perkakasan yang ada yang diperoleh pelanggan saya dari EBay, sebuah alat rakaman suara yang dikemas dalam dudukan kertas tandas. Ini mempunyai faktor bentuk yang tepat dan semua periferal yang diperlukan sudah ada di dalamnya, seperti pembesar suara, sensor pergerakan untuk mencetuskan peranti, pegas untuk memegang kertas tandas itu sendiri, ruang bateri, dan suis on-off, jadi saya dengan senang hati memilih menggunakan ini siap dibuat daripada memodelkan dan mencetak sendiri.
Langkah 1: Alat dan Bahan
Bahan yang digunakan:
Pemegang kertas tandas
Wemos D1 Mini
Cip ATTiny85, pembungkusan DIP
Transistor 2 x 2n2222
220 Ohm perintang
Perintang 2 * 1KOhm
Pemecut MPU6050
Pilihan, sekiranya tidak menggunakan PCB saya:
Perisai prototaip Wemos
wayar, pateri, dll.
Alat yang digunakan:
Dremel dengan cakera pemotong
Papan dev ATTiny (untuk memuat naik firmware dengan mudah)
Pengaturcara USB Tiny ISP
pemutar skru segi tiga, saya menggunakan kit ini:
Langkah 2: Menyahdayakan Unit Asal
Setelah memperoleh gelendong kertas tandas yang asli, saya membuka casingnya dengan pemutar skru segi tiga dan mengeluarkan PCB asalnya, melepaskan pembesar suara dan membiarkan wayar sebanyak mungkin disambungkan ke dalamnya.
Saya kemudian menyisipkan LED dan sensor kecondongan dari PCB asal, untuk kemudian dimasukkan ke dalam litar baru. Perhatikan jangan terlalu panas suis kecondongan, kerana ia mungkin merosakkan. Tambang saya berwarna kelabu, tetapi kerana saya tidak mengambil gambarnya dengan baik semasa mengeluarkan dari peranti asal, saya harus menggunakan foto dari jaring (lihat di atas), di mana ia berwarna hijau. Hanya butiran kecil.
Setelah membuka casing dan mengeluarkan elektronik, saya juga menggunakan Dremel untuk mengeluarkan lebihan plastik yang digunakan untuk menahan PCB asalnya, rak plastik kecil ini dan satu dari 4 paip skru. Anda boleh menangguhkannya ke peringkat pemasangan jika anda mahu, tetapi bagaimanapun juga diperlukan pemangkasan plastik.
Langkah 3: Penjelasan Litar
Jadi, berikut adalah sedikit mengenai logik di sebalik litar:
Agar bateri dapat bertahan lama, saya harus meletakkan pemacu MPU6050 dan pemproses ESP8266 di Wemos D1 Mini untuk tidur di antara pengaktifan. Yang pertama dengan mudah dilakukan menggunakan transistor yang menghidupkan dan mematikan MPU6050.
Catatan: Pada mulanya saya fikir saya dapat memprogramnya untuk menghantar isyarat gangguan yang akan membangunkan pemproses utama. Sayangnya, saya tidak dapat mencari jalan untuk mewujudkannya, mengkonfigurasi daftar MPU6050 yang betul adalah tugas yang sukar yang saya masih tidak tahu sama ada mungkin…
Pilihan kedua saya adalah menggunakan suis kecondongan yang dibekalkan dengan unit asal untuk menghidupkan ESP. Saya pertama kali mengikatnya langsung ke pin Wemos RESET seperti yang dijelaskan dalam gambar di atas, menggunakan transistor untuk mengaktifkan / mematikan mekanisme. Apabila pangkalan transistor tinggi, GND dapat melalui suis kecondongan dan menyebabkannya menyambung sementara ke pin RESET, menyebabkan MCU diset semula (ini adalah satu-satunya cara untuk membangunkan ESP dari tidur nyenyak, nampaknya). Saya kemudian menghubungkan D0 ke pangkalan transistor, berikutan premis bahawa kaki ini TINGGI selagi MCU sedang tidur, dan sebaik sahaja bangun, D0 kembali ke RENDAH, mematikan mekanisme tetapan semula. Bagaimanapun, saya tidak memerlukan tetapan berulang berulang, hanya untuk kali pertama ketika pemegang kertas tandas mula bergerak.
Namun, apa yang saya dapati adalah bahawa pin D0 memerlukan masa yang lama setelah MCU diset semula untuk kembali ke RENDAH, sekitar 200ms. Ini bermaksud bahawa jika saya memutar pemegang kertas tandas dengan cukup cepat semasa MCU sedang tidur, ia akan mendapat banyak RESET, dan bukannya menghitung putaran, sebagaimana mestinya.
Oleh itu, saya cuba menyelesaikan keadaan baru ini dengan beberapa komponen diskrit (kapasitor, transistor dll) tetapi saya hanya berjaya mendapatkan sebahagian penyelesaian untuk masalah ini.
Saya akhirnya menambahkan MCU lain, ATTiny85, yang akan terbangun dari tidur dengan suis kecondongan, kemudian, bangunkan ESP8266, dan tunggu sebentar sebelum kembali tidur. Saya tahu ini mungkin bukan penyelesaian paling ekonomik untuk masalah ini, tetapi saya mempunyai tarikh akhir …
Anda dapat melihat penyelesaian terperinci dalam skema yang telah saya sertakan. Harap maklum bahawa perintang 10K diganti dengan 1K kerana 10k perintang terlalu tinggi untuk transistor terbuka sepenuhnya.
Langkah 4: Menyiapkan ATTiny85
Sekiranya anda tidak pernah memprogram ATTiny85, jangan takut! Menggunakan Arduino IDE yang dikasihi dapat memberi anda semua jalan. Mulakan dengan arahan ini mengenai cara mengkonfigurasi Arduino IDE:
github.com/SpenceKonde/ATTinyCore/blob/mas…
Seterusnya, pasang pemacu untuk USBTinyISP dari sini:
learn.adafruit.com/usbtinyisp/drivers
Sekarang, muatkan kod ujian yang dilampirkan: WakeOnExternalInterruptTest.ino
dan sambungkan (lihat gambarajah Pinout ATTiny85):
1. Tact button antara pin 3 dan ground
2. Perintang yang dipimpin dan 220 Ohm secara bersiri, antara pin 2 dan tanah
Seterusnya, Pilih USBTinyISP sebagai programmer (di bawah Tools -> Programmer) dan muat naik lakaran ujian ke papan.
LED harus berkelip selama 5 kali, kemudian cip harus tidur. Menekan butang akan menyebabkannya bangun dan mengulangi urutan itu.
Faham? hebat! Muat naik lakaran akhir "Awakener" ke ATTiny, untuk digunakan di litar akhir.
Langkah 5: Membina Perisai Wemos
Oleh itu, untuk membina perisai anda mempunyai 3 pilihan yang boleh anda pilih:
1. Gunakan protoshield standard untuk Wemos dan pasangkan litar ke atasnya.
2. Buat PCB, berdasarkan fail EAGLE yang dilampirkan.
3. Minta PCB untuk saya kirimkan melalui surat siput (saya mempunyai beberapa perkara, kos tidak ada apa-apa).
Walau apa pun, saya cadangkan membina litar di papan roti sebelum membuat kontrak dengan PCB!
Sekiranya menggunakan pilihan PCB, pastikan untuk menyambungkan wayar hitam seperti dalam foto, di bahagian depan atau belakang papan (yang terakhir berfungsi paling baik untuk saya). Kawat ini menghubungkan GND dari Wemos ke ATTiny85 dan tanpanya, bangun tidak akan berlaku.
Lihat sahaja gambar dan baca anotasi yang saya tambahkan, ini sudah cukup.
Langkah 6: Menyiapkan Wemos
Sekiranya anda tidak pernah menggunakan Arduino IDE untuk memprogram papan Wemos, mulakan dengan memasang pengurus papan dan memilih papan di menu Alat -> Papan, seperti yang dijelaskan di sini:
github.com/esp8266/Arduino
Mulakan dengan memuat naik lakaran berkedip ke papan anda, pastikan kodnya dimuat dengan betul.
Langkah 7: Menggabungkan Semuanya
Pasang perisai ke Wemos. Anda boleh menyoldernya, tetapi saya mengesyorkan menggunakan header wanita yang disolder ke Wemos yang akan membolehkan hubungan sementara antara Wemos dan perisai, sekiranya terdapat masalah. Perlu diingat bahawa header wanita harus turun pada peringkat akhir pemasangan agar unit dapat dimasukkan ke dalam cangkang plastik. Juga, untuk menjadikan sesuatu menjadi lebih rumit, ada kemungkinan bahawa apabila perisai disambungkan ke Wemos, muat naik kod akan dilumpuhkan. Saya telah menghadapi fenomena tersebut dengan cara yang tidak konsisten, dan tidak mempunyai masa untuk menyelidikinya.
Kata nasihat: merancang lebih awal.
Sekarang, Menguji!
Setelah dipasang, mulakan dengan memuat naik lakaran ujian BlinkAccelerometer ke Wemos, dan pastikan ia menghidupkan dan mematikan LED MPU6050. Sekiranya tidak, periksa pendawaian transistor yang bertanggungjawab untuk menghidupkan MPU6050. Pangkalannya harus dihubungkan ke pin D5 Wemos, pengumpul harus disambungkan ke GND pecutan dan Pemancar harus dihubungkan ke GND biasa.
Seterusnya, muat naik lakaran TurnCountTest1 ke papan Wemos dan buka Monitor Bersiri. Anda mesti melihat data yang berasal dari pecutan yang ditunjukkan pada monitor. Sekiranya tidak berfungsi, periksa jam dan pendawaian data: CLK harus disambungkan ke D1 dan DATA harus disambungkan ke D2.
Sekarang, pasangkan suis kecondongan ke lubang yang ditentukan di papan (lihat anotasi), pastikan ia berserenjang dengan paksi putaran sehingga memutar gelendong akan menutup dan membuka hubungan antara kedua-dua sisinya.
Seterusnya, sambungkan input Battery 3V ke Wemos VCC, dan terminal minus ke Wemos GND. Pastikan menghidupkan suis menghidupkan unit. Terakhir, sambungkan pembesar suara ke GND dan pin D4 dari Wemos.
Muat naik kod akhir ke Wemos - lakaran yang dipanggil SmartWipe. Buka monitor bersiri dan pastikan unit tidur setelah 3 minit dan terbangun dengan menggerakkan suis kecondongan (mesej yang sesuai akan muncul di monitor).
Sekiranya anda ingin mengurangkan waktu Wemos terjaga (terutamanya untuk tujuan ujian), kurangkan nilai WIFI_CONFIGURATION_IDLE_TIMEOUT yang ditentukan dalam params.h dan muat naik lakaran ke papan tulis. Pastikan bahawa setelah Wemos tidur nyenyak, menggerakkan suis kecondongan menyebabkan ATTiny bangun (ditandakan oleh LED), yang seterusnya, membangunkan Wemos.
Tukar nilai parameter kembali ke 180000L (3 minit, dalam milisaat) dan pastikan Wemos menghidupkan Hotspot yang dipanggil IOToilet_XXXXXXXX di mana XXXXXXX akan diambil dari alamat MAC cip. Sambungkan ke Wifi ini menggunakan telefon pintar, dan anda harus diarahkan ke borang pendaftaran (mekanisme yang disebut Captive Portal). Isi butirannya, yang paling penting ialah SSID dan kata laluan wifi tempatan anda, dan hantarkan borang. Unit kemudian harus cuba menyambung ke rangkaian menggunakan kelayakan yang disediakan, dan jika berjaya, mainkan 3 suara menaik pada pembesar suara. Sekiranya terdapat masalah semasa menyambung ke Wifi, 3 suara menurun akan dimainkan. Selepas itu, Wemos harus tidur nyenyak, hingga terbangun oleh pergerakan.
Akhir sekali: Ujian sistem akhir ke akhir.
Gulung pemegang kertas tandas di sepanjang paksi putarannya beberapa putaran, kemudian letakkan di permukaan yang stabil (untuk memberi isyarat menggunakan gulungan telah berakhir dan mencetuskan muat naik data). Tunggu kira-kira 10 saat untuk jumlah gulungan dihantar ke awan, kemudian pergi ke https://smartwipe-iot.appspot.com/ dan klik Pertanyaan. Anda harus melihat butiran pendaftaran dan jumlah daftar penggunaan terbaru anda di awan! Pastikan anda menuliskan uuid anda, yang merupakan id unik anda dalam sistem, diekstrak dari alamat MAC Wemos anda.
Sekiranya anda ingin mengekstrak statistik anda hanya dalam format JSON, gunakan URL yang serupa dengan ini:
smartwipe-iot.appspot.com/api?action=query&uuid=1234567890
ganti uuid dengan milik anda.
Saya telah memasukkan semua sumber untuk aplikasi web, yang dihoskan di mesin Google App supaya pengguna yang ingin mendapatkan lebih banyak privasi pada data, dapat menyebarkannya pada pengguna Google mereka sendiri, menambahkan pengesahan dll.
Apabila semuanya berfungsi, pasangkan elektronik ke dalam cangkang plastik, potong plastik dengan dremel jika diperlukan. Seluruh bahagiannya harus dipasang dengan baik ke dalam perumahan.
Masalah? Tulis saya!
BERSATU KAMI POOP!
Disyorkan:
Penyimpan Kertas: Simpan Kertas Tandas Dengan Terapi Kejutan: 4 Langkah
The Preserver Kertas: Simpan Kertas Tandas Dengan Terapi Kejutan: Kita semua melihat rak kosong di kedai runcit dan nampaknya akan ada kekurangan kertas tandas untuk sementara waktu. Sekiranya anda tidak membuat persediaan lebih awal, anda mungkin berada dalam situasi yang saya hadapi. Saya mempunyai rumah seramai 6 orang dan hanya tinggal beberapa gulungan
Program MicroPython: Adakah Tandas Duduki? 8 Langkah (dengan Gambar)
Program MicroPython: Adakah Tandas Duduki ?: Pejabat kami adalah pejabat kumpulan besar dengan ruang bilik mandi terhad. &Quot; I " sering mendapati bahawa saya tidak mempunyai ruang untuk pergi ke bilik mandi, jadi saya harus menunggu lama sehingga saya merasa malu. Eksperimen ini menggunakan MakePython ESP8266 untuk menubuhkan pelayan pengesanan
Gulungan Kertas Tandas R / C: 10 Langkah
Roll Toilet Paper R / C: 2019 jauh sebelum Panic Paper Panic saya tertarik dengan Battlebots dan membuat bot saya sendiri …. Inilah hasilnya! Harap maklum: ini bukan tutorial / binaan elektronik dan saya juga tidak akan membahas bagaimana ia berfungsi, itu adalah satu cabaran tetapi ada
Pemasangan Telefon Kertas Tandas: 7 Langkah (dengan Gambar)
Pemasangan Telefon Kertas Tandas: Adakah anda memerlukan tempat untuk menyimpan telefon anda semasa mengecasnya sehingga tetap tegak? Pemasangan telefon adalah jawapan untuk ini. Adakah anda mempunyai beberapa gulungan kertas tandas yang tersembunyi di sekitar rumah anda, dan hanya sedikit kadbod? Sekiranya anda melakukannya, maka anda akan
Bina Kotak Ceramah Di Dalam Pelocok Tandas: 6 Langkah (dengan Gambar)
Bina Kotak Ceramah Di Dalam Tandas Tandas: Dengan besi pematerian, sepasang pembesar suara komputer, dan beberapa peralatan paip (termasuk Tandas Tandas). Anda boleh membina Talk Box yang cukup baik (kotak perbincangan adalah apa yang digunakan oleh seniman seperti Daft Punk untuk mendapatkan Robot Voice Effect pada lagu-lagu seperti Around th