Instructables View Counter + Руководство по ESP8266: 6 шагов (с изображениями)
Instructables View Counter + Руководство по ESP8266: 6 шагов (с изображениями)
Anonim

Счетчики подписчиков для Youtube и Facebook довольно распространены, но почему бы не сделать что-то подобное для Instructables? Именно это мы и собираемся сделать: в этом руководстве мы создадим счетчик просмотров Instructables!

Просмотры должны быть получены из интернета, поэтому мы воспользуемся обычным (и дешевым) WiFi-модулем ESP8266 для получения необходимой информации. Требуется некоторая настройка, но я выполню все шаги, необходимые для ее настройки и запуска.

Чтобы проект оставался максимально доступным (то есть не требовал 3D-принтера, лазерного резака или ускорителя частиц), я решил использовать Lego в этом случае! Так что убирайтесь из корзины с Lego и приступайте к строительству!

Шаг 1. Детали и инструменты

Запчасти и инструменты
Запчасти и инструменты

Запчасти

  • ESP8266 ESP-01
  • MAX7219 7-значный модуль светодиодного дисплея
  • Разъем FTDI, совместимый с 3,3 В (программатор)
  • Заголовки контактов
  • 4 резистора 10 кОм
  • 2x кнопка
  • 2x 10 мкФ конденсатор
  • Регулятор 3,3 В (LM1117-3,3 В)
  • USB-кабель
  • Лего!

Общая стоимость: <10 $

Инструменты

Паяльник

Шаг 2: Электроника

Электроника
Электроника
Электроника
Электроника
Электроника
Электроника

Начнем проект с построения схемы.

Электроника проекта не очень сложна, но модуль ESP8266 требует специальной обработки, чтобы заставить его работать. Итак, во-первых, что это за ESP?

ESP8266 наиболее известен как недорогой WiFi-чип, но он также имеет полноценные возможности микроконтроллера. Это делает его идеальным для проектов, требующих Wi-Fi и управления внешними компонентами, такими как наш 7-сегментный дисплей. Программирование выполняется с помощью преобразователя USB в последовательный порт, также называемого преобразователем FTDI.

Схема

Компоненты можно просто соединить, как показано на схеме, но здесь дается немного больше информации.

Прежде всего, ESP8266 работает от 3,3 В, а дисплей (и USB, который мы будем использовать для питания) работает от 5 В. Это означает, что нам понадобится преобразователь напряжения, чтобы преобразовать 5 В USB в 3,3 В для ESP8266.

При включении ESP8266 он войдет в один из своих «режимов загрузки», в зависимости от напряжения на его выводах ввода-вывода. Другими словами: если мы хотим, чтобы наш код выполнялся при загрузке, нам придется это настроить! Для выполнения программы это означает:

  • CH_PD в VCC
  • RST в VCC
  • GPIO0 в VCC
  • GPIO2 в VCC

При программировании устройства это означает:

  • CH_PD в VCC
  • RST в VCC
  • GPIO0 к GND
  • GPIO2 в VCC

Как видно, разница только в состоянии вывода GPIO0. Следовательно, мы будем использовать кнопку для подключения GPIO0 к GND при программировании. После загрузки контакты можно использовать свободно, в нашем случае для 2 вещей:

  1. В качестве входа: есть кнопка, подключенная к GPIO2.
  2. Вождение экрана. Поскольку для этого требуется более 2 сигналов, линии TX и RX также будут использоваться в качестве ввода-вывода.

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

Печатная плата

Чтобы сделать печатную плату, я разработал макет монтажной платы / стрипборда в KiCad (программное обеспечение для компоновки печатных плат с открытым исходным кодом). Установив интервал сетки на 2,54 мм (0,1 дюйма), вы можете создавать макеты, которые можно паять на картон.

Это позволяет очень легко спаять электронику: просто распечатайте дизайн (в формате PDF) и скопируйте его на картон. Используйте контакты заголовка для подключения экрана, FTDI и ESP8266.

После пайки вырежьте монтажную плату до нужного размера и вставьте все компоненты. С помощью спаянной электроники мы можем вдохнуть в них жизнь с помощью кода!

Шаг 3: Программирование ESP8266

Программирование ESP8266
Программирование ESP8266
Программирование ESP8266
Программирование ESP8266

Настройка библиотек

Прежде чем мы сможем загрузить какой-либо код на плату с помощью Arduino IDE, нам нужно будет добавить его библиотеки. Это можно сделать, выполнив следующие шаги:

  1. Перейдите в меню «Файл»> «Настройки» и вставьте следующую ссылку в поле «Дополнительные URL-адреса менеджера доски»:
  2. Перейдите в Инструменты> Платы> Диспетчер плат и найдите ESP8266.
  3. Из этого окна установите самый последний пакет
  4. Перезагрузите IDE.
  5. В меню «Инструменты»> «Платы» выберите «Универсальный модуль ESP8266» в качестве платы.
  6. Откройте эскиз и визуализируйте его (ctrl + R), чтобы увидеть, правильно ли добавлена плата.

Загрузка кода

Чтобы запрограммировать наше устройство, нам нужно будет перевести его в режим программирования и подключить к коммутационной плате FTDI. Это можно сделать, потянув соответствующие контакты к VCC или GND и выполнив соединения, как указано ниже.

  • CH_PD в VCC
  • RST в VCC
  • GPIO0 к GND
  • GPIO2 в VCC
  • RX в TX FTDI
  • TX в RX FTDI

К счастью, все эти соединения уже присутствуют на нашей плате. Сначала я попробовал это на макетной плате, и, как видите, получилось немного коряво. Итак, чтобы загрузить код:

  1. Снимите дисплей и подключите FTDI
  2. Удерживайте кнопку программы при подключении кабеля USB
  3. Загрузите код. После загрузки должно появиться сообщение «Set net»

Возможные ошибки

Вы можете получить ошибку при загрузке типа «error: espcomm_upload_mem_failed», просто повторно загрузите код. Если дисплей остается пустым при включении, также повторно загрузите код.

Запуск кода

Чтобы запустить только что загруженный код, нужно отключить режим программирования, потянув вывод GPIO0 на VCC. Или в нашем случае включить устройство, не нажимая кнопку программы.

Теперь, когда код загружен и запущен, мы можем настроить наш счетчик просмотров!

Шаг 4. Настройка Viewcounter

Настройка Viewcounter
Настройка Viewcounter
Настройка Viewcounter
Настройка Viewcounter
Настройка Viewcounter
Настройка Viewcounter

Конфигурация счетчика просмотров выполняется через интерфейс веб-страницы. Это позволяет изменять настройки на лету, вместо того, чтобы каждый раз повторно загружать код.

Настройка веб-сервера

  1. Включите устройство и подождите, пока не отобразится "set net".
  2. Нажмите кнопку Mode, устройство покажет "настройки"
  3. На вашем ПК перейдите в свои сети Wi-Fi и выберите «Счетчик посещений Instructables» (при запросе пароля введите «пароль»).
  4. Должно открыться окно браузера (в противном случае откройте его самостоятельно и введите 192.168.4.1)
  5. Откроется страница, нажимаем «Настроить WiFi»
  6. Выберите сеть и введите свой пароль. Заполните статический IP, шлюз и подсеть
  7. Нажмите "Сохранить", появится страница подтверждения.

Теперь, когда ESP8266 подключен к нашей сети Wi-Fi, мы можем ввести свои учетные данные для инструкций.

Настройка пользователя

  1. Откройте браузер и введите статический IP-адрес, который вы выбрали на предыдущем шаге.
  2. Перейдите на вкладку «Настройка пользователя».
  3. Введите свое имя Instructables и сохраните
  4. Чтобы увидеть просмотры определенного Instructable, следуйте инструкциям на странице
  5. Нажмите "Сохранить", теперь будут отображаться ваши просмотры!
  6. Дополнительные параметры можно найти в настройках;)

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

Примечание

Код этого проекта принадлежит этому классному парню: https://www.instructables.com/id/Instructables-Hi … Вся заслуга в коде принадлежит ему, я просто использую его для создания своей собственной версии проекта. Основная причина, по которой я пишу это, заключается в том, что мне пришлось разгадывать некоторые вещи вместе, чтобы заставить его работать (например, как программировать ESP8266, добавлять библиотеки, получать идентификатор инструкций, делать печатную плату, …) и я хотел сделать полное автономное руководство.

Шаг 5: Оболочка

Кожух
Кожух
Кожух
Кожух
Кожух
Кожух

Это та часть, где вы можете проявить супер креатив. Любой случай может сработать, но создание красивого может сделать проект или сломать его. Поэтому я решил сделать свой из Лего!

Монтаж экрана

Чтобы зафиксировать экран на месте, я обнаружил, что «панель Lego без боковой поддержки» идеально подходит для экрана. Есть только один недостаток: он вдвое шире, чем хотелось бы… К счастью, это легко решить, разрезав его пополам. Теперь у нас есть хорошее крепление для дисплея и хорошая отправная точка для всего корпуса!

Делаем буквы

Чтобы было более очевидно, что это счетчик просмотров, я хотел добавить метку с «просмотрами». Но потом я подумал, зачем использовать дурацкую этикетку, когда можно делать буквы из Lego? Вот что я сделал! Я выделил буквы крупным планом, чтобы их было легче воспроизвести.

Изготовление робота

Я искал что-нибудь, чтобы завершить эту сборку, и наткнулся на эту замечательную инструкцию:

Инструктируемый робот из Lego - идеальный компаньон для счетчика просмотров! Я не буду вдаваться в подробные шаги по созданию этого здесь, так как это объясняется шаг за шагом в исходной инструкции. Наш маленький компаньон - последний штрих к нашему случаю; были сделаны!

Шаг 6: Испытайте и наслаждайтесь

Тестируйте и наслаждайтесь!
Тестируйте и наслаждайтесь!

Были сделаны! Осталось только протестировать наш новый счетчик просмотров.

Подключите его к USB-порту и любуйтесь своими взглядами! Надеюсь, вам понравился проект, и вы вдохновитесь сделать что-то подобное.

Не стесняйтесь проверить мои другие инструкции: