Добавила виджет KDE PLASMA 6. Дополнила инструкции по установке.
This commit is contained in:
parent
4fd131590a
commit
5082c5efa4
@ -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-хаб.
|
|
||||||
|
|
||||||
@ -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)
|
|
||||||
|
|
||||||
@ -1,24 +0,0 @@
|
|||||||
**3.Декслет для показа данных о температуры и влажности на рабочем столе Cinnamon**
|
|
||||||
|
|
||||||
Он довольно примитивный, при желании вы можете перенастроить его "под себя".
|
|
||||||
|
|
||||||
В текущей версии он показывает температуру и влажность, а также время получения
|
|
||||||
этих данных (обновляется каждые 30 секунд).
|
|
||||||
|
|
||||||
Для наглядности в декслет добавлены смайлики:
|
|
||||||
|
|
||||||
смайлик довольный 😊, если влажность в пределах нормы: от 40% до 60% (иначе: если жарче 🥵, если холоднее 🥶)
|
|
||||||
|
|
||||||
смайлик довольный😊, если температура в пределах комфортной: от 22С до 27С (иначе: если сухой воздух 😮💨, если влажный 😶🌫️)
|
|
||||||
|
|
||||||
**Установка**.
|
|
||||||
|
|
||||||
Установка заключается в двух действиях:
|
|
||||||
|
|
||||||
скопировать из проекта папку **home-meteo@lina** в папку по адресу:
|
|
||||||
|
|
||||||
**/home/*имя вашего пользователя*/.local/share/cinnamon/desklets**
|
|
||||||
|
|
||||||
после этого на рабочем столе кликнете правой кнопкой мыши "**добавить десклет**", выбрать из списка
|
|
||||||
**Home Meteo** *Домашняя метеостанция*, нажать "+" для запуска.
|
|
||||||
|
|
||||||
25
README.md
25
README.md
@ -1,15 +1,26 @@
|
|||||||
# Home-meteo
|
# Home-meteo
|
||||||
|
|
||||||
Мини домашняя метеостанция на базе Arduino Nano + SHT31 (SHT31-D) и Arch linux
|
Мини домашняя метеостанция на базе ArduinoNano, датчика SHT31 (SHT31-D), и
|
||||||
Cinnamon.
|
десклета Cinnamon или виджета KDE PLASMA 6.
|
||||||
|
|
||||||

|
Десклет на рабочем столе Cinnamon 6:
|
||||||
|
|
||||||

|
[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)
|
||||||
|
|
||||||
|
|||||||
@ -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-хаб.
|
|
||||||
|
|
||||||
@ -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)
|
|
||||||
|
|
||||||
@ -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 |
Loading…
Reference in New Issue
Block a user