Съдържание:
- Стъпка 1: Нещата, използвани в този проект
- Стъпка 2: История
- Стъпка 3: Подготовка
- Стъпка 4: Конфигурация
- Стъпка 5: Инсталиране
- Стъпка 6: Програмиране
- Стъпка 7: Тествайте
- Стъпка 8: Следваща стъпка
- Стъпка 9: Схеми
- Стъпка 10: Код
Видео: Бутон за виртуална врата с помощта на Mongoose OS и XinaBox: 10 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Използвайки Mongoose и някои xChips, направихме виртуален бутон на вратата. Вместо физически бутон за включване на персонала, те вече могат да го направят сами.
Стъпка 1: Нещата, използвани в този проект
Хардуерни компоненти
- XinaBox CW02 x 1 Вместо това можете да използвате CW01
- XinaBox IP01 x 1
- XinaBox PU01 x 1 Можете просто да използвате IP01 за захранване, ако не възнамерявате да програмирате повече модули.
- XinaBox OC03 x 1
- XinaBox XC10 x 1 "Лепилото", което кара всичко да работи!
Софтуерни приложения и онлайн услуги
Mongoose OS Наистина страхотен и лесен инструмент за разработка на IoT … и безплатно
Стъпка 2: История
В нашата рецепция трябваше да се включи персоналът ни, затова решихме да вземем наше собствено лекарство и да създадем виртуален бутон. Този код ви позволява да изпращате RPC (Remote Procedure Call), което прилича на нормално HTTP обаждане от всеки браузър. Използвахме Mongoose, тъй като е много лесно и бързо да се работи с него и вградената OTA (Over The Air) актуализация на кода, означава, че можем да инсталираме нашата технология и все пак с течение на времето да надграждаме фърмуера, без да го разглобяваме за препрограмиране.
Стъпка 3: Подготовка
- Инсталирайте Mongoose-OS: Направо, просто следвайте тези много лесни стъпки за вашата ОС тук:
- Щракнете заедно върху IP01 и CW02, като използвате съединител XC10. Вижте изображението по -долу:
- Поставете IP01 във вашия USB порт
- Уверете се, че превключвателите IP01 са в позиция B и DCE.
- Мигайте Mongoose-OS към CW02 от командния ред. Като този:
cd
експортиране MOS_PORT = bin/mos флаш esp32
Можете също така просто да влезете в конзолата и да направите най -много оттам, но тук го правим от командния ред, така че работата бързо свършва. За да влезете в конзолата:
cd
кош/мос
Стъпка 4: Конфигурация
Въпреки че тези стъпки могат да бъдат направени в едно дълго изявление, решихме да ги разделим и тъй като вие така или иначе ще ги копирате и поставите, нека да го улесним:
Задайте I2C щифтовете към стандарта xChips:
bin/mos config-set i2c.scl_gpio = 14 i2c.sda_gpio = 2
Свържете вашия CW02 към вашата WiFi:
bin/mos wifi
Изключете WiFi в режим AP и настройте име на домейн, за да можете да се свържете с CW01 по име на хост, вместо да намерите правилния IP адрес. Това ще работи само ако:
- Изключвате WiFi в режим AP, както правим по -долу.
- Или използвайте Mac или инсталирайте Bonjour на вашата 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- име ":" xinabox_switch "}}}
И накрая трябва да рестартирате CW02, за да може конфигурацията да работи
bin/mos извикайте Config. Save '{"reboot": true}'
Много бързо след това би трябвало да можете да пингирате xinabox_switch.local
Стъпка 5: Инсталиране
Изключете IP01 от компютъра си и сглобете верига според горното изображение.
Включете PU01 (или ако сте решили да се придържате към IP01) в USB източник на захранване. Свържете проводниците паралелно от съществуващия си превключвател (оставете това, за всеки случай) към OC03 (полярността няма значение). Вижте чертеж Fritzing.
След като се включите и за да видите, че всъщност говорите с вашия xCW02, какво ще кажете за сканиране на BUS, известен още като I2C шината:
bin/mos --port ws: //xinabox_switch.local/rpc обаждане I2C. Scan
Ако всичко работи и вашият xOC03 е инсталиран правилно, трябва да видите да се върне число '56'. Това е I2C адресът на OC03 в десетична запетая (в шестнадесетичен размер е 0x38).
Стъпка 6: Програмиране
- Сега отворете Mongoose в режим на конзола, вижте по -горе. Той трябва да се отвори с прозорец, където да поиска номер на порт, въведете: ws: //xinabox_switch.local/rpc
- Той ще комуникира с CW02 и ще осъзнае, че устройството вече е мигащо и свързано с WiFi, така че ще даде само 3 отметки. Затворете прозореца и опреснете списъка с файлове
- Копирайте и поставете кода по -долу в init.js и кликнете върху save+reboot
- Сега вашата верига е програмирана.
Стъпка 7: Тествайте
Вече сте реализирали друго RPC обаждане, така че от терминала си можете да въведете:
bin/mos --port ws: //xinabox_switch.local/rpc Switch Switch
… и вашият зумер трябва да продължи 2 секунди. Можете също така просто да го направите от - почти - всеки браузър:
xinabox_switch.local/rpc/Switch
… със същия ефект.
Стъпка 8: Следваща стъпка
Можете да използвате всеки инструмент, който може да задейства URL. Правя го от приложение на Apple, наречено Workflow, което ми позволява да го правя от телефона си или като усложнение от моя Apple Watch, но има много други опции. Ето моя скрипт на Workflow, но с твърдо кодиран IP адрес: Насладете се!
Apple App: Работен поток - тук с твърдо кодиран IP адрес
Стъпка 9: Схеми
Звукова верига Инсталирайте OC03 паралелно със съществуващия бутон.
Изтеглете го тук.
OC03 верига Инсталирайте OC03 паралелно със съществуващия бутон.
Изтеглете го тук.
Стъпка 10: Код
init.js JavaScript Вашият основен и единствен код за този проект.
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'); нека adr = 0x38; нека автобус = I2C.get (); I2C.writeRegB (шина, adr, 3, 0); I2C.writeRegB (шина, adr, 1, 0); / * изключете само за да сте сигурни */ let delay = 2000; GPIO.set_mode (led, GPIO. MODE_OUTPUT); RPC.addHandler ('Switch', функция (args) {GPIO.toggle (led); I2C.writeRegB (шина, adr, 3, 0); / * в случай, че OC03 се свърже отново * / I2C.writeRegB (bus, adr, 1, 1); Timer.set (забавяне, невярно, функция () {GPIO.toggle (led); I2C.writeRegB (шина, adr, 1, 0);}, null); връщане true;});
Препоръчано:
Бутон за отброяване на Arduino с бутон за почивка: 4 стъпки
Бутон за обратно отброяване на Arduino с бутон за почивка: Тази инструкция ще ви научи как да създадете таймер за обратно броене с помощта на 4-цифрен 7-сегментен дисплей, който може да се нулира с бутон. Получих идеята да направя това, защото докато създавах едноцифрен 7-сегментен дисплей в клас, исках да създам нещо
Схема на бутон за алармен бутон за паника, използваща 555 IC таймер (част-1): 4 стъпки
Схема на бутон за алармен бутон с помощта на таймер 555 (част-1): Алармена верига за паника се използва за незабавно изпращане на авариен сигнал до хората на близко място, за да се обадят за помощ или да ги предупредят. Възможната паническа ситуация може да бъде всяка, тя не се ограничава до няколко ситуации. Човек би могъл да запази
Отскачам ! Игра за виртуална реалност с помощта на Arduino и акселерометър: 9 стъпки
Отскачам ! Игра за виртуална реалност, използваща Arduino и Acclerometer: В този урок ще създадем игра за виртуална реалност, използвайки Arduino и Acclerometer
Схема на бутон за алармен бутон с паника, използваща 555 IC таймер (част-2): 3 стъпки
Схема на бутон за алармен бутон с паника, използваща 555 IC таймер (част-2): Хей момчета! Запомнете част 1 от тази инструкция. Ако не погледнете тук. Продължаване по -нататък … Алармена верига за паника се използва за изпращане на спешен сигнал незабавно до хората на близко място, за да се обадят за помощ или да ги предупредят. Възможният тиган
Най -горният бутон за виртуална стена на IRobot: 6 стъпки
Най -горният бутон на виртуалната стена на IRobot: Затова се дразня, че големият бутон, който изглежда в горната част на виртуалната стена на iRobot, не е бутонът за захранване. Изглежда, че трябва, но просто не е така. Така че трябва да вляза и да добавя превключвател в горната част на виртуалната стена