Оглавление:

SmartMirror своими руками: 6 шагов
SmartMirror своими руками: 6 шагов

Видео: SmartMirror своими руками: 6 шагов

Видео: SmartMirror своими руками: 6 шагов
Видео: Floor infinity mirrors❤️ 2024, Июнь
Anonim
Сделай сам SmartMirror
Сделай сам SmartMirror

Да, это очень умно.

Шаг 1. Первоначальный дизайн и развитие

Первоначальный дизайн и развитие
Первоначальный дизайн и развитие

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

Первоначальная идея заключалась в использовании какой-то платы, такой как Pi или Arduino, для управления дисплеем и получения данных из Интернета. После некоторых исследований я остановился на 7-дюймовом ЖК-дисплее и Raspberry Pi3 с декодером для дисплея. После этого мне пришлось найти подходящий API, чтобы предоставить мне всю необходимую информацию о погоде (надеюсь, бесплатно) и графический интерфейс для отображения информации. Как только я начал писать код, я понял, что добавление других функций, кроме погоды, невозможно в отведенное время.

Мой последний дизайн - это дисплей, подключенный к декодеру, который взаимодействует с Raspberry Pi3. Pi запускает скрипт python, который извлекает погоду с помощью API под названием OpenWeatherMap и отображает данные с помощью графического интерфейса Kivy.

Шаг 2: Исследование

Исследовать
Исследовать

У меня уже была идея сделать умное зеркало в моей голове из многих туториалов Youtube, которые я видел по этой теме. Хотя многие из этих людей использовали API, за которое им приходилось платить, со встроенным графическим интерфейсом. Я не хотел платить, и не кодировать самому было похоже на жульничество.

Этот проект было относительно легко исследовать. У меня был четкий набор материалов, необходимых для проекта: дисплей, компьютер для управления дисплеем и зеркало.

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

В заключение, я считаю, что гораздо дешевле просто сделать его самостоятельно, если вы не против, чтобы он выглядел, скорее всего, непрофессионально.

Шаг 3: трудности и помощь

Трудности и помощь
Трудности и помощь

Одной из первых трудностей была моя грубая ошибка. Мне не удалось проверить вывод вывода на дисплей и ввод на моем Pi. На выходе было 40, а на входе Pi - 32. Но, к счастью, я нашел в сети дешёвый декодер, который снимал давление с Pi, что является плюсом. Это стоило мне дополнительной пары долларов за доставку, если бы я просмотрел его до того, как заказал все детали.

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

Один из способов, которым, на мой взгляд, M5 может упростить обучение в этом классе, - это написать на доске сотрудников то, о чем они действительно много знают. Примеры вроде «Python» или «RaspberryPi» для каждого человека помогут найти, к кому обратиться, когда у меня возникнут вопросы. В большинстве случаев я находил ближайшего человека, и он говорил что-то вроде «Уф, я действительно не знаю. Но такой-то и обязательно будет». Тогда я найду этого человека и, надеюсь, получу ответ. Если бы я мог подойти к доске и посмотреть, вижу ли я какие-либо навыки, относящиеся к моей проблеме, это очень помогло бы получить помощь.

Шаг 4: Достижения

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

Другими достижениями, которыми я больше всего горжусь, являются мои возросшие знания Python и знакомство с графическим интерфейсом пользователя. Это был первый графический интерфейс, который я когда-либо создавал, и с ним пришлось долго учиться. Мне было чуждо изучение виджетов (kivy «объекты») и того, как работает общая структура графического интерфейса. Теперь я чувствую себя более разносторонним, и мне определенно лучше, когда дело доходит до изучения другого графического интерфейса в будущем.

Шаг 5: Репликация

Первое, что я сделал бы, чтобы реконструировать этот проект, определиться с вашим масштабом и целями.

Если вы хотите сделать умное зеркало своими руками, следуйте моему дизайну, но не стесняйтесь отклоняться от пути.

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

Шаг 6. Обновления

Первое, что я сделаю, это куплю новое зеркало. Хотя мой работает, он имеет недостатки от моего приложения.

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

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

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