Оглавление:
- Запасы
- Шаг 1. Настройка сенсорного экрана Nextion
- Шаг 2: настройка Arduino
- Шаг 3: Настройка Python
- Шаг 4: Подключение
- Шаг 5: Запуск тестов
- Шаг 6: Необязательно: автоматический запуск кода Python с помощью док-станции
Видео: Напоминание о встрече в календаре Outlook с сенсорным экраном Nextion: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Причина, по которой я начал этот проект, заключалась в том, что часто я пропускал встречи и полагал, что мне нужна лучшая система напоминаний. Несмотря на то, что мы используем календарь Microsoft Outlook, я большую часть времени проводил в Linux / UNIX на том же компьютере. При работе с Linux всплывающее напоминание календаря Outlook на ПК скрыто за LInux VNC или другим приложением в моей Windows.
Мне пришла в голову идея разместить напоминание о встрече над мониторами компьютера, чтобы оно было более заметным. План состоял в том, чтобы иметь систему с сенсорным экраном для извлечения информации о моей следующей встрече из календаря Outlook и кнопку, которую нужно нажимать, чтобы закрыть собрание.
Запасы
Требуемое оборудование:
1. Сенсорный экран Nextion (от 22 $)
2. Arduino Nano (от 4 долларов) или другая плата Arduino. Я выбрал Nano из-за небольшого формфактора, который умещается в небольшом корпусе.
3. Кабель мини-USB.
Необязательно: Найдите 3D-принтер или сервис 3D-принтеров для печати корпуса.
Я спроектировал и напечатал на 3D-принтере корпус, чтобы он соответствовал моим мониторам, и он может не подходить к другим мониторам. Возможно, вам понадобится спроектировать корпус.
Посмотрите видео ниже, чтобы показать, что если осталось менее 60 секунд, отсчет времени напоминает мне, что нужно бежать на встречу.
Шаг 1. Настройка сенсорного экрана Nextion
- Чтобы узнать о Nextion, существует ряд руководств, в том числе с этого веб-сайта Instructible, введите поисковый запрос «Nextion».
- Вы можете получить любой сенсорный экран Nextion в интернет-магазине, например Amazon.com (см. Рисунок).
- Загрузите мой файл Nextion для этого проекта по следующей ссылке. Вы можете изменить его по своему желанию.
- Откройте файл с помощью редактора Nextion Editor. Редактор Nextion можно скачать по адресу:
- Используя Nextion Editor, загрузите файл в Nextion.
Шаг 2: настройка Arduino
- Как и в случае с Nextion, вместо того, чтобы читать длинные инструкции по использованию Arduino, вы можете искать учебные пособия по использованию Arduino, включая этот веб-сайт с инструкциями.
- Чтобы уместить всю систему в меньший корпус, я выбрал Arduino Nano. Он относительно меньше по размеру и может напрямую подключаться к моему компьютеру через USB-порт. В качестве альтернативы вы можете использовать любую плату Arduino.
- Вы можете получить Arduino Nano в интернет-магазине, таком как Amazon.com, как показано на рисунке, менее чем за 4 доллара каждый.
- Загрузите библиотеку Nextion Arduino: https://github.com/itead/ITEADLIB_Arduino_Nextion и включите ее в библиотеку Arduino Sketch.
- По умолчанию библиотека Nextion Arduino предполагает, что числа являются целыми числами. Это создает проблему для Arduino Nano (или любых плат на базе ATmega, таких как Arduino UNO), где целое число является 16-битным, которое изменяется от -32768 до 32768. Если вы используете 32-битную плату Arduino, такую как Arduino Due, Mega или SAMD на базе плат (MKR1000 и Zero), нет необходимости изменять библиотеку Nextion Arduino. В следующей инструкции показано, как изменить целочисленный 32-разрядный числовой тип на «длинный», который изменяется с -2147483, 648 на 2147483647. 32-разрядный тип необходим, потому что время проверки встречи измеряется в секундах. Для встречи за 24 часа это 86400 секунд, что превышает 16-битное целое число.
-
Измените библиотеку Nextion Arduino, чтобы изменить число с целого на длинное:
- Опять же, следующие шаги не применимы к 32-битной плате Arduino.
- Перейдите в папку библиотеки Arduino.
-
Перейдите в папку ITEADLIB_Arduino_Nextion-master
-
Отредактируйте файл "NexNumber.h":
Измените строку: "bool setValue (uint32_t number)"; to "bool setValue (длинное число)";
-
Отредактируйте файл "NexNumber.cpp":
- Измените строку: «bool NexNumber:: setValue (uint32_t number)» на «bool NexNumber:: setValue (длинное число)»
- Измените строку: «itoa (number, buf, 10);» в "ltoa (число, buf, 10);"
-
Загрузите мой код Arduino в Arduino Nano:
Шаг 3: Настройка Python
Я использую код Python для получения встреч / собраний из календаря Microsoft Outlook и отправки их на сенсорный экран Nextion через последовательный порт USB. Раньше я использовал VB. Net, но Python проще кодировать, не требует лицензии и может использоваться в любой операционной системе.
Существует множество руководств по установке и программированию на Python. После того, как вы установили Python, вам нужно установить последовательную связь, набрав «pip install pyserial» в командной строке.
Загрузите мой код Python по следующей ссылке:
Внутри кода Python вам необходимо изменить последовательный порт USB в соответствии с портом, используемым вашим компьютером. Чтобы узнать номер порта, подключите плату Arduino, затем перейдите в диспетчер устройств. В моем случае это «COM12» (см. Рисунок.
Строка Python, которую нужно изменить для моего примера:
myserial = MySerial ("COM12")
Примечание. Я планирую постоянно улучшать код Python, включая добавление GUI (графического интерфейса пользователя), такого как раскрывающееся меню для выбора серийного номера COM. Затем кнопка для запуска и остановки получения / отправки календаря встречи на сенсорный экран. Я бы рекомендовал следовать этой инструкции, чтобы получить последнее обновление.
Шаг 4: Подключение
Ниже представлена схема подключения:
Nextion Arduino
==================================
5 В ---- VCC
TX ---- контакт 10
RX ---- контакт 11
GND ---- GND
Подключите Arduino к вашему компьютеру.
Шаг 5: Запуск тестов
После подключения Nextion к Arduino и подключения Arduino к USB-порту компьютера он готов к тесту.
При установке Python, если вы установите флажок для добавления Python в переменные среды, вы можете просто щелкнуть мой файл Python: «calendar_nextion.py», упомянутый в предыдущем шаге. Появляется всплывающее окно (см. Рисунок). Если нет, вы можете сначала вручную добавить путь к Python в свои переменные среды. Другой вариант - использовать команду Windows, перейти в папку, в которую вы загружаете файл «calendar_nextion.py» из моего GitHub, затем введите «python calendar_nextion.py».
Программа будет получать вашу встречу в календаре Outlook каждую минуту. Он покажет оставшиеся минуты или секунды до следующей встречи. Если осталось менее 1 минуты, он начнет обратный отсчет каждую секунду перед началом следующей встречи. Это та часть, где вы должны бежать на встречу:).
Если вы нажмете кнопку «DISMISS», напоминание о следующей встрече будет пропущено и произойдет переход к следующей встрече.
Наслаждаться…..
Шаг 6: Необязательно: автоматический запуск кода Python с помощью док-станции
См. Мою инструкцию о том, как запускать программу, в данном случае код Python, автоматически, когда вы подключаете свой ноутбук к док-станции.
www.instructables.com/id/Start-a-Program-Automatically-When-Hooking-a-Lapto/
Рекомендуемые:
Визитная карточка с сенсорным экраном: 8 шагов (с изображениями)
Визитная карточка сенсорного экрана: по образованию я инженер-механик, но я также приобрел навыки в области электротехники и программирования за годы работы над проектами, включающими схемы и микроконтроллеры. Поскольку работодатели будут ожидать, что у меня есть навыки инженера-механика
Планшет Raspberry Pi с 7-дюймовым сенсорным экраном: 15 шагов
Планшет с сенсорным экраном Raspberry Pi 7 дюймов: это руководство демонстрирует, как создать планшет с сенсорным экраном Raspberry Pi, заряженный перезаряжаемой литий-ионной батареей. Этот проект был обнаружен на Adafruit.com, и в инструкциях подробно рассказывается, как воссоздать этот проект. Эта инструкция
Кодовый замок ESP32 с сенсорным экраном: 5 шагов
Кодовый замок ESP32 с сенсорным экраном: многие люди просили меня дать очень простой пример кода для ArduiTouch, чтобы протестировать их работу, а также в качестве отправной точки для собственных разработок. Этот очень простой кодовый замок продемонстрирует основные функции Arduitouch без каких-либо наворотов и
ESP8266 Modbus термостат с сенсорным экраном: 5 шагов
ESP8266 Modbus Thermostat With Touch: в этой инструкции я покажу вам, как сделать красивый термостат с сенсорным экраном с дополнительной поддержкой Modbus через RS485 с ArduiTouch ESP и ESP8266 (NodeMCU или Wemos D1 Mini)
Дверной замок с сенсорным экраном Arduino TFT: 5 шагов
Дверной замок с сенсорным экраном Arduino TFT: это мое первое руководство. В этом проекте используется Arduino и процессор 2,8 дюйма. Сенсорный экран TFT с эскизом пароля для активации реле, которое разрывает цепь магнитного замка двери. На заднем плане, RFID-замок на двери на работе сломался, а не перемонтировал