Taula de continguts:

Llum de lluna IoT: 5 passos
Llum de lluna IoT: 5 passos

Vídeo: Llum de lluna IoT: 5 passos

Vídeo: Llum de lluna IoT: 5 passos
Vídeo: Аномально вкусно‼️ ЧЕХОСЛОВАЦКИЙ СУП ИЗ ФАРША. Жена Липована в шоке. 2024, Desembre
Anonim
Llum IoT Moon
Llum IoT Moon

En aquest instructiu us mostro com convertir una llum LED senzilla amb bateria en un dispositiu IoT.

Aquest projecte inclou:

  • soldar;
  • programació ESP8266 amb IDE Arduino;
  • creació d'aplicacions per a Android amb MIT App Inventor.

L’objecte d’interès és aquest llum en forma de lluna que he comprat a gearbest. Però realment aquest tutorial es pot adaptar a qualsevol dispositiu de baixa tensió de CC (els dispositius alimentats per CA requereixen circuits addicionals).

Subministraments

  1. Smartphone Android (versions d'Android 7-9 provades).
  2. Eines de soldar.
  3. Prototipatge de PCB (protoboard).
  4. Placa ESP-12E (o un altre devboard amb microcontrolador ESP8266).
  5. Convertidor de sèrie USB per a la programació.
  6. Diversos valors diferents de components passius (resistències i condensadors).

(Opcional. Consulteu la secció "Diagrama de blocs")

  1. 3.3V@500mA LDO IC.
  2. Tauler convertidor de nivell lògic de 3,3V-5V.
  3. Alimentació de 5V CC.

Pas 1: idea

Idea
Idea

La làmpada Moon funciona amb una cel·la Li-ION 18650 i té 3 modes de funcionament:

  • apagat;
  • manual;
  • automàtic.

En mode de llum manual, es controla amb el polsador, cada pulsació canvia l’estat de la llum LED (blau encès, taronja encès, tots dos encès, apagat), la intensitat de la llum canvia mentre es manté premut el polsador. En mode automàtic, els estats de llum LED canvien tocant o sacsejant la mateixa làmpada.

Vaig decidir afegir ESP8266 per actuar com a servidor web que escolta les peticions i, en conseqüència, simula les pulsacions de botons. No volia trencar la funcionalitat original de la làmpada, només volia afegir funcions de control addicionals a través de WiFi, així que vaig escollir ESP per simular pressions de botons en lloc de controlar directament els LED. Això també em va permetre interactuar mínimament amb els circuits originals.

Quan es va fer el prototip, va conduir ~ 80mA constantment des de la bateria en estat apagat (~ 400mA en plena brillantor). El corrent en espera és elevat perquè ESP8266 funciona com a servidor i sempre està connectat a WiFi i escolta les sol·licituds. La bateria s’havia esgotat al cap d’un dia i mig només en estat apagat, de manera que més tard vaig decidir fer servir el port de càrrega USB de les làmpades per alimentar tots els aparells electrònics de la font d’alimentació externa de 5V i deixar la bateria abandonada junts (però això és opcional).

Pas 2: diagrama de blocs

Diagrama de blocs
Diagrama de blocs

Al diagrama de blocs podeu veure quins circuits s’afegiran i com es modificaran els circuits existents. En el meu cas, he eliminat completament la bateria i heu introduït l’entrada IC de sortida de carregadors de bateries (de nou, això és opcional). Els blocs transparents del diagrama indiquen components que s’han ignorat (tot i que el botó premut continua funcionant tal i com es volia originalment).

Segons la documentació ESP8266 només tolera 3,3 V, però hi ha molts exemples quan ESP8266 funciona completament bé amb 5 V, de manera que es poden deixar de banda el convertidor de nivell lògic i LDO de 3,3 V, però em vaig quedar amb les millors pràctiques i vaig afegir aquests components.

He utilitzat 3 pins d'E / S ESP8266 i pin ADC. Un pin de sortida digital serveix per simular pressions de botons, dues entrades digitals serveixen per detectar quins són els LED de color encès (a partir d’aquí podem esbrinar en quin estat es troba la MCU i quin estat es troba després de prémer el botó). El pin ADC mesura el voltatge d’entrada (mitjançant un divisor de tensió), així és com podem controlar el nivell de càrrega restant de la bateria.

Com a font d'alimentació externa faig servir un carregador de telèfon antic 5V @ 1A (no utilitzeu carregadors ràpids).

Pas 3: Programació

Programació
Programació
Programació
Programació

En poques paraules, el programa funciona així (per obtenir més informació, consulteu el codi):

ESP8266 es connecta al vostre punt d’accés WiFi quines credencials heu d’introduir al començament de la programació prèvia del codi, obté l’adreça IP del servidor DHCP dels vostres routers, per esbrinar la IP que necessitareu més endavant, podeu comprovar la configuració de DHCP de la interfície web dels routers marcador de depuració del codi a 1 i veureu quina IP ESP té al monitor sèrie (hauríeu de reservar aquesta IP a la configuració dels vostres routers per tal que ESP sempre obtingui la mateixa IP a l'arrencada).

Quan la MCU inicialitzada sempre executa la mateixa rutina per sempre:

  1. Comproveu si encara esteu connectat a AP, si no, intenteu tornar a connectar fins que tingueu èxit.
  2. Espereu que el client faci una sol·licitud HTTP. Quan es produeix la sol·licitud:

    1. Comproveu la tensió d’entrada.
    2. Comproveu quins són els LED d’estat.
    3. Feu coincidir la sol·licitud HTTP amb els estats de LED coneguts (blau encès, taronja encès, tots dos activats, apagats).
    4. Simuleu tantes pulsacions de botons com calgui per aconseguir l’estat sol·licitat.

Descriuré breument les instruccions de programació, si és la vostra primera vegada que programeu ESP8266 MCU, busqueu instruccions més detallades.

Necessitareu Arduino IDE i convertidor d’interfície USB-sèrie (per exemple, FT232RL). Per preparar IDE, seguiu aquestes instruccions.

Seguiu el diagrama de circuits per connectar el mòdul ESP-12E per a la programació. Alguns consells:

  • utilitzeu una font d’alimentació externa de 3.3V@500mA (en la majoria dels casos la font d’alimentació en sèrie USB no és suficient);
  • comproveu si el vostre convertidor de sèrie USB és compatible amb el nivell lògic de 3,3 V;
  • comproveu si els controladors de convertidor de sèrie USB s’han instal·lat correctament (des del gestor de dispositius Windows) també podeu comprovar si funciona correctament des de l’IDE, només hi ha pins clars RX i TX, que des de l’IDE seleccioneu el port COM, obriu el monitor sèrie i escriviu alguna cosa, si tot funciona hauríeu de veure el text que envieu apareixent a la consola;
  • per alguna raó, vaig poder programar ESP només quan vaig connectar primer el convertidor de sèrie USB a l'ordinador i després vaig encendre l'ESP des d'una font externa de 3,3 V;
  • després de programar amb èxit, no us oblideu de treure GPIO0 a la pujada següent.

Pas 4: Esquema i soldadura

Esquema i soldadura
Esquema i soldadura
Esquema i soldadura
Esquema i soldadura
Esquema i soldadura
Esquema i soldadura

Seguiu l'esquema per soldar tots els components a protoboard. Com s'ha esmentat anteriorment, alguns components són opcionals. He utilitzat KA78M33 3.3V IC LDO i aquesta placa convertidora de nivell lògic de sparkfun, o bé podeu fer el convertidor vosaltres mateixos tal com es mostra a l’esquema (podeu utilitzar qualsevol mosfet de canal N en lloc de BSS138). En cas que us quedeu amb la bateria Li-ION, la xarxa d’alimentació de + 5V serà un terminal positiu per a la bateria. El voltatge de referència ADC ESP8266 és d'1 V, el valor que he escollit per dividir la resistència permet mesurar una tensió d'entrada de fins a 5,7 V.

Hi ha d’haver 5 connexions a la placa original de la làmpada: + 5 V (o + bateria), GND, polsador, senyals PWM de les làmpades MCU per controlar els LED blaus i taronja. Si enceneu la llum de la font de 5 V, com he fet, voldreu curtcircuitar els pins dels carregadors de bateries IC VCC amb els pins OUTPUT, de manera que tota l’electrònica s’alimentarà directament des de + 5V i no des del carregador de bateries OUTPUT.

Seguiu la segona imatge per a tots els punts de soldadura que haureu de fer a les làmpades PCB.

NOTES:

  1. Si decidiu reduir + 5V amb la sortida IC del carregador de bateria, traieu la bateria completament abans de fer-ho, no voleu connectar + 5V directament a una bateria.
  2. Presteu atenció a quin polsador de polsador heu soldat la sortida ESP, perquè hi ha 2 pins d’un polsador connectats a terra i no voleu fer un curtcircuit quan la sortida ESP passi ALTA, millor comproveu-ho amb el multímetre.

Pas 5: aplicació per a Android

Aplicació per a Android
Aplicació per a Android
Aplicació per a Android
Aplicació per a Android
Aplicació per a Android
Aplicació per a Android

L’aplicació Android s’ha creat amb l’inventor d’aplicacions MIT, per descarregar-vos una aplicació i / o un projecte de clonació, aneu a aquest enllaç (necessitareu un compte de Google per accedir-hi).

Al primer llançament, haureu d'obrir la configuració i introduir la vostra adreça IP ESP8266. Aquesta IP es desarà, de manera que no cal tornar-la a introduir després de reiniciar el programa.

Aplicació provada amb diversos dispositius Android 9 i Android 7.

Recomanat: