Оглавление:

Проект Тоторо - IoT, MQTT и ESP01: 7 шагов (с изображениями)
Проект Тоторо - IoT, MQTT и ESP01: 7 шагов (с изображениями)

Видео: Проект Тоторо - IoT, MQTT и ESP01: 7 шагов (с изображениями)

Видео: Проект Тоторо - IoT, MQTT и ESP01: 7 шагов (с изображениями)
Видео: Система позиционирования в помещении с использованием модуля ESP32 UWB (сверхширокополосный) 2024, Июль
Anonim
Проект Тоторо - Интернет вещей, MQTT и ESP01
Проект Тоторо - Интернет вещей, MQTT и ESP01
Проект Тоторо - Интернет вещей, MQTT и ESP01
Проект Тоторо - Интернет вещей, MQTT и ESP01

The Totoro Project - это хороший проект Интернета вещей, который вы можете скопировать во многих других формах.

Используя плату ESP01 и протокол MQTT, вы можете передать статус кнопки брокеру MQTT (в моем случае AdafruitIO).

Полезное руководство для MQTT и Adafruit:

Вы можете использовать любого брокера MQTT, который хотите, и то же самое для функции кнопки.

Как это работает?

Все устройства в сети подключены к MQTT Broker и читают канал под названием «love_box».

Когда вы нажимаете кнопку на одном устройстве, оно отправляет сообщение по каналу, а другие устройства мигают светодиодом. Пока не нажмете кнопку, устройство моргает.

С помощью этой системы вы можете отправить небольшой сигнал на другое устройство.

Шаг 1: материалы

Материалы
Материалы
Материалы
Материалы
Материалы
Материалы

Для создания этого проекта вам понадобятся некоторые вещи:

  1. Плата ESP01

    Полезное - Программатор для ESP01 (DIY)

  2. 3D модель

    1. Тоторо - https://goo.gl/n3mAsi -
    2. Meshmixer - https://goo.gl/qqMzh - для моделирования любых 3D моделей
  3. Электронные компоненты

    1. Регулятор напряжения LM317
    2. Резисторы: 150 Ом, 270 Ом, 10 кОм и 68 Ом.
    3. Конденсаторы: 10 мкФ
    4. Светодиод - или внутренний светодиод -
    5. Мини-кнопочный переключатель
  4. Припой
  5. Протоборд
  6. Женские заголовки
  7. Прозрачная 3D нить
  8. Источник питания

    Разъем BNC - https://goo.gl/DrD8k2 -

  9. Некоторые провода

Шаг 2: сделайте прототип доски

Сделайте Protoboard
Сделайте Protoboard
Сделайте Protoboard
Сделайте Protoboard
Сделайте Protoboard
Сделайте Protoboard
Сделайте Protoboard
Сделайте Protoboard

Мощность для платы:

Возьмите макетную плату и спаяйте компоненты согласно первому рисунку.

Эта конфигурация позволила LM317 - https://goo.gl/VtzNz - выдавать около 3,4 вольт для ESP01.

Вопрос: почему я не могу использовать LM7805?

Ответ: серия LM780x не работает при напряжении ниже 5 вольт и не может выдавать 3,3 вольта.

Когда вы закончите, проверьте выходное напряжение с помощью мультиметра. Оно должно быть около 3,4 и 4,3 вольт.

Для источника питания вы можете использовать источник питания 5 В или больше. Я рекомендую вам не использовать напряжение более 9 вольт, это выделяет много тепла - потеря мощности -!

Доска:

ESP01 - это плата серии ESP, она небольшая и практичная, но не очень удобная для пользователя.

Помните, что вы не можете использовать контакты Arduino для прямой связи с ESP01, потому что это толерантные к контактам 3,3 В.

Это очень полезный программист для программирования ESP01 с FTDI:

Используйте второе изображение в качестве ориентира и запомните специальные функции булавки, третье изображение, показанные в руководстве выше.

Для получения дополнительной информации прочтите шаги 1 ° этого руководства:

Если вы итальянец, вы можете прочитать мое руководство по ESP01 и FTDI DIY:

Завершите Protoboard:

Четвертое изображение - это готовый проект на макетной плате.

Я настоятельно рекомендую женские разъемы для подключения платы к макетной плате. На случай, если что-то пойдет не так, можно повторно подключить другую плату.

Не подключайте кнопку и ее резистор, мы сделаем это после.

Шаг 3: Брокер MQTT - Adafruit IO

Брокер MQTT - Adafruit IO
Брокер MQTT - Adafruit IO
Брокер MQTT - Adafruit IO
Брокер MQTT - Adafruit IO

Брокер MQTT - это «сервер» для всех ваших сообщений с устройств и на них. Взгляните на первое изображение.

Для получения дополнительной информации используйте это полезное руководство:

В моем случае я использую Adafruit IO, но вы можете использовать любой брокер MQTT, какой захотите.

Зайдите в Adafruit IO и выполните регистрацию.

Теперь вам нужно создать новую панель управления и:

  • Добавить ленту - https://goo.gl/z2Npto -

    Для моего кода это "love_box"

  • Добавить блоки - https://goo.gl/YJsCqX -

    • Мгновенная кнопка: ссылка на "love_box" со значением нажатия = 1 и значением отпускания = 0
    • Линейный график: ссылка на "love_box" с минимальным значением оси Y = 0 и максимальным значением оси Y = 2

В итоге у вас будет что-то вроде второго изображения.

Вопрос: почему так важно имя "love_box" в дашборде?

Ответ: в MQTT Broker - Ada IO - вы создали канал под названием «love_box», и если в коде вы использовали другой канал, MQTT не будет работать.

Последний шаг на MQTT Broker - Ada IO - это «AIO KEY». На панели управления нажмите маленькую верхнюю правую клавишу.

Теперь скопируйте «Имя пользователя» и «Активный ключ» и запишите их в коде Arduino.

Шаг 4: Код Arduino

Код Arduino
Код Arduino
Код Arduino
Код Arduino

Установите ESP Core для Arduino IDE:

Основное руководство таково: https://goo.gl/yAqlU4 и следуйте инструкциям «Установка с помощью Boards Manager».

Теперь взгляните на первое изображение. Черная версия ESP01 имеет размер флэш-диска 1 МБ, а синяя версия - 512 КБ. Что означает? Посмотрите на второе изображение, вам нужно выбрать правильный «Размер Flash».

Код Arduino находится в этом репозитории: код легко читается.

Не забудьте отредактировать:

  • AIO_USERNAME
  • AIO_KEY
  • Wifi_number

Если вы решили отредактировать каналы «Adafruit_MQTT_Publish» и «Adafruit_MQTT_Subscribe», вы должны отредактировать те же строки и вызываемые в коде.

Шаг 5: Meshmixer и 3D-печать

Meshmixer и 3D-печать
Meshmixer и 3D-печать
Meshmixer и 3D-печать
Meshmixer и 3D-печать
Meshmixer и 3D-печать
Meshmixer и 3D-печать
Meshmixer и 3D-печать
Meshmixer и 3D-печать

3D модель

Для моего проекта мне нужна 3D модель Тоторо.

Я нашел его на сайте thingiverse по этой ссылке:

Вы можете использовать любую желаемую 3D-модель, следующие шаги такие же.

Оболочка

Пришло время установить Meshmixer. С помощью этого мощного инструмента вы можете создать оболочку для своего проекта.

Импортируйте в Meshmixer файл Totoro STL и используйте инструмент Hollow:

В том же инструменте не забудьте сделать побег через спину.

Теперь вам нужно разрезать модель пополам с помощью инструмента Plane Cut:

Используйте кнопку экспорта, чтобы экспортировать нижнюю часть.

В конце концов, вы должны отрезать ухо. Выделите ухо и используйте инструмент Разделить - пять изображений -.

Используйте кнопку экспорта, чтобы экспортировать ухо.

Вернитесь к половинной модели и используйте инструмент Erase & Fill: https://goo.gl/d4LR76 - шесть изображений -.

3D печать

Я предпочитаю печатать детали по одному, не забывая использовать прозрачную 3D-нить!

Шаг 6: Сборка

сборка
сборка
сборка
сборка
сборка
сборка
сборка
сборка

Просверлите отверстие в верхней части головы. Это отверстие необходимо вставить внутрь пуговицы.

Блокируем кнопку горячим клеем, и проверяем связь мультиметром в режиме прозвонки.

Возьмите ухо и добавьте немного снизу, используя горячий синий или супер-атаку. Отрежьте кусок, если он слишком высокий.

Теперь вы можете подключить кнопку и ее резистор согласно схеме на шаге 2.

Первый тест

Не закрывайте 3D-модель до проверки правильности работы!

Нажмите кнопку на Adafruit IO, и внутренний светодиод должен мигать, пока вы не нажмете кнопку на ухе.

Повторите тест с пуговицей на ухе.

Шаг 7. Готово к работе

Image
Image
Готов идти
Готов идти

Наконец, это окончательный результат.

- Вопрос: вы использовали внутренний светодиод или внешний красный светодиод?

- Ответ: на этом фото и видео я использовал внутренний светодиод. Чтобы лучше прояснить, красный светодиод - это светодиод питания - вы не можете выключить его, а синий светодиод - это внутренний светодиод. На моей схеме внутренний и внешний светодиоды - это один и тот же вывод.

- Вопрос: могу ли я использовать его в неизвестной сети?

- Ответ: нет, нельзя. Вы должны перепрограммировать ESP01, потому что на этой плате нет места для OTA.

Много информации по OTA:

Но вы могли бы сделать и эту хитрость: добавить специальный идентификатор подключения и пароль для вашей личной точки доступа на свой телефон!

Рекомендуемые: