Подключение датчиков температуры к Octoprint: различия между версиями
(Новая страница: «-----------Черновик------------ <b>Цели:</b> Вывести температуру с датчика температуры DS1820 в Octoprint, и…») |
|||
Строка 19: | Строка 19: | ||
[[Файл:Макетная плата.jpg|200px|thumb|left]] | [[Файл:Макетная плата.jpg|200px|thumb|left]] | ||
<br><br><br><br><br><br><br><br><Br><br><br><br><br><br><br> | <br><br><br><br><br><br><br><br><Br><br><br><br><br><br><br> | ||
− | 2. | + | 2. Приступаем к настройке. Заходим по ssh на наш одноплатный компьютер под пользователем root<br> |
+ | 3. Если уже реализовано управление питанием принтера через Octoprint [https://ender3.club/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B8%D1%82%D0%B0%D0%BD%D0%B8%D0%B5%D0%BC_%D0%BF%D1%80%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%B0_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_Octoprint статья в Вики] то переходим сразу к пункту <b>7</b>. | ||
+ | 4. Переходим в домашнюю директорию пользователя, под которым работает Ocroprint. Для пользователей [https://github.com/Nebari-xx/octoprint_installer нашего установщика] - пользователь octo). <pre>cd /home/octo</pre> | ||
+ | 5. Скачиваем библиотеку для управления пинами <pre> | ||
+ | git clone https://github.com/zhaolei/WiringOP.git -b h3 && cd WiringOP | ||
+ | </pre> | ||
+ | 6. Устанавливаем библиотеку | ||
+ | <pre> | ||
+ | chmod +x ./build | ||
+ | sudo ./build | ||
+ | </pre> | ||
+ | 7. Проверяем работоспособность | ||
+ | <pre> | ||
+ | cd .. | ||
+ | gpio readall | ||
+ | </pre> | ||
+ | Должна появиться подобная таблица | ||
+ | <pre> | ||
+ | +-----+-----+----------+------+---+-Orange Pi+---+---+------+---------+-----+--+ | ||
+ | | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | | ||
+ | +-----+-----+----------+------+---+----++----+---+------+----------+-----+-----+ | ||
+ | | | | 3.3v | | | 1 || 2 | | | 5v | | | | ||
+ | | 12 | 8 | SDA.0 | ALT3 | 0 | 3 || 4 | | | 5V | | | | ||
+ | | 11 | 9 | SCL.0 | ALT3 | 0 | 5 || 6 | | | 0v | | | | ||
+ | | 6 | 7 | GPIO.7 | ALT3 | 0 | 7 || 8 | 0 | ALT3 | TxD3 | 15 | 13 | | ||
+ | | | | 0v | | | 9 || 10 | 0 | ALT3 | RxD3 | 16 | 14 | | ||
+ | | 1 | 0 | RxD2 | ALT3 | 0 | 11 || 12 | 0 | ALT3 | GPIO.1 | 1 | 110 | | ||
+ | | 0 | 2 | TxD2 | ALT3 | 0 | 13 || 14 | | | 0v | | | | ||
+ | | 3 | 3 | CTS2 | ALT3 | 0 | 15 || 16 | 0 | ALT3 | GPIO.4 | 4 | 68 | | ||
+ | | | | 3.3v | | | 17 || 18 | 0 | ALT3 | GPIO.5 | 5 | 71 | | ||
+ | | 64 | 12 | MOSI | ALT3 | 0 | 19 || 20 | | | 0v | | | | ||
+ | | 65 | 13 | MISO | ALT3 | 0 | 21 || 22 | 0 | ALT3 | RTS2 | 6 | 2 | | ||
+ | | 66 | 14 | SCLK | ALT3 | 0 | 23 || 24 | 0 | ALT3 | CE0 | 10 | 67 | | ||
+ | | | | 0v | | | 25 || 26 | 0 | ALT3 | GPIO.11 | 11 | 21 | | ||
+ | | 19 | 30 | SDA.1 | ALT3 | 0 | 27 || 28 | 0 | ALT3 | SCL.1 | 31 | 18 | | ||
+ | | 7 | 21 | GPIO.21 | ALT3 | 0 | 29 || 30 | | | 0v | | | | ||
+ | | 8 | 22 | GPIO.22 | ALT3 | 0 | 31 || 32 | 0 | ALT3 | RTS1 | 26 | 200 | | ||
+ | | 9 | 23 | GPIO.23 | ALT3 | 0 | 33 || 34 | | | 0v | | | | ||
+ | | 10 | 24 | GPIO.24 | ALT3 | 0 | 35 || 36 | 0 | ALT3 | CTS1 | 27 | 201 | | ||
+ | | 20 | 25 | GPIO.25 | ALT3 | 0 | 37 || 38 | 0 | ALT3 | TxD1 | 28 | 198 | | ||
+ | | | | 0v | | | 39 || 40 | 0 | ALT3 | RxD1 | 29 | 199 | | ||
+ | +-----+-----+----------+------+---+----++----+---+------+----------+-----+-----+ | ||
+ | | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | | ||
+ | +-----+-----+----------+------+---+-Orange Pi+---+------+----------+-----+-----+ | ||
+ | </pre> | ||
+ | 8. Редактируем файл <b>armbianEnv.txt</b><pre> | ||
+ | nano /boot/armbianEnv.txt | ||
+ | </pre> | ||
+ | 9. Прописываем в файле:<pre> | ||
+ | overlays=w1-gpio | ||
+ | param_w1_pin=PA9 | ||
+ | param_w1_pin_int_pullup=0 | ||
+ | </pre> | ||
+ | Строка <b>param_w1_pin=PA9</b> указывает, что датчики подключены к пину <b>PA9</b>, который соответствует физическому пину <b>33</b> (см. таблицу выше).<br> | ||
+ | Строка <b>param_w1_pin_int_pullup=0</b> указывает, что используется резистор, если <b>=1</b>, значит резистор не используется. | ||
+ | 10. Сохраняем и закрываем файл<pre> | ||
+ | Ctrl + O | ||
+ | Enter | ||
+ | Ctrl + X | ||
+ | </pre> | ||
+ | 11. Редактируем файл <b>modules.conf</b>:<pre> | ||
+ | nano /etc/modules-load.d/modules.conf | ||
+ | </pre> | ||
+ | 12. Прописываем в файле:<pre> | ||
+ | w1-gpio | ||
+ | w1-therm | ||
+ | </pre> | ||
+ | 13. Сохраняем и закрываем файл<pre> | ||
+ | Ctrl + O | ||
+ | Enter | ||
+ | Ctrl + X | ||
+ | </pre> | ||
+ | 14. Перезагружаем систему:<pre> | ||
+ | reboot | ||
+ | </pre> | ||
+ | 15. После перезагрузки опять заходим по ssh под пользователем root и выполняем команду:<pre> | ||
+ | dmesg | grep -E 'w1|wire' | ||
+ | </pre> | ||
+ | 16. |
Версия 19:59, 19 декабря 2019
Черновик------------
Цели:
Вывести температуру с датчика температуры DS1820 в Octoprint, используя Orange PI.
Что потребуется:
- Датчик температуры DS1820, например такой https://qps.ru/6XdbW
- Установленный Octoprint на Orange PI (Например https://is.gd/Vvaclx), доступ по ssh.
- Резистор 4.7 кОм.
- Опционально: Макетная плата.
- Опционально: Паяльник, припой, флюс, изолента, термоусадка.
Начнем:
1. Подсоединяем датчики температуры к резистору 4.7 кОм и Orange PI, в соответствии с рисунком:
Для удобства коммутации я использовал небольшую макетную плату:
2. Приступаем к настройке. Заходим по ssh на наш одноплатный компьютер под пользователем root
3. Если уже реализовано управление питанием принтера через Octoprint статья в Вики то переходим сразу к пункту 7.
4. Переходим в домашнюю директорию пользователя, под которым работает Ocroprint. Для пользователей нашего установщика - пользователь octo).
cd /home/octo
5. Скачиваем библиотеку для управления пинами
git clone https://github.com/zhaolei/WiringOP.git -b h3 && cd WiringOP
6. Устанавливаем библиотеку
chmod +x ./build sudo ./build
7. Проверяем работоспособность
cd .. gpio readall
Должна появиться подобная таблица
+-----+-----+----------+------+---+-Orange Pi+---+---+------+---------+-----+--+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +-----+-----+----------+------+---+----++----+---+------+----------+-----+-----+ | | | 3.3v | | | 1 || 2 | | | 5v | | | | 12 | 8 | SDA.0 | ALT3 | 0 | 3 || 4 | | | 5V | | | | 11 | 9 | SCL.0 | ALT3 | 0 | 5 || 6 | | | 0v | | | | 6 | 7 | GPIO.7 | ALT3 | 0 | 7 || 8 | 0 | ALT3 | TxD3 | 15 | 13 | | | | 0v | | | 9 || 10 | 0 | ALT3 | RxD3 | 16 | 14 | | 1 | 0 | RxD2 | ALT3 | 0 | 11 || 12 | 0 | ALT3 | GPIO.1 | 1 | 110 | | 0 | 2 | TxD2 | ALT3 | 0 | 13 || 14 | | | 0v | | | | 3 | 3 | CTS2 | ALT3 | 0 | 15 || 16 | 0 | ALT3 | GPIO.4 | 4 | 68 | | | | 3.3v | | | 17 || 18 | 0 | ALT3 | GPIO.5 | 5 | 71 | | 64 | 12 | MOSI | ALT3 | 0 | 19 || 20 | | | 0v | | | | 65 | 13 | MISO | ALT3 | 0 | 21 || 22 | 0 | ALT3 | RTS2 | 6 | 2 | | 66 | 14 | SCLK | ALT3 | 0 | 23 || 24 | 0 | ALT3 | CE0 | 10 | 67 | | | | 0v | | | 25 || 26 | 0 | ALT3 | GPIO.11 | 11 | 21 | | 19 | 30 | SDA.1 | ALT3 | 0 | 27 || 28 | 0 | ALT3 | SCL.1 | 31 | 18 | | 7 | 21 | GPIO.21 | ALT3 | 0 | 29 || 30 | | | 0v | | | | 8 | 22 | GPIO.22 | ALT3 | 0 | 31 || 32 | 0 | ALT3 | RTS1 | 26 | 200 | | 9 | 23 | GPIO.23 | ALT3 | 0 | 33 || 34 | | | 0v | | | | 10 | 24 | GPIO.24 | ALT3 | 0 | 35 || 36 | 0 | ALT3 | CTS1 | 27 | 201 | | 20 | 25 | GPIO.25 | ALT3 | 0 | 37 || 38 | 0 | ALT3 | TxD1 | 28 | 198 | | | | 0v | | | 39 || 40 | 0 | ALT3 | RxD1 | 29 | 199 | +-----+-----+----------+------+---+----++----+---+------+----------+-----+-----+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +-----+-----+----------+------+---+-Orange Pi+---+------+----------+-----+-----+
8. Редактируем файл armbianEnv.txt
nano /boot/armbianEnv.txt
9. Прописываем в файле:
overlays=w1-gpio param_w1_pin=PA9 param_w1_pin_int_pullup=0
Строка param_w1_pin=PA9 указывает, что датчики подключены к пину PA9, который соответствует физическому пину 33 (см. таблицу выше).
Строка param_w1_pin_int_pullup=0 указывает, что используется резистор, если =1, значит резистор не используется.
10. Сохраняем и закрываем файл
Ctrl + O Enter Ctrl + X
11. Редактируем файл modules.conf:
nano /etc/modules-load.d/modules.conf
12. Прописываем в файле:
w1-gpio w1-therm
13. Сохраняем и закрываем файл
Ctrl + O Enter Ctrl + X
14. Перезагружаем систему:
reboot
15. После перезагрузки опять заходим по ssh под пользователем root и выполняем команду:
dmesg | grep -E 'w1|wire'
16.