Talaan ng mga Nilalaman:

IOToilet: 7 Hakbang (na may Mga Larawan)
IOToilet: 7 Hakbang (na may Mga Larawan)

Video: IOToilet: 7 Hakbang (na may Mga Larawan)

Video: IOToilet: 7 Hakbang (na may Mga Larawan)
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Nobyembre
Anonim

Ang IOToilet ay ang unang matalinong may hawak ng papel sa banyo, na sinusubaybayan ang aming pang-araw-araw na paggamit ng toilet paper at pinapayagan ang makaipon ng mga istatistika na ipinapakita ang mga sukatang ito. At bakit ako dapat magmalasakit sa aking pang-araw-araw na paggamit ng toilet paper na maaari mong itanong? Sa totoo lang, ang ating kalusugan sa tiyan, lalo na ang siklo ng panunaw, ay maraming kinalaman sa kapwa ating pisikal na kalusugan at ating pangkaisipan. Halimbawa

Una akong naatasan na magtayo ng 10 mga yunit ng aparatong ito para sa isang ahensya ng tatak, na ang clip ay maaari mong makita sa itaas (ika-2 lokasyon), para sa isang sadyang kampanya sa marketing para sa isang malaking kumpanya. Sa simula, tinanggal ko ang ideya bilang isang nagmula sa isa pang sobrang sobrang malikhaing pag-iisip na desperadong sinusubukang manalo ng isang client account, ngunit unti-unting lumaki ito sa akin, hanggang sa napagtanto ko ang halaga ng impormasyong nakolekta sa pamamagitan ng aparatong ito.

Ang pagbuo ay batay sa isang mayroon nang piraso ng hardware na nakuha ng aking kliyente mula sa EBay, isang aparato sa pagrekord ng boses na nakapaloob sa isang may-hawak ng toilet paper. Mayroon itong tamang kadahilanan ng form at lahat ng mga kinakailangang peripheral na naka-built na, tulad ng isang speaker, isang sensor ng paggalaw upang ma-trigger ang aparato, bukal upang hawakan ang toilet paper mismo, isang kompartimento ng baterya, at isang on-off switch, kaya't masaya akong nag-opt gamit ang handa na itong ginawa kaysa sa pagmomodelo at pag-print ng aking sarili.

Hakbang 1: Mga Tool at Materyales

Mga Kasangkapan at Kagamitan
Mga Kasangkapan at Kagamitan
Mga Kasangkapan at Kagamitan
Mga Kasangkapan at Kagamitan
Mga Kasangkapan at Kagamitan
Mga Kasangkapan at Kagamitan
Mga Kasangkapan at Kagamitan
Mga Kasangkapan at Kagamitan

Mga ginamit na materyal:

May hawak ng papel ng toilet

Wemos D1 Mini

ATTiny85 chip, pakete ng DIP

2 x 2n2222 transistor

220 Ohm risistor

2 * 1KOhm risistor

MPU6050 accelerometer

Opsyonal, kung sakaling hindi gamitin ang aking PCB:

Wemos prototyping na kalasag

wire, solder, atbp.

Mga gamit na ginamit:

Dremel na may isang disc ng pagputol

ATTiny dev board (para sa maginhawang pag-upload ng firmware)

USB Tiny ISP programmer

tatsulok na distornilyador, ginamit ko ang kit na ito:

Hakbang 2: Pagdismawal sa Orihinal na Yunit

Pagwawalang-bahala sa Orihinal na Yunit
Pagwawalang-bahala sa Orihinal na Yunit
Pagwawalang-bahala sa Orihinal na Yunit
Pagwawalang-bahala sa Orihinal na Yunit
Pagwawalang-bahala sa Orihinal na Yunit
Pagwawalang-bahala sa Orihinal na Yunit

Matapos makuha ang orihinal na spindle ng papel sa banyo, binuksan ko ang kaso nito gamit ang isang tatsulok na distornilyador at tinanggal ang orihinal na PCB, naalis ang pagkakakonekta sa nagsasalita at iniiwan ang maraming kawad hangga't maaari na konektado dito.

Pagkatapos ay hinihinang ko ang LED at ang ikiling sensor mula sa orihinal na PCB, upang ma-embed sa paglaon sa bagong circuitry. Magbayad ng pansin na huwag mag-overheat ang ikiling switch, dahil maaari itong makapinsala. Ang minahan ay kulay-abo, ngunit dahil hindi ko ito kinunan ng mabuti kapag inalis mula sa orihinal na aparato, kailangan kong gumamit ng larawan mula sa net (tingnan sa itaas), kung saan ito berde. Isang maliit na detalye lamang.

Matapos buksan ang kaso at alisin ang electronics, gumamit din ako ng isang Dremel upang alisin ang labis na plastik na ginamit upang hawakan ang orihinal na PCB sa lugar, ang mga maliit na plastik na istante at isa sa 4 na mga pipa ng tornilyo. Maaari mong ipagpaliban ito sa yugto ng pagpupulong kung nais mo, ngunit sa anumang kaso kinakailangan ng ilang plastik na pagbabawas.

Hakbang 3: Ipinaliwanag ang Circuitry

Ipinaliwanag ang Circuitry
Ipinaliwanag ang Circuitry
Ipinaliwanag ang Circuitry
Ipinaliwanag ang Circuitry

Kaya, narito ang kaunti tungkol sa lohika sa likod ng circuit:

Upang ang mga baterya ay tumagal ng mahabang panahon, kinailangan kong ilagay ang parehong MPU6050 accelerometer at ang processor ng ESP8266 sa Wemos D1 Mini na matulog sa pagitan ng mga pag-activate. Ang una ay madaling gawin gamit ang isang transistor na binuksan at patayin ang MPU6050.

Tandaan: Una kong naisip na maaari kong i-program ito upang magpadala ng isang nakakagambala na signal na magising ang pangunahing processor. Naku, hindi ako makahanap ng isang paraan upang maganap ito, ang pag-configure ng tamang rehistro ng MPU6050 ay isang mahirap na gawain na hindi ko pa rin alam kung posible sa lahat…

Ang aking pangalawang pagpipilian ay ang paggamit ng tilt switch na ibinigay sa orihinal na yunit upang gisingin ang ESP. Una kong itali ito nang direkta sa Wemos RESET pin tulad ng inilarawan sa mga larawan sa itaas, gamit ang isang transistor upang buhayin / i-deactivate ang mekanismo. Kapag ang base ng transistor ay mataas, ang GND ay maaaring dumaan sa switch ng ikiling at maging sanhi ito upang pansamantalang kumonekta sa RESET pin, na sanhi ng pag-reset ng MCU (ito ang tanging paraan upang gisingin ang isang ESP mula sa malalim na pagtulog, tila). Pagkatapos ay konektado ko ang D0 sa base ng transistor, kasunod sa premise na ang binti na ito ay TAAS hangga't natutulog ang MCU, at sa lalong madaling paggising nito, babalik ang D0 sa LOW, hindi paganahin ang mekanismo ng pag-reset. Pagkatapos ng lahat, hindi ko na kailangan ng paulit-ulit na pag-reset upang mangyari, sa kauna-unahang pagkakataon lamang nang magsimulang gumalaw ang may hawak ng toilet paper.

Gayunpaman, ang natuklasan ko na ang pin D0 ay tumatagal ng mahabang panahon matapos ang pag-reset ng MCU upang bumalik sa LOW, mga 200ms. Nangangahulugan ito na kung pinaikot ko ang may hawak ng toilet paper nang sapat na mabilis habang natutulog ang MCU, makakakuha ito ng maraming mga RESET na nangyayari, sa halip na bilangin ang mga pag-ikot, tulad ng nararapat.

Kaya, sinubukan kong malutas ang bagong sitwasyong ito sa ilang mga discrete na sangkap (capacitor, transistors atbp.) Ngunit nagawa ko lamang na makakuha ng bahagyang solusyon sa problema.

Natapos kong magdagdag ng isa pang MCU, isang ATTiny85, na magising mula sa pagtulog sa pamamagitan ng switch ng ikiling, pagkatapos, gisingin ang ESP8266, at maghintay ng kaunting oras bago matulog. Alam ko na marahil ito ay hindi ang pinaka-matipid na solusyon sa problema, ngunit nagkaroon ako ng isang deadline …

Maaari mong makita ang detalyadong solusyon sa isinama kong iskema. Mangyaring tandaan na ang 10K resistors ay pinalitan ng 1K dahil ang 10k ay masyadong mataas para sa mga transistors upang ganap na buksan.

Hakbang 4: Paghahanda ng ATTiny85

Paghahanda ng ATTiny85
Paghahanda ng ATTiny85

Kung hindi mo pa nai-program ang isang ATTiny85, huwag kang matakot! Ang paggamit ng minamahal na Arduino IDE ay makakakuha ka sa lahat ng mga paraan. Magsimula sa mga tagubiling ito sa kung paano i-configure ang Arduino IDE:

github.com/SpenceKonde/ATTinyCore/blob/mas…

Susunod, i-install ang mga driver para sa USBTinyISP mula dito:

learn.adafruit.com/usbtinyisp/drivers

Ngayon, i-load ang nakalakip na test code: WakeOnExternalInterruptTest.ino

at kumonekta (tingnan ang diagram ng ATTiny85 Pinout):

1. Button sa taktika sa pagitan ng pin 3 at ground

2. Isang humantong at isang resistor na 220 Ohm sa serye, sa pagitan ng pin 2 at lupa

Susunod, Piliin ang USBTinyISP bilang programmer (sa ilalim ng Mga Tool -> Programmer) at i-upload ang test sketch sa board.

Ang LED ay dapat magpikit ng 5 beses, pagkatapos ay ang chip ay dapat matulog. Ang pagpindot sa pindutan ay magagawa nitong magising at ulitin ang pagkakasunud-sunod.

Nakuha ba ito upang gumana? malaki! I-upload ang pangwakas na sketch na "Awakener" sa ATTiny, upang magamit sa huling circuit.

Hakbang 5: Pagbuo ng Wemos Shield

Pagbuo ng Wemos Shield
Pagbuo ng Wemos Shield
Pagbuo ng Wemos Shield
Pagbuo ng Wemos Shield
Pagbuo ng Wemos Shield
Pagbuo ng Wemos Shield
Pagbuo ng Wemos Shield
Pagbuo ng Wemos Shield

Kaya, upang maitayo ang kalasag mayroon kang 3 mga pagpipilian na maaari kang pumili mula sa:

1. Gumamit ng isang karaniwang protoshield para sa Wemos at solder ang circuitry dito.

2. Gawin ang isang PCB, batay sa nakalakip na mga file ng EAGLE.

3. Hilingin sa akin para sa isang PCB na maipapadala ko sa iyo sa pamamagitan ng snail mail (Mayroon akong ilang nakahiga, ang gastos ay wala sa iba).

Sa anumang kaso, inirerekumenda ko ang pagbuo ng circuit sa isang breadboard bago gumawa sa PCB!

Kung gumagamit ng mga pagpipilian sa PCB, tiyaking ikonekta ang itim na kawad tulad ng mga larawan, sa harap o likod na bahagi ng pisara (huli na pinakamahusay na gumana para sa akin). Ang kawad na ito ay nag-uugnay sa GND mula sa Wemos sa ATTiny85 at wala ito, ang paggising ay hindi magaganap.

Tingnan lamang ang mga imahe at basahin ang mga anotasyon na idinagdag ko, dapat na sapat na ito.

Hakbang 6: Paghahanda ng mga Wemos

Kung hindi mo pa nagamit ang Arduino IDE upang magprograma ng isang board ng Wemos, simula sa pag-install ng board manager at pagpili ng board sa Tools -> menu ng Board, tulad ng inilarawan dito:

github.com/esp8266/Arduino

Magsimula sa pamamagitan ng pag-upload ng blink sketch sa iyong board, tinitiyak na na-upload nang tama ang code.

Hakbang 7: Pagsasama-sama sa Lahat ng Ito

Pagsasama-sama sa Lahat ng Ito
Pagsasama-sama sa Lahat ng Ito
Pagsasama-sama sa Lahat ng Ito
Pagsasama-sama sa Lahat ng Ito
Pagsasama-sama sa Lahat ng Ito
Pagsasama-sama sa Lahat ng Ito

I-install ang kalasag sa Wemos. Maaari mo itong solder, ngunit inirerekumenda ko ang paggamit ng mga babaeng header na solder sa Wemos na magpapahintulot sa pansamantalang koneksyon sa pagitan ng Wemos at ng kalasag, kung sakaling magkaroon ng problema. Tandaan lamang na ang babaeng header ay kailangang bumaba sa huling yugto ng pagpupulong para sa yunit upang magkasya sa plastic shell. Gayundin, upang gawing mas kumplikado ang mga bagay, mayroong isang magandang pagkakataon na kapag ang kalasag ay konektado sa Wemos, ang pag-upload ng code ay hindi pagaganahin. Naranasan ko ang hindi pangkaraniwang bagay na iyon sa isang hindi pare-pareho na paraan, at walang oras upang saliksikin ito.

Salita ng payo: magplano nang maaga.

Ngayon, Pagsubok!

Kapag na-install, magsimula sa pamamagitan ng pag-upload ng BlinkAccelerometer test sketch sa Wemos, at siguraduhing naka-on at naka-off ang MPU6050 LED. Kung hindi, suriin ang mga kable ng transistor na responsable para sa pagpapatakbo ng MPU6050. Ang base nito ay dapat na konektado sa pin D5 ng Wemos, ang kolektor ay dapat na konektado sa GND ng accelerometer at ang Emitter ay dapat na konektado sa karaniwang GND.

Susunod, i-upload ang turnCountTest1 sketch sa board ng Wemos at buksan ang Serial Monitor. Dapat mong makita ang data na nagmumula sa accelerometer na ipinakita sa monitor. Kung hindi gumagana, suriin ang orasan at mga kable ng data: Ang CLK ay dapat na konektado sa D1 at ang DATA ay dapat na konektado sa D2.

Ngayon, maghinang ang ikiling switch sa itinalagang mga butas sa board (tingnan ang mga anotasyon), tiyakin na patayo ito sa axis ng pag-ikot upang ang pag-ikot ng spindle ay isara at buksan ang koneksyon sa pagitan ng dalawang lead nito.

Susunod, ikonekta ang input ng Battery 3V sa Wemos VCC, at ang minus terminal nito sa Wemos GND. Siguraduhin na ang pag-on ng switch ay nakabukas sa yunit. Panghuli, ikonekta ang nagsasalita sa GND at i-pin ang D4 ng Wemos.

I-upload ang pangwakas na code sa Wemos - isang sketch na tinatawag na SmartWipe. Buksan ang isang serial monitor at tiyakin na ang yunit ay natutulog pagkatapos ng 3 minuto at nagising sa pamamagitan ng paggalaw ng ikiling switch (ang mga kaukulang mensahe ay dapat lumitaw sa monitor).

Kung nais mong bawasan ang oras na gising ang Wemos (pangunahin para sa mga layunin sa pagsubok), ibawas ang halaga ng WIFI_CONFIGURATION_IDLE_TIMEOUT na tinukoy sa params.h at i-upload ang sketch sa board. Siguraduhin na pagkatapos ng matulog na tulog ng Wemos, ang paggalaw ng switch ng ikiling ay sanhi ng paggising ng ATTiny (sinenyasan ng LED), na siya namang gumising sa Wemos.

Baguhin ang halaga ng parameter pabalik sa 180000L (3 minuto, sa millisecs) at siguraduhin na pinaputok ng Wemos ang isang Hotspot na tinatawag na IOToilet_XXXXXXXX kung saan makuha ang XXXXXXX mula sa MAC address ng chip. Kumonekta sa Wifi na ito gamit ang isang smart phone, at dapat kang idirekta sa isang form sa pagpaparehistro (isang mekanismo na tinatawag na Captive Portal). Punan ang mga detalye, lalong mahalaga ang SSID at password ng iyong lokal na wifi, at isumite ang form. Pagkatapos ay susubukan ng yunit na kumonekta sa network gamit ang mga ibinigay na kredensyal, at kung matagumpay, patugtugin ang 3 pataas na tunog sa speaker. Kung nagkaroon ng problema sa pagkonekta sa Wifi, 3 pababang tunog ang tutugtog. Pagkatapos nito, dapat matulog ang mga Wemos, hanggang sa magising ng paggalaw.

Panghuli: End to end Pagsubok ng system.

I-roll ang may hawak ng toilet paper kasama ang axis ng pag-ikot nito ng ilang mga pag-ikot, pagkatapos ay ilagay ito sa isang matatag na ibabaw (upang magsenyas gamit ang roll ay natapos at mag-trigger ng pag-upload ng data). Maghintay ng 10 segundo para maipadala ang cloud count sa cloud, pagkatapos ay pumunta sa https://smartwipe-iot.appspot.com/ at i-click ang Query. Dapat mong makita ang iyong mga detalye sa pagpaparehistro at ang iyong kamakailang bilang ng roll sa paggamit sa cloud! Tiyaking isulat ang iyong uuid, na iyong natatanging id sa system, na nakuha mula sa MAC address ng iyong Wemos.

Kung nais mong makuha lamang ang iyong mga istatistika sa format na JSON, gumamit ng isang URL na katulad nito:

smartwipe-iot.appspot.com/api?action=query&uuid=1234567890

palitan nalang uuid ng sa iyo.

Isinama ko ang lahat ng mga mapagkukunan para sa web app, na naka-host sa engine ng Google App upang ang mga gumagamit na nais na makakuha ng karagdagang privacy sa data, ay maaaring ipakalat ito sa kanilang sariling gumagamit ng Google, magdagdag ng pagpapatunay atbp.

Kapag gumagana ang lahat, ipasok ang mga electronics sa plastic shell, pinuputol ang plastik na may dremel kung kinakailangan. Ang buong piraso ay dapat na maayos na magkasya sa pabahay.

Gulo? Isulat mo ako!

UNITED WE POOP!

Inirerekumendang: