Obsah:

IOT toaleta: 7 krokov (s obrázkami)
IOT toaleta: 7 krokov (s obrázkami)

Video: IOT toaleta: 7 krokov (s obrázkami)

Video: IOT toaleta: 7 krokov (s obrázkami)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim

IOToilet je prvý inteligentný držiak toaletného papiera, ktorý sleduje naše každodenné používanie toaletného papiera a umožňuje zhromažďovanie štatistík ukazujúcich tieto metriky. A prečo by som sa mal pýtať na svoje každodenné používanie toaletného papiera? Ako sa ukazuje, naše zdravie brucha, najmä tráviaci cyklus, má veľa spoločného s fyzickým aj duševným zdravím. Tu je napríklad pekná prednáška TED (mimochodom, jedna z mála), ktorá sa zaoberá touto témou:

Pôvodne som bol poverený postaviť 10 jednotiek tohto zariadenia pre značkovú agentúru, ktorej klip môžete vidieť vyššie (2. miesto), pre účelovú marketingovú kampaň pre veľkú spoločnosť. Na začiatku som túto myšlienku zavrhol ako myšlienku prichádzajúcu od inej príliš kreatívnej mysle, ktorá sa zúfalo pokúšala získať klientsky účet, ale postupne to na mňa rástlo, až som si uvedomil hodnotu informácií zhromaždených prostredníctvom tohto zariadenia.

Zostava bola založená na existujúcom hardvéri, ktorý môj klient dostal z EBay, zariadenia na záznam hlasu zapuzdreného v držiaku na toaletný papier. Mal správny tvar a všetky vstavané potrebné periférie, ako napríklad reproduktor, pohybový senzor na spustenie zariadenia, pružiny na uloženie samotného toaletného papiera, priehradku na batérie a vypínač, takže som sa s potešením rozhodol. pomocou tohto hotového, a nie modelovania a tlače vlastných.

Krok 1: Nástroje a materiály

Nástroje a materiály
Nástroje a materiály
Nástroje a materiály
Nástroje a materiály
Nástroje a materiály
Nástroje a materiály
Nástroje a materiály
Nástroje a materiály

Použitý materiál:

Držiak na toaletný papier

Wemos D1 Mini

Čip ATTiny85, balenie DIP

2 x 2n2222 tranzistor

Odpor 220 ohmov

Rezistor 2 * 1 KOhm

Akcelerometer MPU6050

Voliteľné v prípade, že nepoužívam svoju DPS:

Prototypový štít Wemos

drôt, spájka atď.

Použité nástroje:

Dremel s rezacím kotúčom

Doska ATTiny dev (na pohodlné nahrávanie firmvéru)

USB malý programátor ISP

trojuholníkový skrutkovač, použil som túto súpravu:

Krok 2: Odstránenie pôvodnej jednotky z prevádzky

Očarovanie pôvodnej jednotky
Očarovanie pôvodnej jednotky
Očarovanie pôvodnej jednotky
Očarovanie pôvodnej jednotky
Očarovanie pôvodnej jednotky
Očarovanie pôvodnej jednotky

Po získaní pôvodného vretena toaletného papiera som pomocou trojuholníkového skrutkovača otvoril jeho puzdro a odstránil pôvodný dosku plošných spojov, odpojil som reproduktor a nechal som k nemu pripojiť čo najviac drôtov.

Potom som spájkoval LED a snímač náklonu z pôvodnej dosky plošných spojov, aby som ich neskôr začlenil do nových obvodov. Dávajte pozor, aby sa spínač naklonenia neprehrial, pretože by sa mohol poškodiť. Moja bola sivá, ale keďže som ju pri vyberaní z pôvodného zariadenia poriadne neodfotil, musel som použiť fotografiu z netu (viď vyššie), kde bola zelená. Len drobný detail.

Po otvorení puzdra a vybratí elektroniky som tiež pomocou Dremelu odstránil prebytočný plast, ktorý slúžil na držanie pôvodnej DPS na mieste, tieto malé plastové police a jednu zo 4 skrutkovacích rúr. Ak chcete, môžete to odložiť na fázu montáže, ale v každom prípade bude potrebné nejaké plastové orezanie.

Krok 3: Vysvetlenie obvodov

Obvod vysvetlený
Obvod vysvetlený
Obvod vysvetlený
Obvod vysvetlený

Tu je teda trochu o logike obvodu:

Aby batérie dlho vydržali, musel som medzi aktiváciami uspať akcelerometer MPU6050 aj procesor ESP8266 vo Wemos D1 Mini. Prvý bol ľahko vykonaný pomocou tranzistora, ktorý zapínal a vypínal MPU6050.

Poznámka: Pôvodne som si myslel, že ho môžem naprogramovať tak, aby odoslal signál prerušenia, ktorý prebudí hlavný procesor. Bohužiaľ som nenašiel spôsob, ako to dosiahnuť, konfigurácia správnych registrov MPU6050 bola náročná úloha, o ktorej stále neviem, či je to vôbec možné…

Druhou možnosťou bolo prebudiť ESP pomocou prepínača naklonenia dodaného s pôvodnou jednotkou. Najprv som ho priviazal priamo na pin Wemos RESET, ako je popísané na fotografiách vyššie, pomocou tranzistora na aktiváciu/deaktiváciu mechanizmu. Keď bola tranzistorová základňa vysoká, GND mohol prejsť naklápacím spínačom a spôsobiť, že sa dočasne pripojí k kolíku RESET, čo spôsobí reset MCU (toto je jediný spôsob, ako prebudiť ESP pravdepodobne z hlbokého spánku). Potom som pripojil D0 k tranzistorovej základni podľa predpokladu, že táto noha je VYSOKÁ, pokiaľ MCU spí, a akonáhle sa prebudí, D0 sa vráti späť na LOW, čím deaktivuje resetovací mechanizmus. Nakoniec som nepotreboval, aby sa opakovaný reset opakoval, iba prvýkrát, keď sa držiak toaletného papiera začal pohybovať.

Zistil som však, že pinu D0 trvá dosť dlho, kým sa reset MCU vráti na LOW, asi 200 ms. To znamenalo, že ak som dostatočne rýchlo roztočil držiak toaletného papiera, kým MCU spal, došlo by k viacnásobnému vynulovaniu, namiesto počítania kôl, ako by malo.

Skúsil som teda vyriešiť túto novú situáciu niektorými diskrétnymi komponentmi (kondenzátory, tranzistory atď.), Ale podarilo sa mi získať iba čiastočné riešenie problému.

Nakoniec som pridal ďalší MCU, ATTiny85, ktorý sa prebudil zo spánku prepínačom náklonu, potom zobudil ESP8266 a chvíľu počkal, kým sa vráti do režimu spánku. Viem, že to pravdepodobne nie je najekonomickejšie riešenie problému, ale mal som termín…

Podrobné riešenie môžete vidieť v schéme, ktorú som zahrnul. Upozorňujeme, že 10K odpory boli nahradené 1K, pretože 10k odpory boli príliš vysoké na to, aby sa tranzistory úplne otvorili.

Krok 4: Príprava ATTiny85

Príprava ATTiny85
Príprava ATTiny85

Ak ste nikdy nenaprogramovali ATTiny85, nebojte sa! Používanie milovaného IDE Arduino vás môže dostať na celú cestu. Začnite týmito pokynmi o konfigurácii Arduino IDE:

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

Ďalej tu nainštalujte ovládače pre USBTinyISP:

learn.adafruit.com/usbtinyisp/drivers

Teraz načítajte priložený testovací kód: WakeOnExternalInterruptTest.ino

a pripojte sa (pozri diagram pinov ATTiny85):

1. Taktovacie tlačidlo medzi kolíkom 3 a zemou

2. LED a odpor 220 Ohm v sérii medzi pinom 2 a uzemnením

Ďalšie, Vyberte USBTinyISP ako programátor (v časti Nástroje -> Programátor) a nahrajte testovací náčrt na tabuľu.

LED dióda by mala 5 -krát zablikať, potom by mal čip prejsť do režimu spánku. Po stlačení tlačidla sa zariadenie zobudí a zopakuje uvedenú sekvenciu.

Funguje to? skvelé! Odošlite konečný náčrt „Prebuditeľ“do ATTiny, ktorý sa má použiť na záverečnom okruhu.

Krok 5: Budovanie štítu Wemos

Budovanie Wemosovho štítu
Budovanie Wemosovho štítu
Budovanie Wemosovho štítu
Budovanie Wemosovho štítu
Budovanie Wemosovho štítu
Budovanie Wemosovho štítu
Budovanie Wemosovho štítu
Budovanie Wemosovho štítu

Na stavbu štítu máte teda 3 možnosti, z ktorých si môžete vybrať:

1. Na Wemos použite štandardný protoshield a spájkujte naň obvody.

2. Vyrobte DPS podľa priložených súborov EAGLE.

3. Požiadajte ma o DPS, ktorú vám môžem poslať slimačou poštou (niekoľko ich mám poruke, náklady takmer nič).

V každom prípade pred zapojením do dosky plošných spojov odporúčam zostrojiť obvod na doske!

Ak používate možnosti dosky plošných spojov, zapojte čierny vodič ako na fotografiách na prednú alebo zadnú stranu dosky (ten sa mi osvedčil najlepšie). Tento vodič spája GND z Wemosu s ATTiny85 a bez neho sa prebudenie neuskutoční.

Stačí sa dobre pozrieť na obrázky a prečítať si anotácie, ktoré som pridal, toto by malo stačiť.

Krok 6: Príprava Wemos

Ak ste nikdy nepoužívali Arduino IDE na programovanie dosky Wemos, začnite inštaláciou správcu dosky a výberom dosky v ponuke Nástroje -> Doska, ako je popísané tu:

github.com/esp8266/Arduino

Začnite tým, že na tabuľu nahrajete žmurknúcu skicu a uistite sa, že sa kód nahrá správne.

Krok 7: Dajte to všetko dohromady

Dávať to všetko dokopy
Dávať to všetko dokopy
Dávať to všetko dokopy
Dávať to všetko dokopy
Dávať to všetko dokopy
Dávať to všetko dokopy

Nainštalujte štít na Wemos. Môžete ho spájkovať, ale v prípade akýchkoľvek problémov odporúčam použiť ženské hlavičky spájkované na Wemos, ktoré umožnia dočasné spojenie medzi Wemos a štítom. Majte na pamäti, že zásuvka musí v konečnej fáze montáže vypadnúť, aby sa jednotka zmestila do plastového plášťa. Aby to bolo ešte trochu komplikovanejšie, existuje veľká šanca, že keď je štít pripojený k Wemos, prenos kódu bude deaktivovaný. Stretol som sa s týmto javom nejednotným spôsobom a nemal som čas ho skúmať.

Rada: plánujte dopredu.

Teraz testovanie!

Po inštalácii začnite odovzdaním testovacieho náčrtu BlinkAccelerometer na server Wemos a uistite sa, že zapína a vypína diódu LED MPU6050. Ak nie, skontrolujte zapojenie tranzistora, ktorý je zodpovedný za napájanie MPU6050. Jeho základňa by mala byť pripojená k pinu D5 Wemos, kolektor by mal byť pripojený k GND akcelerometra a vysielač by mal byť pripojený k spoločnému GND.

Potom nahrajte skicu TurnCountTest1 na dosku Wemos a otvorte Serial Monitor. Na monitore by ste mali vidieť údaje pochádzajúce z akcelerometra. Ak nefunguje, skontrolujte hodiny a dátové vedenie: CLK by mal byť pripojený k D1 a DATA by mal byť pripojený k D2.

Teraz spájajte prepínač naklonenia do určených otvorov v doske (pozri anotácie) a uistite sa, že je kolmý na os otáčania, aby sa otáčaním vretena zatvorilo a otvorilo spojenie medzi jeho dvoma vodičmi.

Potom pripojte vstup 3V batérie k Wemos VCC a jeho záporný pól k Wemos GND. Uistite sa, že zapnutím vypínača sa jednotka zapne. Nakoniec pripojte reproduktor k GND a kolíku D4 Wemos.

Odošlite konečný kód do Wemos - skicu s názvom SmartWipe. Otvorte sériový monitor a uistite sa, že sa jednotka po 3 minútach uspí a prebudí sa posunutím prepínača naklonenia (na monitore by sa mali objaviť zodpovedajúce správy).

Ak chcete skrátiť čas bdelosti Wemosu (hlavne na testovacie účely), znížte hodnotu WIFI_CONFIGURATION_IDLE_TIMEOUT definovanú v paramets.h a nahrajte náčrt na nástenku. Uistite sa, že potom, čo Wemos prejde do hlbokého spánku, posunutie prepínača naklonenia spôsobí, že sa ATTiny zobudí (signalizované diódou LED), čo zase Wemosov prebudí.

Zmeňte hodnotu parametra späť na 1 800 000 L (3 minúty, v milisekundách) a zaistite, aby Wemos spustil hotspot s názvom IOToilet_XXXXXXXX, kde bude XXXXXXX načítaný z MAC adresy čipu. Pripojte sa k tejto sieti Wi -Fi pomocou inteligentného telefónu a malo by vás presmerovať na registračný formulár (mechanizmus nazývaný portál na zajatie). Vyplňte údaje, obzvlášť dôležité je SSID a heslo lokálnej siete Wi -Fi a odošlite formulár. Jednotka by sa potom mala pokúsiť pripojiť k sieti pomocou dodaných poverení a v prípade úspechu prehrať na reproduktore 3 vzostupné zvuky. Ak došlo k problému s pripojením k sieti Wi -Fi, prehrajú sa 3 zostupné zvuky. Potom by mali Wemovia zaspať, kým ich neprebudí pohyb.

Nakoniec: End to end Systémový test.

Otočte držiak toaletného papiera pozdĺž svojej osi otáčania o niekoľko otáčok a potom ho umiestnite na stabilný povrch (pomocou valčeka sa signál skončí a spustí sa odosielanie údajov). Počkajte asi 10 sekúnd, kým sa počet rolí odošle do cloudu, potom prejdite na stránku https://smartwipe-iot.appspot.com/ a kliknite na položku Dotaz. V cloude by ste mali vidieť svoje registračné údaje a svoj nedávny počet rolí použitia! Nezabudnite si zapísať svoje uuid, čo je vaše jedinečné ID v systéme, extrahované z MAC adresy vášho Wemos.

Ak chcete extrahovať iba svoje štatistiky vo formáte JSON, použite podobnú adresu URL:

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

stačí nahradiť uuid svojim.

Zahrnul som všetky zdroje pre webovú aplikáciu, ktorá je umiestnená v nástroji Google App Engine, aby používatelia, ktorí chcú získať väčšie súkromie s údajmi, ich mohli nasadiť na svojom vlastnom používateľovi Google, pridať autentifikáciu atď.

Keď všetko funguje, vložte elektroniku do plastového puzdra a plast podľa potreby orežte dremelom. Celý kus by mal pekne zapadnúť do puzdra.

Problém? Napíšte mi!

SPOJENÉ POHÁBUJEME!

Odporúča: