Isi kandungan:

Tandas IOT: 7 Langkah (dengan Gambar)
Tandas IOT: 7 Langkah (dengan Gambar)

Video: Tandas IOT: 7 Langkah (dengan Gambar)

Video: Tandas IOT: 7 Langkah (dengan Gambar)
Video: Tuan Tigabelas - Move (Lyric Video) 2024, November
Anonim

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

Alat dan Bahan
Alat dan Bahan
Alat dan Bahan
Alat dan Bahan
Alat dan Bahan
Alat dan Bahan
Alat dan Bahan
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

Menyahdayakan Unit Asal
Menyahdayakan Unit Asal
Menyahdayakan Unit Asal
Menyahdayakan Unit Asal
Menyahdayakan Unit Asal
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

Litar Dijelaskan
Litar Dijelaskan
Litar Dijelaskan
Litar Dijelaskan

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

Menyiapkan ATTiny85
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

Membina Perisai Wemos
Membina Perisai Wemos
Membina Perisai Wemos
Membina Perisai Wemos
Membina Perisai Wemos
Membina Perisai Wemos
Membina Perisai Wemos
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

Menggabungkan Semuanya
Menggabungkan Semuanya
Menggabungkan Semuanya
Menggabungkan Semuanya
Menggabungkan Semuanya
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: