Taula de continguts:
- Pas 1: coses utilitzades en aquest projecte
- Pas 2: història
- Pas 3: Preparació
- Pas 4: Configuració
- Pas 5: Instal·lació
- Pas 6: Programació
- Pas 7: prova
- Pas 8: següent pas
- Pas 9: esquemes
- Pas 10: Codi
Vídeo: Botó de porta virtual amb Mongoose OS i XinaBox: 10 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Amb Mongoose i alguns xChips, vam crear un botó de porta virtual. En lloc d’un botó físic per animar el personal, ara ho poden fer ells mateixos.
Pas 1: coses utilitzades en aquest projecte
Components de maquinari
- XinaBox CW02 x 1 Podeu utilitzar el CW01
- XinaBox IP01 x 1
- XinaBox PU01 x 1 Si no teniu intenció de programar més mòduls, podeu utilitzar l'IP01 per alimentar-lo.
- XinaBox OC03 x 1
- XinaBox XC10 x 1 La "cola" que fa que tot funcioni!
Aplicacions de programari i serveis en línia
Mongoose OS Eina de desenvolupament d'IoT realment fantàstica i senzilla … i gratuïta
Pas 2: història
A la nostra recepció, el nostre personal necessitava estar atent, de manera que vam decidir prendre el nostre propi medicament i crear un botó virtual. Aquest codi us permet enviar un RPC (Remote Procedure Call), que sembla una trucada HTTP normal des de qualsevol navegador. Vam fer servir Mongoose, ja que és molt fàcil i ràpid de treballar i actualitza el codi integrat en OTA (Over The Air), vol dir que podríem instal·lar la nostra tecnologia i actualitzar el firmware encara amb el temps, sense desmuntar-lo per reprogramar-lo.
Pas 3: Preparació
- Instal·leu Mongoose-OS: directament, seguiu aquests passos molt fàcils per al vostre sistema operatiu aquí:
- Feu clic a la IP01 i a la CW02 juntes mitjançant un connector XC10. Vegeu la imatge següent:
- Introduïu l'IP01 al port USB
- Assegureu-vos que els commutadors IP01 estiguin a la posició B i DCE.
- Feu llançar el sistema operatiu Mongoose a CW02 des de la línia d'ordres. Com això:
cd
export MOS_PORT = bin / mos flash esp32
També podeu entrar a la consola i fer el màxim des d’aquí, però aquí ho fem des de la línia d’ordres, de manera que el treball es realitza ràpidament. Per entrar a la consola:
cd
bin / mos
Pas 4: Configuració
Tot i que aquests passos es podrien fer en una declaració llarga, vam decidir dividir-los i, ja que els copieu i enganxeu de qualsevol manera, us ho facilitem:
Estableix els pins I2C a l'estàndard xChips:
bin / mos config-set i2c.scl_gpio = 14 i2c.sda_gpio = 2
Connecteu el CW02 al vostre WiFi:
bin / mos wifi
Desconnecteu el WiFi en mode AP i configureu un nom de domini perquè pugueu connectar-vos al CW01 per nom d'amfitrió en lloc de trobar l'adreça IP correcta. Això només funcionarà si:
- Desconnecteu el WiFi en mode AP com fem a continuació.
- Feu servir un Mac o instal·leu Bonjour a la vostra màquina Windows.
bin / mos call Config. Set '{"config": {"wifi": {"ap": {"enable": false}}}}'
bin / mos call Config. Set '{"config": {"dns_sd": {"enable": true}}}' bin / mos call Config. Set '{"config": {"dns_sd": {"host- nom ":" xinabox_switch "}}}
I finalment heu de reiniciar el CW02 perquè la configuració funcioni
bin / mos call Config. Save '{"reboot": true}'
Molt ràpidament, hauríeu de fer ping a xinabox_switch.local
Pas 5: Instal·lació
Desconnecteu l'IP01 de l'ordinador i munteu un circuit segons la imatge superior.
Connecteu el PU01 (o si heu decidit quedar-vos amb l’IP01) a una font d’alimentació USB. Connecteu els cables paral·lels del commutador existent (deixeu-ho, per si de cas) a l'OC03 (la polaritat no importa). Vegeu dibuix de Fritzing.
Un cop engegat i per veure que realment esteu parlant amb el vostre xCW02, què passa amb escanejar el BUS, també conegut com el bus I2C:
bin / mos --port ws: //xinabox_switch.local/rpc call I2C. Scan
Si tot funciona i el vostre xOC03 està instal·lat correctament, hauríeu de veure el número 56. Aquesta és l'adreça I2C de l'OC03 en decimal (en hexadecimal és 0x38).
Pas 6: Programació
- Ara obriu Mongoose en mode consola, vegeu més amunt. S'hauria d'obrir amb una finestra on sol·liciteu un número de port, introduïu: ws: //xinabox_switch.local/rpc
- Es comunicarà amb el CW02 i s’adonarà que la unitat ja està intermitent i està connectada a WiFi, de manera que només donarà 3 marques de verificació. Tanqueu la finestra i actualitzeu la llista de fitxers
- Copieu i enganxeu el codi següent a init.js i feu clic a Desa + reinicia
- El vostre circuit està programat.
Pas 7: prova
Ara heu implementat una altra trucada RPC, de manera que des del vostre terminal podeu introduir:
bin / mos --port ws: //xinabox_switch.local/rpc switch Switch
… i el brunzidor hauria d'anar durant 2 segons. També podeu fer-ho des de-gairebé qualsevol navegador:
xinabox_switch.local/rpc/Switch
… amb el mateix efecte.
Pas 8: següent pas
Podeu utilitzar qualsevol eina que pugui activar un URL. Ho faig des d’una aplicació d’Apple anomenada Workflow, que em permet fer-ho des del meu telèfon o com a complicació del meu Apple Watch, però hi ha moltes altres opcions. Aquí teniu el meu script de flux de treball, però amb una adreça IP codificada:
Apple App: flux de treball: aquí amb una adreça IP codificada
Pas 9: esquemes
Buzzer Circuit Instal·leu l'OC03 en paral·lel al polsador existent.
Descarregueu-lo aquí.
Circuit OC03 Instal·leu l'OC03 en paral·lel al polsador existent.
Descarregueu-lo aquí.
Pas 10: Codi
init.js JavaScript El vostre codi principal i únic per a aquest projecte.
load ('api_config.js');
load ('api_gpio.js'); load ('api_i2c.js'); load ('api_net.js'); load ('api_sys.js'); load ('api_timer.js'); load ("api_rpc.js"); let led = Cfg.get ('pins.led'); deixi adr = 0x38; let bus = I2C.get (); I2C.writeRegB (bus, adr, 3, 0); I2C.writeRegB (bus, adr, 1, 0); / * apagueu només per estar segur * / let delay = 2000; GPIO.set_mode (led, GPIO. MODE_OUTPUT); RPC.addHandler ('Switch', function (args) {GPIO.toggle (led); I2C.writeRegB (bus, adr, 3, 0); / * en cas que l'OC03 es torni a connectar * / I2C.writeRegB (bus, adr, 1, 1); Timer.set (delay, false, function () {GPIO.toggle (led); I2C.writeRegB (bus, adr, 1, 0);}, null); return true;});
Recomanat:
Tutorial Arduino: botó amb estil BLYNK i mòdul de relé ESP-01: 3 passos (amb imatges)
Tutorial Arduino - BLYNK Styled Button i ESP-01 Relay Module: Benvingut a un altre tutorial del nostre canal, aquest és el primer tutorial d'aquesta temporada dedicat als sistemes IoT, aquí descriurem algunes de les característiques i funcionalitats dels dispositius utilitzat en aquest tipus de sistemes. Per crear aquests s
Hacking d'un botó de porta de la línia del jubileu del metro de Londres: 12 passos (amb imatges)
Hacking a London Underground Jubilee Line Button Button: The London Transport Museum vende botons de portes desactivades de la línia Jubilee (tant a l’esquerra com a la dreta estan disponibles). Si esteu pensant en dur a terme un projecte que necessiti un botó i una llum indicadora d'algun tipus, seria "
Aplicació d'un botó extensible amb comentaris de vibracions: 7 passos (amb imatges)
Aplicació d’un botó extensible amb comentaris de vibració: en aquest tutorial, primer us mostrarem com utilitzar un Arduino Uno per controlar un motor de vibració mitjançant un botó ampliat. La majoria dels tutorials sobre botons automàtics impliquen el botó de la taula de proves física, mentre que en aquest tutorial, el botó ha estat
Posar una còpia al botó del porta-retalls en una pàgina web: 5 passos (amb imatges)
Posar una còpia al botó del porta-retalls en una pàgina web: pot semblar senzill i podria semblar una tonteria per posar-lo a Instructables, però en realitat no és tan fàcil. Hi ha CSS, Jquery, HTML, alguns javascript de fantasia i, bé, ja ho sabeu
Botó superior de la paret virtual IRobot: 6 passos
Botó superior IRobot Virtual Wall: per tant, em molesta que el gran botó que apareix a la part superior de l'iRobot Virtual Wall no sigui el botó d'engegada. Sembla que hauria de ser, però no és així. Així que he d’entrar i afegir un commutador a la part superior de la paret virtual