Добавила виджет KDE PLASMA 6. Дополнила инструкции по установке.

This commit is contained in:
Lina 2026-03-05 17:05:55 +03:00
parent 4fd131590a
commit 5082c5efa4
9 changed files with 18 additions and 261 deletions

View File

@ -1,21 +0,0 @@
В проекте я использовала клон Arduino Nano: **ATmega328P** c USB-mini портом.
В качестве датчика температуры и влажности клон SHT31: на маркетплейсе он был
обозначен как "**SHT31-D**", на плате указано "**SHT3X**".
Эти две платы необходимо соединить по следующим пинам:
|SHT31 | -> | Arduino Nano|
|------|------|--------------|
|Vin |-> | 3V3 |
|GND |-> |GND |
| SCL |-> |A4 |
|SDA |-> |A5 |
Датчик также работал и при подключении Vin -> +5V, но его работа была
нестабильной и он выдавал повышенные показания.
Также столкнулась с тем, что плата работает стабильнее при прямом подключении в
USB-порт компьютера, а не через USB-хаб.

View File

@ -1,81 +0,0 @@
**2. Прошивка Arduino nano**
В каталоге *arduino* лежит файлы для прошивки arduino nano (ATmega328P).
Для прошивки: устанавила Arduino IDE (из AUR)
**yay -S --aur arduino-ide-bin **
и пакет для доступа к ней через терминал:
**sudo pacman -S arduino**
Разрешаем текущему пользователю доступ к последовательным портам (и
соответсвующим lock файлам) :
**sudo usermod -a -G uucp $USER sudo usermod -a -G lock $USER**
Так как при каждом перетыкивании платы в USB-порт linux увеличивает его
значение (USB0, затем USB1, USB2... и т.д.), я добавила правило для именования
порта для arduino, то есть чтобы порт всегда назывался одинаково
("/dev/arduino") и всегда имел права 666:
выполняем в терминале:
**lsusb **
ищем в нём нашу ардуинку: должно быть что-то вроде:
*Bus 001 Device 003: **ID** **1a86:7523** QinHeng Electronics CH340 serial
converter*
запоминаем полученный **ID**!
выполняем команды:
**sudo nano /etc/udev/rules.d/99-arduino.rules**
вставляем код (замените ID **1a86:7523** на ваши, если плата отличается)
SUBSYSTEM=="tty", ATTRS{idVendor}=="**1a86**", ATTRS{idProduct}=="**7523**",
SYMLINK+="arduino", MODE="0666"
Выполняем запись и выходим: жмём **Ctrl+O**, затем **Ctrl+X**.
применяем правило:
**sudo udevadm control --reload-rules && sudo udevadm trigger**
проверяем:
** ls -l /dev/arduino**
должно вывести примерно так:
*lrwxrwxrwx 1 root root 7 фев 21 15:54 /dev/arduino -> ttyUSB0*
**Запускаем Arduino IDE:**
в **Менеджере плат** (кнопка слева) ищем и устанавливаем: **Arduino AVR Boards**
затем (кнопка ниже) ищем и устанавливаем библиотеку: **Adafruit SHT31 Library**.
Теперь надо **выбрать модель платы**: Инструменты -> Плата -> Менеджер плат ->
Arduino AVR Boards - **Arduino Nano**
**Выбрать порт**: Инструменты -> Серийный порт: **/dev/tty/USB0** (обычно arduino
IDE сама определяет нужный порт, просто тыкаем в него)
**Выбираем загрузчик**: Инструменты -> Processor -> **Atmega328P (Old bootloader)**
Теперь всё должно быть готово для прошивки: вставляем код **sketch_hum_temp.ino** и жмем на кнопку слева (->) "Загрузить на плату". В случае успеха :) ошибок быть не должно и прошивка загрузится, замигает красный светодиод и перестанет - значит данные отправляются в порт USB.
Для проверки, что данные приходят: или в Arduino IDE тыкаем кнопку "Монитор порта" (изображена в виде лупы вверху слева)). ,
или в терминале вводим: **cat /dev/arduino**
должно будет вывести сообщения инициализации датчика и отправлять данные о
температуре и влажности каждые 30 секунд.
если всё OK, тогда жмем **Ctrl+С** чтобы прервать чтение из порта, закрываем
терминал и закрываем IDE (чтобы освободить порт arduino)

View File

@ -1,24 +0,0 @@
**3.Декслет для показа данных о температуры и влажности на рабочем столе Cinnamon**
Он довольно примитивный, при желании вы можете перенастроить его "под себя".
В текущей версии он показывает температуру и влажность, а также время получения
этих данных (обновляется каждые 30 секунд).
Для наглядности в декслет добавлены смайлики:
смайлик довольный 😊, если влажность в пределах нормы: от 40% до 60% (иначе: если жарче 🥵, если холоднее 🥶)
смайлик довольный😊, если температура в пределах комфортной: от 22С до 27С (иначе: если сухой воздух 😮‍💨, если влажный 😶‍🌫️)
**Установка**.
Установка заключается в двух действиях:
скопировать из проекта папку **home-meteo@lina** в папку по адресу:
**/home/*имя вашего пользователя*/.local/share/cinnamon/desklets**
после этого на рабочем столе кликнете правой кнопкой мыши "**добавить десклет**", выбрать из списка
**Home Meteo** *Домашняя метеостанция*, нажать "+" для запуска.

View File

@ -1,15 +1,26 @@
# Home-meteo
Мини домашняя метеостанция на базе Arduino Nano + SHT31 (SHT31-D) и Arch linux
Cinnamon.
Мини домашняя метеостанция на базе ArduinoNano, датчика SHT31 (SHT31-D), и
десклета Cinnamon или виджета KDE PLASMA 6.
![Скриншот 1](images/screenshot1.png)
Десклет на рабочем столе Cinnamon 6:
![Скриншот 2](images/screenshot2.png)
[screenshot1.png](README_files/screenshot1.png)
[1 Подключение железок.md](README_files/1%20Подключение%20железок.md)
[screenshot2.png](README_files/screenshot2.png)
[2 Прошивка arduino.md](README_files/2%20Прошивка%20arduino.md)
Виджет на рабочем столе KDE Plasma6:
[screenshot3.png](README_files/screenshot3.png)
[3 Подготовка Десклета.md](README_files/3%20Подготовка%20Десклета.md)
[screenshot4.png](README_files/screenshot4.png)
[1 Подключение железок (1).md](README_files/1%20Подключение%20железок%20(1).md)
[2 Прошивка arduino (2).md](README_files/2%20Прошивка%20arduino%20(2).md)
[3_1 Установка десклета Cinnamon.md](README_files/3_1%20Установка%20десклета%20Cinnamon.md)
[3_2 Установка виджета KDE Plasma 6.md](README_files/3_2%20Установка%20виджета%20KDE%20Plasma%206.md)

View File

@ -1,21 +0,0 @@
В проекте я использовала клон Arduino Nano: **ATmega328P** c USB-mini портом.
В качестве датчика температуры и влажности клон SHT31: на маркетплейсе он был
обозначен как "**SHT31-D**", на плате указано "**SHT3X**".
Эти две платы необходимо соединить по следующим пинам:
|SHT31 | -> | Arduino Nano|
|------|------|--------------|
|Vin |-> | 3V3 |
|GND |-> |GND |
|SCL |-> |A5 |
|SDA |-> |A4 |
Датчик также работал и при подключении Vin -> +5V, но его работа была
нестабильной и он выдавал повышенные показания.
Также столкнулась с тем, что плата работает стабильнее при прямом подключении в
USB-порт компьютера, а не через USB-хаб.

View File

@ -1,83 +0,0 @@
**2. Прошивка Arduino nano**
В каталоге *arduino* лежит файлы для прошивки arduino nano (ATmega328P).
Для прошивки: устанавила Arduino IDE (из AUR)
**yay -S --aur arduino-ide-bin **
и пакет для доступа к ней через терминал:
**sudo pacman -S arduino**
Разрешаем текущему пользователю доступ к последовательным портам (и
соответсвующим lock файлам) :
**sudo usermod -a -G uucp $USER sudo usermod -a -G lock $USER**
Так как при каждом перетыкивании платы в USB-порт linux увеличивает его
значение (USB0, затем USB1, USB2... и т.д.), я добавила правило для именования
порта для arduino, то есть чтобы порт всегда назывался одинаково
("/dev/arduino") и всегда имел права 666:
выполняем в терминале:
**lsusb **
ищем в нём нашу ардуинку: должно быть что-то вроде:
*Bus 001 Device 003: **ID** **1a86:7523** QinHeng Electronics CH340 serial
converter*
запоминаем полученный **ID**!
выполняем команды:
**sudo nano /etc/udev/rules.d/99-arduino.rules**
вставляем код (замените ID **1a86:7523** на ваши, если плата отличается)
SUBSYSTEM=="tty", ATTRS{idVendor}=="**1a86**", ATTRS{idProduct}=="**7523**",
SYMLINK+="arduino", MODE="0666"
Выполняем запись и выходим: жмём **Ctrl+O**, затем **Ctrl+X**.
применяем правило:
**sudo udevadm control --reload-rules && sudo udevadm trigger**
проверяем:
** ls -l /dev/arduino**
должно вывести примерно так:
*lrwxrwxrwx 1 root root 7 фев 21 15:54 /dev/arduino -> ttyUSB0*
**Запускаем Arduino IDE:**
в **Менеджере плат** (кнопка слева) ищем и устанавливаем: ***Arduino AVR Boards*, **
затем (кнопка ниже) ищем и устанавливаем библиотеку: **Adafruit SHT31 Library**.
Теперь надо **выбрать модель платы**: Инструменты -> Плата -> Менеджер плат ->
Arduino AVR Boards - **Arduino Nano**
**Выбрать порт**: Инструменты -> Серийный порт: **/dev/tty/USB0** (обычно arduino
IDE сама определяет нужный порт, просто тыкаем в него)
**Выбираем загрузчик**: Инструменты -> Processor -> **Atmega328P (Old bootloader)**
Теперь всё должно быть готов для прошивки: вставляем код **sketch_hum_temp.ino **и жмем на кнопку слева (->) "Загрузить на плату". В случае успеха :) ошибок быть не должно и прошивка загрузиться, всё замигает красный светодиод и перестанет - значит данные отправляются в порт USB.
Для проверки, что данные приходят: или в Arduino IDE тыкаем кнопку "Монитор
порта" (изображена в виде лупы вверху слева)). ,
или в терминале вводим: **cat
/dev/arduino**
должно будет вывести сообщения инициализации датчика и отправлять данные о
температуре и влажности каждые 30 секунд.
если всё OK, тогда жмем **Ctrl+С** чтобы прервать чтение из порта, закрываем
терминал и закрываем IDE (чтобы освободить порт arduino)

View File

@ -1,24 +0,0 @@
**3.Декслет для показа данных о температуры и влажности на рабочем столе Cinnamon**
Он довольно примитивный, при желании вы можете перенастроить его "под себя".
В текущей версии он показывает температуру и влажность, а также время получения
этих данных (обновляется каждые 30 секунд).
Для наглядности в декслет добавлены смайлики:
смайлик довольный 😊, если влажность в пределах нормы: от 40% до 60% (иначе: если жарче 🥵, если холоднее 🥶)
смайлик довольный😊, если температура в пределах комфортной: от 22С до 27С (иначе: если сухой воздух 😮‍💨, если влажный 😶‍🌫️)
**Установка**.
Установка заключается в двух действиях:
скопировать из проекта папку **home-meteo@lina** в папку по адресу:
**/home/*имя вашего пользователя*/.local/share/cinnamon/desklets**
после этого на рабочем столе кликнете правой кнопкой мыши "**добавить декслет**", выбрать из списка
**Home Meteo** *Домашняя метеостанция*, нажать "+" для запуска.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB