Оглавление:

TicTac Super Wifi Analyzer, ESP-12, ESP8266: 5 шагов (с изображениями)
TicTac Super Wifi Analyzer, ESP-12, ESP8266: 5 шагов (с изображениями)

Видео: TicTac Super Wifi Analyzer, ESP-12, ESP8266: 5 шагов (с изображениями)

Видео: TicTac Super Wifi Analyzer, ESP-12, ESP8266: 5 шагов (с изображениями)
Видео: Super WiFi Analyser in TicTac box 2024, Июль
Anonim
Анализатор TicTac Super Wifi, ESP-12, ESP8266
Анализатор TicTac Super Wifi, ESP-12, ESP8266
Анализатор TicTac Super Wifi, ESP-12, ESP8266
Анализатор TicTac Super Wifi, ESP-12, ESP8266

Этот проект основан на оригинальном коде moononournation и концепции использования коробки TicTac в качестве корпуса.

Однако вместо использования кнопки для запуска считывания используется сенсорная панель, которая поставляется с дисплеем TFT SPI. Код был изменен для лучшего управления светодиодной подсветкой и перевода дисплея в спящий режим (поскольку модуль дисплея должен оставаться под напряжением для сенсорного чипа). Ток устройства во сне достаточно низкий, чтобы липо на 1000 мАч прослужило несколько лет. Также есть зарядка аккумулятора и защита от низкого напряжения.

Смотрите последний шаг, чтобы посмотреть видео, как это работает.

Части:

  • Коробка 48 г TicTac
  • ESP12 (желательно ESP-12F)
  • 2,4-дюймовый TFT-дисплей SPI
  • Зарядный модуль Lipo
  • PNP транзистор
  • 3.3v низкий ток покоя, регулятор напряжения
  • Сопутствующие резисторы и конденсаторы (подробности позже)

Шаг 1: Разработка

Разработка
Разработка

Я думал, что намечу путь развития этого проекта. Вы можете пропустить этот раздел, если хотите сразу приступить к его изготовлению.

Это один из первых моих проектов на ESP8266. Меня увлекла изящная концепция использования коробки TicTac в качестве корпуса для анализатора Wi-Fi, и я решил сделать ее. Спасибо: Portable-WiFi-Analyzer. Я решил использовать дисплей большего размера с диагональю 2,4 дюйма - с сенсорной панелью и на печатной плате с контактами, к которым было бы легче подключаться.

Когда я начал сборку, я изучил устройства, которые позволили бы антенне ESP12 не соприкасаться с электроникой. Единственный вариант - чтобы он был внутри колпачка. Еще хотелось модуль зарядного устройства под ТРК. Тогда вопрос заключался в том, где разместить кнопку включения? Проделывать дыру в задней части корпуса не хотелось. Лучше всего подойдет верхняя крышка, но там нет места, если у меня там два модуля.

Это привело к идее использовать сенсорную панель в качестве кнопки включения. Я заметил, что один из разъемов дисплея был помечен «T_IRQ» - это выглядело обнадеживающим. Сенсорный чип - XPT2046. И да, к моему удовольствию, он имеет автоматический спящий режим и понижает T_IRQ при прикосновении к панели. Он идеально подходит для замены нажимного переключателя и может быть просто подключен к сбросу ESP12.

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

Итак, ясно поняв эту концепцию, я подключил ее с помощью NodeMcu - и это не сработало! Так что работы было немного больше. Я также осознавал, что не могу проверить ток сна с помощью NodeMcu из-за встроенного USB-чипа и регулятора напряжения с высоким током покоя. Мне также нужна была система для простого программирования ESP12. Это привело к тому, что я сделал коммутационную плату / систему разработки ESP12, которую можно было программировать так же легко, как NodeMCU, но с использованием программатора FTDI. Таким образом, регулятор и USB-чип отделены друг от друга. См.: ESP-12E и ESP-12F Programming and Breakout Board.

Затем я подключил его к своей новой плате с ESP-12F - и это сработало. Единственное изменение, которое я сделал, - это закоротить регулятор напряжения на модуле дисплея, чтобы все работало на 3,3 В. Я начал делать свои модификации кода, в частности, код для перевода микросхемы дисплея (ILI9341) в спящий режим, поскольку ему и чипу сенсорной панели потребуется питание (в спящем режиме), когда модуль ESP также находится в спящем режиме. Затем я проверил ток сна. Это было 90uA. Так что батареи на 1000 мАч хватит на год. Хорошее начало.

Затем снял регулятор напряжения на модуле дисплея. Достаточно было просто поднять заземляющий штифт. Теперь ток в спящем режиме был 32 мкА. Мне все еще пришлось добавить стабилизатор на 3,3 В, но я знал, что он с током покоя всего 2 мкА. Итак, теперь мы рассчитываем на 3 года автономной работы!

Я также хотел как можно больше установить компоненты на печатную плату, чтобы сделать проводку более аккуратной. Итак, на этом этапе я приступил к дизайну печатной платы для устройства. Хотелось бы подключить напрямую к контактам модуля дисплея. Это было довольно сложно, поэтому я решил использовать жесткий провод от печатной платы к модулю дисплея.

Я немного повозился с кодом. Я добавил уведомление о сне - заполнение экрана черным и печать ZZZ перед сном. Еще я отложил включение светодиодной подсветки до заполнения экрана. Это позволяет избежать белой вспышки в начале исходного кода. Я сделал аналогичные модификации в конце, выключив светодиоды перед тем, как перевести дисплей в спящий режим.

Вам может быть интересно, как измерить uA. Очень просто! Подключите резистор 1 кОм последовательно с положительным проводом питания. Замкните его перемычкой, чтобы система могла работать. Затем, когда он находится в спящем режиме, снимите перемычку и измерьте падение напряжения на резисторе. С резистором 1 кОм 100 мВ означает 100 мкА. Если падение напряжения слишком велико, я использую сопротивление меньшего значения. Я использовал этот метод для измерения одной цифры нА с помощью резистора 1 м в других системах с действительно низкими токами сна.

Шаг 2: Строительство

Изображение
Изображение
Изображение
Изображение

Печатная плата или жесткий провод?

В устройстве, которое я построил здесь, используется печатная плата для удержания модулей ESP12F и зарядного устройства, а также регулятора напряжения, транзистора PNP и связанных с ними конденсаторов и подтягивающих резисторов. Это самый изящный путь, но он требует оборудования для травления печатных плат и пайки SMD. Однако систему можно было создать, подключив модули напрямую и поместив регулятор напряжения и транзистор PNP на кусок картона, как это было в более раннем проекте TicTac (ссылка на который приведена ранее).

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

Список деталей:

  • Коробка 49 г TicTac
  • ESP-12F (или ESP-12E) Обратите внимание, что ESP-12F имеет больший диапазон, в остальном такой же, как ESP-12E.
  • 2,4-дюймовый TFT-дисплей SPI с драйвером ILI9341 и сенсорным экраном, например TJCTW24024-SPI
  • Модуль зарядного устройства - см. Фото
  • 2-миллиметровая полоска (необязательно, но стоит использовать)
  • PNP-транзистор в формате SOT23. Я использовал BCW30, но любой другой с емкостью более 100 мА и усилением постоянного тока> 200 должен подойти.
  • Регулятор 3v3 250ma (min) в формате SOT23. Я использовал Microchip MCP1703T-33002E / CB. Другие будут работать, но проверьте их ток покоя. (рекомендуется менее 30 мкА).
  • Резисторы (все типоразмер 0805)
  • 10k 4off
  • 3k3 1 скидка
  • Конденсаторы (все типоразмер 0805)
  • 2n2 2 выкл.
  • 0,1u 1 шт.
  • Печатная плата в виде прикрепленного файла WiFiAnalyserArtwork.docx.
  • Одноэлементный LiPo аккумулятор. Емкость 400-1000 мАч - вот и поместится в корпус. 400 мАч достаточно много.

Для варианта без печатной платы используйте эквиваленты с выводами, резисторы W и выше подойдут, а конденсаторы с рабочим напряжением 5 В или выше.

При изготовлении печатной платы просверлите отверстия на 0,8 мм. Если у вас зоркий глаз - 2-миллиметровые отверстия для штифтов ESP12 могут быть 0,7 мм для лучшей поддержки.

Размещение компонентов:

Изображение
Изображение

При сборке печатной платы сначала установите резисторы и конденсаторы, затем стабилизатор и транзистор PNP, затем модуль зарядного устройства и контактную полоску для ESP12. Я не паял ESP12 на место, так как он достаточно плотно прижат к контактной планке, и его легче перепрограммировать без платы. Вы заметите, что на печатной плате есть разъемы для TX, RX, GPIO 0, сброса и заземления, если вы когда-нибудь захотите перепрограммировать на месте. Обратите внимание, что для вывода GPIO на низкий уровень потребуется кнопка. Сброс можно сбросить, прикоснувшись к дисплею. Кнопку можно было использовать, но только если отключен провод к дисплею T_IRQ.

Шаг 3: Подключение

Перед подключением дисплея к печатной плате снимите регулятор i1 и поместите каплю припоя на J1, который затем заменит его. После этого должно получиться так:

Изображение
Изображение

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

Теперь можно начинать подключение, начиная с подключения ленточного кабеля к дисплею. Отрежьте ленточный кабель ПК длиной 7–8 см и выберите 10 способов. Обрежьте 9 путей назад на 10 мм, оставив один более длинный с одного края для вывода T-IRQ. Остальные затем можно развернуть туда, где они будут припаяны, и немного подрезать там, где это необходимо.

Я разместил и припаял по одному выводу, начиная с VCC.

Изображение
Изображение

Разместите печатную плату там, где она должна быть по отношению к дисплею. Затем обрежьте провода по одному на 5 мм или около того длиннее, чем требуется, снимите изоляцию на 2 мм, залудите конец и припаяйте на месте. Прокладка проводов происходит следующим образом (считая номера выводов от VCC):

Отображать Печатная плата Комментарий
1 1 VCC
2 8 GND
3 9 CS
4 5 СБРОС НАСТРОЕК
5 7 ОКРУГ КОЛУМБИЯ
6 2 SDI (MOSI)
7 4 SCK
8 10 ВЕЛ
9 3 SDO (MISO)
10 6 T_IRQ
Изображение
Изображение

Теперь осталось только подключить аккумулятор и запрограммировать ESP12. При программировании на месте подключите аккумулятор сейчас. Если программирование осуществляется вне платы, после этого подключите аккумулятор.

Шаг 4: программирование

Загрузите прикрепленный файл с кодом ESP8266WiFiAnalMod.ino, создайте папку с именем «ESP8266WiFiAnalMod» в папке с эскизами Arduino и переместите туда файл.

Запустите Arduino IDE (при необходимости загрузите и установите с Arduino.cc) и добавьте сведения о плате ESP, если у вас их нет (см. Sparkfun).

Загрузите код (Файл> Скетчбук>… ESP8266WiFiAnalMod).

Затем установите детали программирования (Инструменты):

Выберите плату: Generic ESP8266 Module

Ниже приведены остальные настройки. Выберите метод сброса: «nodemcu», если используете программатор с автоматическим приводом сброса и GPIO0. В противном случае установите «ck» при программировании на месте или при прямом подключении к преобразователю USB в последовательный порт.

Номер порта, скорее всего, будет другим.

Изображение
Изображение

Если вы хотите программировать на месте, вам нужно будет припаять провода к переключателю, чтобы вывести GPIO 0 на низкий уровень и подключиться к Tx и Rx - см. Ниже:

Более простой вариант - использовать плату программирования: ESP-12E и ESP-12F Programming and Breakout Board.

При программировании на месте подключите, как показано ниже. Обратите внимание: если дисплей подключен, сброс можно активировать с помощью сенсорного экрана, в противном случае требуется переключение с сброса на заземление. Для питания платы необходимо подать напряжение 3,7 В на контакты OUT + и OUT-. При использовании аккумулятора необходимо выполнить сброс зарядного устройства, на короткое время подключив кабель USB.

Изображение
Изображение

Если вы устанавливаете режим программирования вручную, потяните сброс на низком уровне (сенсорный экран), потяните GPIO 0 на низкий уровень, а при низком уровне отпустите сброс. Теперь нажмите кнопку загрузки. Программирование должно продолжаться.

Если вы используете плату программирования и коммутационную плату, просто подключите последовательный преобразователь FTDI USB, подайте питание 3,3 В на плату программирования и нажмите «Загрузить».

Шаг 5: Окончательная сборка и тестирование

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

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

Дисплей аккуратно разместится между крышкой и дном корпуса. Приподнятая часть в основании хорошо удерживает экран со стороны коробки.

Печатная плата должна быть прикреплена к плате дисплея, чтобы она могла поместиться внутри крышки и иметь гнездо для зарядки USB. Когда необходимое соотношение между позициями плат будет замечено, приклейте двустороннюю ленту (типа толщиной 1 мм) к обеим доскам. Это обеспечит зазор 2 мм, который позволит избежать электрического контакта. В качестве меры предосторожности я наклеил изоленту на электронику дисплея:

Изображение
Изображение

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

Изображение
Изображение
Изображение
Изображение

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

Изображение
Изображение

Когда вы все это подключили и обнаружите, что ничего не происходит, не волнуйтесь (пока). Необходимо сбросить схему защиты аккумулятора на модуле зарядного устройства. Это делается путем подключения его через кабель micro-USB к источнику питания 5 В. Достаточно нескольких секунд.

И теперь у вас есть полезное устройство, которое показывает мощность систем ESP8266, и в моем случае заставило меня изменить свой канал WiFi, поскольку оно обнаружило 5 других на том же самом!

Надеюсь, вам понравится этот прекрасный проект.

Майк

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