Подключение датчиков температуры к Octoprint

Материал из Ender 3 Wiki
Перейти к навигации Перейти к поиску

Черновик------------

Цели:

Вывести температуру с датчика температуры DS1820 в Octoprint, используя Orange PI.

Что потребуется:

  1. Датчик температуры DS1820, например такой https://qps.ru/6XdbW
  2. Установленный Octoprint на Orange PI (Например https://is.gd/Vvaclx), доступ по ssh.
  3. Резистор 4.7 кОм.
  4. Опционально: Макетная плата.
  5. Опционально: Паяльник, припой, флюс, изолента, термоусадка.

Начнем:
1. Подсоединяем датчики температуры к резистору 4.7 кОм и Orange PI, в соответствии с рисунком:

OrangePI DS1820.jpg









Для удобства коммутации я использовал небольшую макетную плату:

Макетная плата.jpg
















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.