Мазмұны:

IOT дәретхана: 7 қадам (суреттермен)
IOT дәретхана: 7 қадам (суреттермен)

Бейне: IOT дәретхана: 7 қадам (суреттермен)

Бейне: IOT дәретхана: 7 қадам (суреттермен)
Бейне: Топ 5 скрытых полезных программ Windows 10 2024, Қараша
Anonim

IOToilet - дәретхана қағазының күнделікті қолданылуын бақылайтын және осы көрсеткіштерді көрсететін статистиканы жинауға мүмкіндік беретін бірінші ақылды дәретхана қағазы. Неліктен мен сіз сұрайтын дәретхана қағазын күнделікті пайдалануыма мән беруім керек? Белгілі болғандай, біздің іштің денсаулығы, әсіресе ас қорыту циклі, біздің физикалық денсаулығымызға да, психикалық денсаулығымызға да тікелей байланысты. Мысалы, міне, осы тақырыпта егжей -тегжейлі жазылған TED жайлы жақсы әңгіме (айтпақшы, олардың бірнешеуі):

Бастапқыда маған үлкен компания үшін мақсатты маркетингтік науқан үшін жоғарыда көрсетілген клипті (2 -ші орын) көре алатын брендинг агенттігіне осы құрылғының 10 бірлігін жасау тапсырылды. Бастапқыда мен бұл идеяны басқа шығармашылық қабілеті бар клиенттік есептік жазбаны ұтып алуға тырысатын адам ретінде қабылдамадым, бірақ бұл құрылғы арқылы жиналған ақпараттың құндылығын түсінгенше, ол біртіндеп менде өсті.

Құрылым менің клиентім дәретхана қағазы ұстағышына салынған EBay, дауысты жазу құрылғысынан алынған бар жабдыққа негізделген. Оның дұрыс формалық коэффициенті және барлық қажетті қосымша құрылғылар орнатылған, мысалы, динамик, құрылғыны іске қосатын қозғалыс сенсоры, дәретхана қағазының өзін ұстауға арналған серіппелер, аккумулятор бөлмесі және қосқыш. Мен мұны модельдеу мен басып шығарудан гөрі, дайын бұйымды қолданамын.

1 -қадам: құралдар мен материалдар

Құралдар мен материалдар
Құралдар мен материалдар
Құралдар мен материалдар
Құралдар мен материалдар
Құралдар мен материалдар
Құралдар мен материалдар
Құралдар мен материалдар
Құралдар мен материалдар

Қолданылған материалдар:

Дәретхана қағазы

Wemos D1 Mini

ATTiny85 чипі, DIP қаптамасы

2 x 2n2222 транзисторы

220 Ом резисторы

2 * 1 кОм резистор

MPU6050 акселерометр

Қосымша, егер менің ПХД қолданылмаса:

Wemos прототиптік қалқаны

сым, дәнекерлеуіш және т.

Қолданылатын құралдар:

Дремель кесу дискісі бар

ATTiny dev тақтасы (микробағдарламаны ыңғайлы түрде жүктеу үшін)

USB Tiny ISP бағдарламашысы

үшбұрышты бұрағыш, мен бұл жинақты қолдандым:

2 -қадам: Түпнұсқалық блокты ажырату

Түпнұсқалық блокты ажырату
Түпнұсқалық блокты ажырату
Түпнұсқалық блокты ажырату
Түпнұсқалық блокты ажырату
Түпнұсқа қондырғыны ажырату
Түпнұсқа қондырғыны ажырату

Түпнұсқа дәретхана қағазының шпинделін алғаннан кейін мен оның корпусын үшбұрышты бұрағышпен ашып, түпнұсқа ПХД -ны алып тастадым, динамикті ажыратып, оған мүмкіндігінше көп сым қалдырдым.

Содан кейін мен светодиодты және көлбеу сенсорды түпнұсқалық ПХД -нан дәнекерледім, кейін оны жаңа схемаға енгізу үшін. Көлбеу қосқышты қызып кетпеуіне назар аударыңыз, себебі ол зақым келтіруі мүмкін. Менікі сұр болды, бірақ түпнұсқалық құрылғыдан алып тастау кезінде мен оны жақсы түсірмегендіктен, мен желіден фотосуретті қолдануға тура келді (жоғарыдан қараңыз), онда жасыл түсті. Кішкене ғана деталь.

Корпусты ашып, электрониканы алып тастағаннан кейін, мен Дремельді қолдана отырып, пластмассадан жасалған бастапқы пластикті, пластикалық сөрелерді және 4 бұрандалы құбырдың бірін ұстап тұру үшін пайдаланылды. Қаласаңыз, оны құрастыру кезеңіне қалдыруға болады, бірақ кез келген жағдайда пластикалық кесу қажет болады.

3 -қадам: Электр тізбегі түсіндіріледі

Схема түсіндірілген
Схема түсіндірілген
Схема түсіндірілген
Схема түсіндірілген

Сонымен, тізбектің логикасы туралы аздап:

Батареялар ұзақ уақыт қызмет етуі үшін мен MPU6050 акселерометрін де, ESP8266 процессорын да Wemos D1 Mini -ге қосулар арасында ұйықтауға мәжбүр болдым. Біріншісі MPU6050 -ді қосатын және өшіретін транзистордың көмегімен оңай орындалды.

Ескерту: Мен бастапқыда оны негізгі процессорды оятатын үзіліс сигналын жіберуге бағдарламалай аламын деп ойладым. Өкінішке орай, мен мұны жүзеге асырудың жолын таба алмадым, MPU6050 регистрлерін конфигурациялау қиын міндет болды, мен әлі күнге дейін мүмкін екенін білмеймін …

Менің екінші нұсқам - ESP -ті ояту үшін түпнұсқалық қондырғымен берілген көлбеу қосқышты қолдану. Мен алдымен механизмді қосу/өшіру үшін транзисторды пайдаланып, жоғарыдағы фотосуреттерде сипатталғандай, оны тікелей Wemos RESET түйреуішіне байладым. Транзисторлық база жоғары болған кезде, GND көлбеу қосқыштан өтіп, оның RESET түйреуішіне уақытша қосылуына әкелуі мүмкін, бұл MCU қалпына келтіруге әкелді (бұл ESP -ті ұйқыдан оятудың жалғыз жолы, шамасы). Содан кейін мен D0 транзисторлық базаға қосылдым, егер MCU ұйықтап жатқанда, бұл аяғы жоғары, ал оянғаннан кейін D0 LOW режиміне оралып, қалпына келтіру механизмін өшіреді. Ақыр соңында, маған дәретхана қағазын ұстағыш қозғала бастаған кезде, қайталанатын қалпына келтіру қажет емес еді.

Алайда, мен D0 түйреуіші MCU қалпына келтірілгеннен кейін LOW режиміне оралу үшін шамамен 200 мс уақыт кететінін білдім. Егер мен MCU ұйықтап жатқанда дәретхана қағазын ұстағышты тез айналдырсам, онда айналымдарды санаудың орнына, бірнеше рет қалпына келтіру пайда болады.

Сонымен, мен бұл жаңа жағдайды кейбір дискретті компоненттермен (конденсаторлар, транзисторлар және т.б.) шешуге тырыстым, бірақ мен бұл мәселені ішінара шеше алдым.

Мен басқа MCU - ATTiny85 қосуды аяқтадым, ол көлбеу қосқышпен ұйқыдан оянады, содан кейін ESP8266 -ны оятып, ұйқыға кетер алдында біраз уақыт күтеді. Мен бұл мәселенің ең үнемді шешімі емес екенін білемін, бірақ менде соңғы мерзім болды …

Толық шешімді мен қосқан схемадан көре аласыз. Назар аударыңыз, 10K резисторлары 1K -ға ауыстырылды, себебі 10k резисторлары транзисторлардың толық ашылуы үшін тым жоғары болды.

4 -қадам: ATTiny85 дайындау

ATTiny85 дайындау
ATTiny85 дайындау

Егер сіз ешқашан ATTiny85 бағдарламаламаған болсаңыз, қорықпаңыз! Сүйікті Arduino IDE -ді пайдалану сізге барлық жолды береді. Arduino IDE конфигурациясы туралы мына нұсқаулардан бастаңыз:

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

Содан кейін USBTinyISP драйверлерін мына жерден орнатыңыз:

learn.adafruit.com/usbtinyisp/drivers

Енді бекітілген тест кодын жүктеңіз: WakeOnExternalInterruptTest.ino

және қосыңыз (ATTiny85 Pinout диаграммасын қараңыз):

1. 3 түйреуіш пен жердің арасындағы түйме

2. 2 -ші түйреуіш пен жердің арасындағы тізбектегі жетекші және 220 Ом резисторы

Келесі, Бағдарламашы ретінде USBTinyISP таңдаңыз (Құралдар -> Бағдарламалаушы астында) және тест эскизін тақтаға жүктеңіз.

Жарық диоды 5 рет жыпылықтауы керек, содан кейін чип ұйықтауы керек. Түймені басу оның оянуына әкеледі және осы ретті қайталайды.

Жұмыс істеу керек пе? тамаша! ATTiny -ге соңғы оятудың соңғы эскизін жүктеңіз, ол соңғы схемада қолданылады.

5 -қадам: Wemos қалқанын құру

Wemos қалқанының құрылысы
Wemos қалқанының құрылысы
Wemos қалқанын құру
Wemos қалқанын құру
Wemos қалқанының құрылысы
Wemos қалқанының құрылысы
Wemos қалқанының құрылысы
Wemos қалқанының құрылысы

Сонымен, қалқаны жасау үшін сізде 3 опцияны таңдауға болады:

1. Wemos үшін стандартты протондық қалқаны қолданыңыз және оған схеманы дәнекерлеңіз.

2. Тіркелген EAGLE файлдарының негізінде ПХД жасаңыз.

3. Менен ұлу поштасы арқылы жібере алатын ПХД сұраңыз (менде бірнеше жатыр, бағасы ештеңеге тең емес).

Қалай болғанда да, мен ПХД -ге кіріспес бұрын схеманы тақтаға салуды ұсынамын!

Егер ПХД опцияларын қолдансаңыз, қара сымды фотосуреттегідей тақтаның алдыңғы немесе артқы жағына жалғауды ұмытпаңыз (соңғысы мен үшін жақсы жұмыс жасады). Бұл сым GND -ді Wemos -тан ATTiny85 -ке қосады және онсыз ояту болмайды.

Тек суреттерді мұқият қарап шығыңыз және мен қосқан аннотацияларды оқыңыз, бұл жеткілікті болуы керек.

6 -қадам: Вемосты дайындау

Егер сіз ешқашан Arduino IDE -ді Wemos тақтасын бағдарламалау үшін пайдаланбаған болсаңыз, онда тақта менеджерін орнатып, тақтаны Tools -> Board мәзірінен таңдаңыз, мұнда сипатталғандай:

github.com/esp8266/Arduino

Кодтың дұрыс жүктелгеніне көз жеткізу үшін жыпылықтайтын эскизді тақтаға жүктеуден бастаңыз.

7 -қадам: Барлығын біріктіру

Барлығын біріктіру
Барлығын біріктіру
Барлығын біріктіру
Барлығын біріктіру
Барлығын біріктіру
Барлығын біріктіру

Қалқанды Wemos -қа орнатыңыз. Сіз оны дәнекерлей аласыз, бірақ мен кез келген қиындық туындаған кезде Wemos пен қалқан арасындағы уақытша қосылуға мүмкіндік беретін Wemos -қа дәнекерленген әйел тақырыптарын қолдануды ұсынамын. Есіңізде болсын, қондырғы пластикалық қабықшаға кіруі үшін, әйелдердің монтажының соңғы сатысында түсуі керек. Сонымен қатар, біршама күрделірек болу үшін, қалқан Wemos -қа қосылған кезде кодты жүктеу өшірілетініне жақсы мүмкіндік бар. Мен бұл құбылысты біркелкі емес түрде кездестірдім және оны зерттеуге уақытым болмады.

Кеңес: алдын ала жоспарлаңыз.

Енді, тестілеу!

Орнатқаннан кейін, BlinkAccelerometer тестінің нобайын Wemos -ке жүктеуден бастаңыз және оның MPU6050 жарық диодты қосатынына және өшіретініне көз жеткізіңіз. Олай болмаса, MPU6050 қуат көзіне жауап беретін транзистордың сымын тексеріңіз. Оның негізі Вемостың D5 түйреуішіне, коллектор акселерометрдің GND -не, ал эмиттер жалпы GND -ге қосылуы керек.

Содан кейін TurnCountTest1 эскизін Wemos тақтасына жүктеп, Serial Monitor ашыңыз. Мониторда көрсетілген акселерометрден алынған ақпаратты көру керек. Егер жұмыс істемесе, сағатты және деректер сымын тексеріңіз: CLK D1 -ге, ал DATA - D2 -ге қосылуы керек.

Енді көлбеу қосқышты тақтадағы белгіленген тесіктерге дәнекерлеңіз (аннотацияларды қараңыз), оның айналу осіне перпендикуляр екеніне көз жеткізіңіз, осылайша айналдыру шпинделі жабылып, оның екі сымы арасындағы байланысты ашады.

Содан кейін, 3В батареясының кірісін Wemos VCC -ге, ал оның минус терминалын Wemos GND -ге қосыңыз. Коммутаторды қосу құрылғыны қосатынына көз жеткізіңіз. Соңында динамикті GND -ге және Wemos -тың D4 түйреуішіне қосыңыз.

Ақырғы кодты Wemos -қа жүктеңіз - SmartWipe деп аталатын эскиз. Сериялық мониторды ашыңыз және құрылғы 3 минуттан кейін ұйықтап қалатынын және көлбеу қосқышты жылжыту арқылы оянатынын тексеріңіз (мониторда тиісті хабарламалар пайда болуы керек).

Егер сіз Wemos -тың ояу уақытын қысқартқыңыз келсе (негізінен тестілеу мақсатында), params.h -те анықталған WIFI_CONFIGURATION_IDLE_TIMEOUT мәнін азайтыңыз және эскизді тақтаға жүктеңіз. Вемос терең ұйқыға кеткеннен кейін көлбеу қосқышты жылжыту ATTiny -дің оянуына себеп болатынына көз жеткізіңіз (жарық диодты сигналмен), ол өз кезегінде Вемосты оятады.

Параметрдің мәнін 180000L -ге (3 минут, миллисекмен) өзгертіңіз және Wemos IOToilet_XXXXXXXX деп аталатын хотспотты қосатынына көз жеткізіңіз, онда XXXXXXX чиптің MAC мекен -жайынан шығарылады. Бұл Wi -Fi -ға смартфон арқылы қосылыңыз, сонда сіз тіркеу формасына (Captive Portal деп аталатын механизмге) бағытталасыз. Мәліметтерді толтырыңыз, әсіресе жергілікті Wi -Fi SSID мен құпия сөз маңызды және пішінді жіберіңіз. Содан кейін құрылғы берілген тіркелгі деректері арқылы желіге қосылуға тырысуы керек, ал егер сәтті болса, динамикте 3 көтерілетін дыбысты ойнатыңыз. Егер Wi -Fi желісіне қосылу кезінде мәселе туындаса, 3 төмендеген дыбыс ойнатылады. Осыдан кейін, Вемо қозғалысы оянғанша терең ұйқыға кетуі керек.

Соңында: Жүйелік тесттің соңына дейін.

Дәретхана қағазын ұстағышты айналдыру осінің бойымен бірнеше айналдырыңыз, содан кейін оны тұрақты бетке қойыңыз (орамның аяқталғанын білдіретін сигнал беру үшін және деректерді жүктеуді бастау үшін). Бұлтқа жіберу санын шамамен 10 секунд күтіңіз, содан кейін https://smartwipe-iot.appspot.com/ сайтына өтіп, Сұрау түймешігін басыңыз. Сіз бұлтта тіркеу мәліметтерін және соңғы қолданылу санын көре аласыз! Wemos -тың MAC мекен -жайынан алынған жүйеде бірегей идентификатор болып табылатын uuid -ті міндетті түрде жазыңыз.

Егер сіз тек статистикаңызды JSON форматында шығарғыңыз келсе, осыған ұқсас URL пайдаланыңыз:

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

uuid -ті өзіңіздікімен ауыстырыңыз.

Мен Google App қозғалтқышында орналасқан веб -қосымшаның барлық көздерін қостым, осылайша деректердің құпиялылығын арттырғысы келетін пайдаланушылар оны өздерінің Google пайдаланушысына орналастыра алады, аутентификация қосады және т.

Барлығы жұмыс істеп тұрған кезде, электрониканы пластикалық қабыққа салыңыз, қажет болған жағдайда пластикті дремельмен кесіңіз. Бүкіл бөлік корпуста жақсы орналасуы керек.

Ақау бар ма? Маған жаз!

БІРЛЕСІП ҚҰРАМЫЗ!

Ұсынылған: