Author Topic: DS18B20  (Read 16565 times)

Offline warlock

  • Jr. Member
  • **
  • Posts: 89
  • Karma: +0/-0
    • View Profile
Re: DS18B20
« Reply #15 on: April 10, 2014, 01:43:18 pm »
Я не знаю, как установить ядро и модули...

Offline andreil

  • Jr. Member
  • **
  • Posts: 75
  • Karma: +2/-0
    • View Profile
Re: DS18B20
« Reply #16 on: April 10, 2014, 02:14:02 pm »
Выполни следующее:
Code: [Select]
zcat /proc/config.gz | grep -i w1Если выдаст строку "CONFIG_W1=y", то модуль включен в ядро и его загружать не надо - он всегда загружен.
Если же выхлоп пустой - тогда либо ищи ядро с данным модулем, либо компиль свою версию :)

Offline warlock

  • Jr. Member
  • **
  • Posts: 89
  • Karma: +0/-0
    • View Profile
Re: DS18B20
« Reply #17 on: April 10, 2014, 02:29:44 pm »
Бред, получается что-то есть, чего-то нет. Как так может быть?
Code: [Select]
CONFIG_W1=m
CONFIG_W1_CON=y
# CONFIG_W1_SUNXI is not set
# CONFIG_W1_MASTER_DS2490 is not set
# CONFIG_W1_MASTER_DS2482 is not set
# CONFIG_W1_MASTER_DS1WM is not set
# CONFIG_W1_MASTER_GPIO is not set
# CONFIG_W1_SLAVE_THERM is not set
# CONFIG_W1_SLAVE_SMEM is not set
# CONFIG_W1_SLAVE_DS2408 is not set
# CONFIG_W1_SLAVE_DS2423 is not set
# CONFIG_W1_SLAVE_DS2431 is not set
# CONFIG_W1_SLAVE_DS2433 is not set
# CONFIG_W1_SLAVE_DS2760 is not set
# CONFIG_W1_SLAVE_DS2780 is not set
# CONFIG_W1_SLAVE_DS2781 is not set
# CONFIG_W1_SLAVE_BQ27000 is not set

Есть команда для включение/добавления этих модулей??

Offline Раджа

  • Sr. Member
  • ****
  • Posts: 438
  • Karma: +6/-2
  • Разбираюсь в чем попало
    • View Profile
Re: DS18B20
« Reply #18 on: April 10, 2014, 02:49:45 pm »
Модули еще в /lib/modules.
Для загрузки нужного модуля при старте системы его имя надо прописать в /etc/modules. Желательно в конец списка.
Сами модули грузятся командой:
modprobe <имя модуля без .ko>
или
insmod </путь/до/модуля>
Заткнись и смотри аниме!

Offline ua3prq

  • Moderator
  • Hero Member
  • *****
  • Posts: 660
  • Karma: +14/-1
    • View Profile
Re: DS18B20
« Reply #19 on: April 10, 2014, 02:52:31 pm »
Вот что отвечает у меня
Code: [Select]
cubie@cubieez:~$ sudo modprobe w1-gpio
ERROR: could not insert 'w1_gpio': No such device
cubie@cubieez:~$ zcat /proc/config.gz | grep -i w1
CONFIG_W1=m
CONFIG_W1_CON=y
CONFIG_W1_SUNXI=m
CONFIG_W1_MASTER_DS2490=m
CONFIG_W1_MASTER_DS2482=m
CONFIG_W1_MASTER_DS1WM=m
CONFIG_W1_MASTER_GPIO=m
CONFIG_W1_SLAVE_THERM=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_DS2408=m
CONFIG_W1_SLAVE_DS2423=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433=m
# CONFIG_W1_SLAVE_DS2433_CRC is not set
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
CONFIG_W1_SLAVE_BQ27000=m
cubie@cubieez:~$
я так понимаю- ругается на отсутствие датчика (script.bin не настраивал).
В Вашем ядре почти все функции отключены, не знаю, достаточно ли разрешенного только
CONFIG_W1=m
« Last Edit: April 10, 2014, 03:07:19 pm by ua3prq »

Offline warlock

  • Jr. Member
  • **
  • Posts: 89
  • Karma: +0/-0
    • View Profile
Re: DS18B20
« Reply #20 on: April 10, 2014, 03:38:18 pm »
У меня вообще нету этого модуля.
Code: [Select]
FATAL: Module w1_gpio not found./
Как его добавить?

Offline UnКаЙF

  • Full Member
  • ***
  • Posts: 241
  • Karma: +9/-6
    • View Profile
Re: DS18B20
« Reply #21 on: April 10, 2014, 04:39:28 pm »
  • Вот здесь возми: http://dl.cubieforums.com/patwood/A20-kernel-3.4.79.tar.gz
  • Распакуй.
  • В boot лежит ядро - файл uImage****.
  • Смонтируй /dev/nanda
  • Переименуй скачанный uImage**, чтоб назывался как у тебя на nanda
  • Скопируй поверх на nanda
  • Скачанный lib скопируй поверх в корень
P.S. может и не прокатить, т.к. точка входа и т.п. могут быть другими. Лучше всего установи готовую сборку с нужным ядром. И вообще, нужно больше давать информации, - на чем сидишь и где взял ?

Offline andreil

  • Jr. Member
  • **
  • Posts: 75
  • Karma: +2/-0
    • View Profile
Re: DS18B20
« Reply #22 on: April 10, 2014, 04:43:56 pm »
P.S. может и не прокатить, т.к. точка входа и т.п. могут быть другими. Лучше всего установи готовую сборку с нужным ядром. И вообще, нужно больше давать информации, - на чем сидишь и где взял ?
Прокатит, ибо ядро на всех сборках основанно на одних и тех же исходниках. Только разные опции включены + разные компиляторы. Можно смело "скармливать" ядро от другого дистра, но стоит не забывать о зависимостях софта - некоторые программы требуют изменения конфигов ядра или же жестко привязаны к ядру (редкость, но встречается, например дрова от NVIDIA надо пересобирать после любого изменения ядра).

man44

  • Guest
Re: DS18B20
« Reply #23 on: April 12, 2014, 03:01:01 am »
У меня получилось опросить датчик DS18S20 на сборке CUBIUNTU 0.999

Мой script.bin выглядит следующим образом:
[gpio_para]
gpio_used = 1
gpio_num = 4
gpio_pin_1 = port:PH20<1><default><default><1>
gpio_pin_2 = port:PH10<0><default><default><0>
gpio_pin_3 = port:PG08<1><default><default><1>
gpio_pin_4 = port:PB18<1><default><default><1>

[w1_para]
gpio = 4

Вывод данных датчика (центральная нога) подключил к ножке PB18 на cubietruck, к PG8 у меня почему-то не получилось увидеть датчик. Также подключил первую ногу датчика к GND, а третью к питанию на 3.3 вольта в этом же блоке выводов на плате (CN8). Никаких резисторов на 4.7KΩ я не использовал.

Теперь в консоли Cubietruck или в консоли, подключенной к cubietruck через SSH из под root (root:root  (для Cubiuntu)) выполняем следующие команды по порядку:
modprobe w1_therm
modprobe w1_sunxi
modprobe w1_gpio
modprobe gpio_sunxi
modprobe wire

Дальше с помощью команды cd заходим в консоли в папку
cd /sys/bus/w1/devices/
и видим в ней папку 10-000802bfbf6b - это и есть наш датчик. Заходим в нее:
cd 10-000802bfbf6b
и выполняем команду:
cat w1_slave
в ответ получаем это:
25 00 4b 46 ff ff 05 10 5d : crc=5d YES
25 00 4b 46 ff ff 05 10 5d t=18437

где t=18437 - это температура 18.437 градуса по Цельсию.
Офигеть у меня в комнате дубарь сейчас!


Offline warlock

  • Jr. Member
  • **
  • Posts: 89
  • Karma: +0/-0
    • View Profile
Re: DS18B20
« Reply #24 on: April 12, 2014, 01:04:59 pm »
Спасибо всем большое, установились w1 :) :).
Code: [Select]
root@cubieboard2:/sys/bus/w1/devices# zcat /proc/config.gz | grep -i w1
CONFIG_W1=m
CONFIG_W1_CON=y
CONFIG_W1_SUNXI=m
CONFIG_W1_MASTER_DS2490=m
CONFIG_W1_MASTER_DS2482=m
CONFIG_W1_MASTER_DS1WM=m
CONFIG_W1_MASTER_GPIO=m
CONFIG_W1_SLAVE_THERM=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_DS2408=m
CONFIG_W1_SLAVE_DS2423=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433=m
# CONFIG_W1_SLAVE_DS2433_CRC is not set
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
CONFIG_W1_SLAVE_BQ27000=m
Все команды проходят, кроме modprobe w1_gpio
Code: [Select]
root@cubieboard2:/home/linaro# modprobe w1_gpio
FATAL: Error inserting w1_gpio (/lib/modules/3.4.79-sun7i+/kernel/drivers/w1/masters/w1-gpio.ko): No such device
Что тут ему не нравится?? ???

Offline UnКаЙF

  • Full Member
  • ***
  • Posts: 241
  • Karma: +9/-6
    • View Profile
Re: DS18B20
« Reply #25 on: April 12, 2014, 02:15:17 pm »
Quote
Что тут ему не нравится??
А дэвайс-то подключил ?  script.bin настроил ?
« Last Edit: April 12, 2014, 02:19:35 pm by UnКаЙF »

Offline warlock

  • Jr. Member
  • **
  • Posts: 89
  • Karma: +0/-0
    • View Profile
Re: DS18B20
« Reply #26 on: April 12, 2014, 02:58:44 pm »
Quote
Что тут ему не нравится??
А дэвайс-то подключил ?  script.bin настроил ?

script.bin настроил вот так:
Code: [Select]
[w1_para]
                gpio = 3
                w1_used  1
               w1_gpio = 3
 
                 [gpio_para]
                 gpio_used = 1
                 gpio_pin_3 = port:PH7<0><default><default><0>
А вот девайс...
Я его раньше подключал и он сильно грелся, но не больше 5 с мне надо было, чтобы его выключить. Не думаю, что сгорел, хотя :-\

Offline UnКаЙF

  • Full Member
  • ***
  • Posts: 241
  • Karma: +9/-6
    • View Profile
Re: DS18B20
« Reply #27 on: April 12, 2014, 04:23:30 pm »
Ммм... Не знаю деталей реализации ядерных модулей, т.е. насколько это важно, но у тебя пин сконфигурирован как вход:
Quote
gpio_pin_3 = port:PH7<0><default><default><0>
А вот здесь http://linux-sunxi.org/1-Wire как выход определяют.

Upd: нагуглил, что реализация 1-wire чисто программная, т.е. должна сама определять режим.
Имхо, при программной реализации - глюк по шине неизбежен. Вопрос лишь в том, когда  он наступит. Уж лучше через uart, как в далласовском аппноуте
« Last Edit: April 12, 2014, 05:01:43 pm by UnКаЙF »

Offline warlock

  • Jr. Member
  • **
  • Posts: 89
  • Karma: +0/-0
    • View Profile
Re: DS18B20
« Reply #28 on: April 13, 2014, 03:18:06 pm »
Попробовал - не катит.
Проверяю датчик на работоспособность...

Offline ua3prq

  • Moderator
  • Hero Member
  • *****
  • Posts: 660
  • Karma: +14/-1
    • View Profile
Re: DS18B20
« Reply #29 on: April 14, 2014, 03:15:15 am »
Подтяните DATA к питанию резистором и подайте +5В, без платы. Датчик не должен греться (абсолютно) исправный.