Оглавление:
- Шаг 1. Вещи, использованные в этом проекте
- Шаг 2: история
- Шаг 3: подготовка
- Шаг 4: Конфигурация
- Шаг 5: Установка
- Шаг 6: программирование
- Шаг 7: Тест
- Шаг 8: следующий шаг
- Шаг 9: Схема
- Шаг 10: Код
Видео: Кнопка виртуальной двери с использованием Mongoose OS и XinaBox: 10 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11: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 Действительно потрясающий и простой инструмент для разработки Интернета вещей… и бесплатный
Шаг 2: история
На стойке регистрации нужно было, чтобы наши сотрудники были в курсе, поэтому мы решили воспользоваться нашим собственным лекарством и создать виртуальную кнопку. Этот код позволяет отправлять RPC (удаленный вызов процедур), который выглядит как обычный HTTP-вызов из любого браузера. Мы использовали Mongoose, поскольку с ним действительно легко и быстро работать, и это встроенное обновление кода OTA (по воздуху), что означает, что мы можем установить нашу технологию и все же со временем обновить прошивку, не разбирая ее для перепрограммирования.
Шаг 3: подготовка
- Установите Mongoose-OS: прямо сейчас, просто следуйте этим очень простым шагам для вашей ОС здесь:
- Соедините IP01 и CW02 вместе с помощью разъема XC10. См. Изображение ниже:
- Вставьте IP01 в порт USB.
- Убедитесь, что переключатели IP01 находятся в положении B и DCE.
- Перепрограммируйте Mongoose-OS на CW02 из командной строки. Нравится:
CD
экспорт MOS_PORT = bin / mos flash esp32
Вы также можете просто войти в консоль и выполнить большую часть работы оттуда, но здесь мы делаем это из командной строки, поэтому работа выполняется быстро. Для входа в консоль:
CD
bin / mos
Шаг 4: Конфигурация
Хотя эти шаги можно выполнить в одном длинном операторе, мы решили разделить их, и, поскольку вы все равно будете копировать и вставлять их, давайте упростим:
Установите контакты I2C на стандарт xChips:
bin / mos config-set i2c.scl_gpio = 14 i2c.sda_gpio = 2
Подключите CW02 к WiFi:
bin / mos Wi-Fi
Отключите Wi-Fi в режиме AP и настройте доменное имя, чтобы вы могли подключаться к CW01 по имени хоста, вместо того, чтобы находить правильный IP-адрес. Это будет работать, только если:
- Вы отключаете WiFi в режиме AP, как мы это делаем ниже.
- Либо используйте Mac, либо установите Bonjour на свой компьютер с Windows.
bin / mos вызов 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- name ":" xinabox_switch "}}}
И, наконец, вам нужно перезагрузить CW02, чтобы конфигурация заработала
bin / mos вызов Config. Save '{"reboot": true}'
Очень скоро после этого вы сможете пинговать xinabox_switch.local
Шаг 5: Установка
Отключите IP01 от компьютера и соберите схему, как показано на верхнем рисунке.
Подключите PU01 (или, если вы решили использовать IP01) к источнику питания USB. Подключите провода параллельно от существующего переключателя (оставьте это на всякий случай) к OC03 (полярность не имеет значения). См. Рисунок Фритзинга.
После включения питания и проверки того, что вы действительно разговариваете со своим xCW02, как насчет сканирования ШИНЫ, также известной как шина I2C:
bin / mos --port ws: //xinabox_switch.local/rpc вызов I2C. Scan
Если все работает и ваш xOC03 установлен правильно, вы должны увидеть, что будет возвращено число «56». Это адрес I2C OC03 в десятичном виде (в шестнадцатеричном - 0x38).
Шаг 6: программирование
- Теперь откройте Mongoose в консольном режиме, см. Выше. Он должен открыться с окном, где он запрашивает номер порта, введите: ws: //xinabox_switch.local/rpc
- Он будет связываться с CW02 и понимать, что устройство уже прошито и подключено к Wi-Fi, поэтому он просто поставит 3 галочки. Закройте окно и обновите список файлов.
- Скопируйте и вставьте приведенный ниже код в init.js и нажмите «Сохранить + перезагрузить».
- Теперь ваша схема запрограммирована.
Шаг 7: Тест
Теперь вы реализовали еще один вызов RPC, поэтому с вашего терминала вы можете ввести:
bin / mos --port ws: //xinabox_switch.local/rpc Переключатель вызова
… И ваш зуммер должен сработать на 2 секунды. Вы также можете просто сделать это - почти - из любого браузера:
xinabox_switch.local/rpc/Switch
… С таким же эффектом.
Шаг 8: следующий шаг
Вы можете использовать любой инструмент, который может активировать URL-адрес. Я делаю это из приложения Apple под названием Workflow, которое позволяет мне делать это со своего телефона или в качестве усложнения с моих Apple Watch, но есть много других вариантов. Вот мой сценарий рабочего процесса, но с жестко заданным IP-адресом: Наслаждайтесь!
Приложение Apple: рабочий процесс - здесь с жестко заданным IP-адресом
Шаг 9: Схема
Цепь зуммера Установите OC03 параллельно имеющейся кнопке.
Загрузите его здесь.
Цепь OC03 Установите OC03 параллельно имеющейся кнопке.
Загрузите его здесь.
Шаг 10: Код
init.js JavaScript Ваш основной и единственный код для этого проекта.
загрузка ('api_config.js');
загрузка ('api_gpio.js'); загрузка ('api_i2c.js'); загрузка ('api_net.js'); загрузка ('api_sys.js'); загрузка ('api_timer.js'); загрузка ("api_rpc.js"); let led = Cfg.get ('pins.led'); пусть adr = 0x38; let bus = I2C.get (); I2C.writeRegB (шина, адрес, 3, 0); I2C.writeRegB (шина, адрес, 1, 0); / * выключить на всякий случай * / let delay = 2000; GPIO.set_mode (светодиод, GPIO. MODE_OUTPUT); RPC.addHandler ('Switch', function (args) {GPIO.toggle (led); I2C.writeRegB (bus, adr, 3, 0); / * в случае переподключения OC03 * / I2C.writeRegB (bus, adr, 1, 1); Timer.set (delay, false, function () {GPIO.toggle (led); I2C.writeRegB (bus, adr, 1, 0);}, null); return true;});
Рекомендуемые:
Датчик двери DIY для безопасности с использованием ESP8266: 3 шага
Дверной датчик DIY для безопасности с использованием ESP8266: защитите свой дом с помощью интеллектуального дверного датчика, полностью спроектированного с использованием технологий с открытым исходным кодом. В этом видео мы создадим устройство, которое будет определять, открыта дверь или закрыта, и воспринимать информацию на вашем смартфоне с помощью сервер BLYNK, с
SMS система безопасности двери с использованием GboardPro (GSM Cum Arduino Mega): 4 шага
SMS-система безопасности дверей с использованием GboardPro (GSM Cum Arduino Mega): это простой, но очень полезный проект для домашней безопасности. Я сделал этот проект из-за кражи в моем офисе
Отскочить назад ! Игра в виртуальной реальности с использованием Arduino и акселерометра: 9 шагов
Отскочить назад ! Игра в виртуальной реальности с использованием Arduino и Acclerometer: в этом уроке мы создадим игру в виртуальной реальности с использованием Arduino и Acclerometer
Костюм виртуальной реальности с использованием Arduino: 7 шагов (с изображениями)
Костюм виртуальной реальности с использованием Arduino: Я создал этот проект, чтобы играть в обычные компьютерные игры в полной виртуальной реальности. Этот проект имитирует ваши движения при нажатии или удерживании клавиш клавиатуры. Пример. Когда вы продвигаетесь вперед, имитируется нажатие клавиши 'w'. У меня есть эму
Верхняя кнопка виртуальной стены IRobot: 6 шагов
Верхняя кнопка виртуальной стены IRobot: меня раздражает, что большая кнопка в верхней части виртуальной стены iRobot не является кнопкой питания. Похоже, так и должно быть, но это не так. Итак, мне нужно войти и добавить переключатель в верхнюю часть виртуальной стены