Оглавление:
Видео: WunderThing: магнитное устройство с питанием от батареи, ESP8266 для прогнозирования погоды, Интернет-вещание!: 6 шагов
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Привет, Для моего первого инструктажа позвольте мне рассказать вам об A Wunderful Thing. Это был довольно недавний проект, в котором моей целью было создать магнит на холодильник для прогнозирования погоды!
Контроллер, выбранный для этого проекта, был Sparkfun's Thing, ESP8266 в комплекте со всеми видами вкусностей. Когда Вещь включается пользователем, запрос данных отправляется с Вещи в Wunderground (через Wi-Fi) с использованием ключа API и некоторой информации о местоположении. Запрошенные данные прогноза отправляются обратно в Thing, которое затем выбирает нужные элементы и сохраняет их. Пользователь может изучить эти данные, нажимая кнопки со стрелками и просматривая дисплей. Пользователь также может получить доступ к меню настроек, чтобы изменить свой идентификатор Wi-Fi, пароль, почтовый индекс и ключ API.
Как бы то ни было, этот проект был очень интересным и включал в себя некоторые уникальные элементы. Я надеюсь, что вы создадите его самостоятельно или что-то в этом роде, используя то, что вы узнали из этого руководства.
Наслаждаться:)
Шаг 1: Подключение WunderThing
Итак, вот как вы подключаете эту Вещь. Я тоже впервые использовал Fritzing, довольно круто.
Показанная батарея LiPo 3,7 В может быть любого размера, но я бы рекомендовал не менее 500 мАч (ESP8266 потребляет много энергии). Встроенное зарядное устройство работает очень хорошо, просто подключите любой старый микро-USB. ПРИМЕЧАНИЕ. Чтобы загрузить код, вы ДОЛЖНЫ запитать Thing отдельно от FTDI (через батарею или USB).
К Thing подключен адаптер FTDI-USB (подойдет любой FTDI на 3,3 В), OLED-дисплей и 4 кнопки. Вам нужно будет припаять ОБЕ перемычки на задней панели OLED. Кнопки показаны с внешними подтягивающими резисторами (я не доверяю внутренним подтягивающим резисторам, но теоретически нет ничего плохого в том, чтобы просто использовать их).
ЕСЛИ ВЫ ХОТИТЕ ВЫПОЛНИТЬ ПОСЛЕДОВАТЕЛЬНУЮ ОТЛАДКУ: Найдите два отверстия размером 0,1 дюйма над отверстиями FTDI на Вещи. Вырежьте след между этими отверстиями на задней части Вещи. Добавьте заголовок к этим двум отверстиям, однако это проще всего изменить. открытое / замкнутое состояние этой цепи. Чтобы загрузить код, закоротите цепь. Чтобы разрешить последовательную отладку, разомкните цепь. Sparkfun объясняет это вам в учебнике Thing. Cuz Sparkfun великолепен, как и Adafruit.
Шаг 2: Программирование WunderThing
Код, заставляющий работать WunderThing… отвратителен.
Я выложу инструкции, чтобы заставить его работать, как в моей демонстрации, но если вы хотите добавить / настроить / и т. Д., Это будет нелегкий путь. Я просмотрел и прокомментировал это, так что, надеюсь, это поможет, но я так и не смог по-настоящему очистить структуру (которая в итоге оказалась довольно сшитой вместе с некоторыми кусочками копировальной пасты и другими постыдными быстрыми исправлениями).
Вот (вроде) чудесные инструкции:
1. Добавьте вещь в диспетчер плат Arduino. Не забудьте протестировать его с помощью Blink.
2. Получите следующие библиотеки из Github: Adafruit_GFX, Adafruit_SSD1306, ArduinoJson (возможно, уже включены)
3. Сделайте себе ключ API Wunderground, создав здесь учетную запись, перейдите по ссылкам, чтобы получить ключ (БЕСПЛАТНО для того, что вам понадобится)
3. Измените настройки программирования arduino на: Sparkfun Thing, 115200, ArduinoTinyISP, номер порта и т. Д. И т. Д. ИЗМЕНИТЕ КОД (строка 139) для информации о Wi-Fi и zip-архиве.
4. Включите Thing (не забудьте сначала подключить аккумулятор или usb), скомпилируйте и загрузите код через FTDI. Оставьте вещь включенной.
5. ИЗМЕНИТЕ КОД СНОВА (строка 165), скомпилируйте и снова загрузите.
6. Если он дважды пингует ваш Wi-Fi для получения данных и отображает их, вы можете кричать и кричать в знак празднования.
7. Если что-то пошло не так, как задумано, попробуйте выключить его, а затем снова включить. Если это не сработает, выбросьте все это в гневе и вернитесь к более простым проектам, иначе вам, вероятно, придется биться головой о стену, пытаясь понять то, что я сделал в моем коде, который не согласуется с тем, что вы хотите делать с этим…. но я уверен, что все будет хорошо:)
Шаг 3: Использование WunderThing
Итак … то, как я это изложил, не совсем интуитивно понятно, но вам понадобится всего несколько минут, чтобы понять, как перемещаться по этой Вещи.
Думайте об этом как о листе Excel, где текущая ячейка отображается на дисплее. Используйте изображение выше в качестве справки. Единственный странный шар - это меню настроек, которое не полностью описано на картинке. Однако меню настроек должно быть понятным. Если вы выбрали «Изменить почтовый индекс» или любой другой параметр, просто используйте кнопки влево / вправо для переключения между символами в строке (текущая позиция отображается с индикатором точки) и кнопки вверх / вниз для прокрутки символов. Thing автоматически сохранит вашу запись, как только вы полностью вернетесь в меню настроек (используя внутреннюю EEPROM).
Шаг 4: Создание WunderThing
Только после того, как вы успешно накормили эту Вещь, вы можете подумать о том, чтобы сделать из нее готовый продукт.
Все мои часы были установлены на супер простых креплениях, напечатанных на 3D-принтере. Я включу файл детали solidworks на случай, если вы захотите попробовать.
Чтобы все было на месте, я просто приклеил небольшой кусок сломанной макетной платы в углу кнопочной панели, и это, похоже, сработало довольно хорошо и позволяет «легко» удалить, если когда-либо понадобится. Оглядываясь назад, я определенно должен был просто использовать отверстия для сверления, доступные от Thing и OLED, когда я проектировал крепление… да ладно. Хотя LiPo очень хорош. Я использовал показанный Tenergy, и это было здорово, за исключением того, что РАЗЪЕМ БЫЛ НЕПРАВИЛЬНЫМ. Впрочем, ничего страшного, просто купил несколько разъемов (JST-PH) у adafruit и заменил те, что на батареях.
Вы заметите на моих часах небольшой рисунок горного пейзажа. Просто я использовал немного свободного места. Может быть, ты найдешь ему лучшее применение. Вы также заметите, что все часы были красочными, только несколько слоев акриловой краски.
Чтобы сделать из него магнит на холодильник, просто купите магнитную ленту и наденьте пару полосок. Работает хорошо.
Шаг 5: продвигаться дальше с WunderThing
Огромный потенциал для улучшения / модификации / создания своего собственного.
Я очень хотел включить иконки погоды, но не хватило памяти. Что-то мне подсказывает, что СЛЕДУЕТ сократить объем памяти, но этот бизнес с JSON довольно сложен, и у меня нет опыта в его использовании (выделение памяти для буферов и хранилища и т. Д.).