===== Banana Pi/Banana Pi M1 plus и DS18B20 ===== схема подключения:\\ —> VCC - контакт 3,3 вольта (1-я ножка) на CON3\\ —> GND - контакт GND (6-я ножка) на CON3\\ —> DQ - контакт GPIO18 (12-я ножка) на CON3 если Banana Pi\\ —> DQ - контакт GPIO4 (12-я ножка) на CON3 если Banana Pi M1 plus\\ {{:bananapi:ds18b20:ds18b20.png?200|}} root@bananapi ~ # bananian-update root@bananapi ~ # apt-get update root@bananapi ~ # apt-get upgrade root@bananapi ~ # reboot root@bananapi ~ # apt-get install mc root@bananapi ~ # rehash root@bananapi ~ # mc После запуска mc иду в настройки > конфигурация и отмечаю пункт Встроенный редактор. ==== Banana Pi ==== root@bananapi /usr/local/src # apt-get install libusb-1.0 НОВЫЕ пакеты, которые будут установлены:\\ libc-dev-bin libc6-dev libusb-1.0-0-dev linux-libc-dev root@bananapi /usr/local/src # apt-get install build-essential root@bananapi /usr/local/src # rehash root@bananapi /usr/local/src # apt-get install git root@bananapi /usr/local/src # git clone https://github.com/linux-sunxi/sunxi-tools.git root@bananapi /usr/local/src # cd /usr/local/src/sunxi-tools root@bananapi /usr/local/src/sunxi-tools (git)-[master] # make gcc -g -O0 -Wall -Wextra -std=c99 -D_POSIX_C_SOURCE=200112L -Iinclude/ -o fexc fexc.c script.c script_uboot.c script_bin.c script_fex.c ln -s fexc bin2fex ln -s fexc fex2bin gcc -g -O0 -Wall -Wextra -std=c99 -D_POSIX_C_SOURCE=200112L -Iinclude/ -o bootinfo bootinfo.c bootinfo.c: In function ‘print_script’: bootinfo.c:274:25: warning: unused parameter ‘script’ [-Wunused-parameter] gcc -g -O0 -Wall -Wextra -std=c99 -D_POSIX_C_SOURCE=200112L -Iinclude/ `pkg-config --cflags libusb-1.0` -o fel fel.c `pkg-config --libs libusb-1.0` /bin/sh: 1: pkg-config: not found /bin/sh: 1: pkg-config: not found fel.c:22:20: fatal error: libusb.h: Нет такого файла или каталога compilation terminated. make: *** [fel] Ошибка 1 Дописал в makefile строку: CFLAGS += -I/usr/include/libusb-1.0 -lusb-1.0 После этого программа собралась.\\ Редактирую файл конфигурации. Для этого монтирую /dev/mmcblk0p1 в /mnt и создаю файл bananapi.fex root@bananapi /usr/local/src/sunxi-tools (git)-[master] # mount /dev/mmcblk0p1 /mnt root@bananapi /usr/local/src/sunxi-tools (git)-[master] # cd /mnt root@bananapi /mnt # /usr/local/src/sunxi-tools/bin2fex script.bin bananapi.fex В полученный файл bananapi.fex вношу следующие изменения: [w1_para] gpio = 18 gpio 18 соответствует 12 контакту на разъёме CON3 Из bananapi.fex создаю новый файл конфигурации script.bin root@bananapi /mnt # /usr/local/src/sunxi-tools/fex2bin bananapi.fex script.bin root@bananapi /mnt #reboot После перезагрузки пишу root@bananapi ~ # modprobe wire root@bananapi ~ # modprobe w1-gpio root@bananapi ~ # modprobe w1-therm root@bananapi ~ # ls /sys/bus/w1/devices 28-00044e42dfff@ w1_bus_master1@ root@bananapi ~ # cat /sys/bus/w1/devices/28-00044e42dfff/w1_slave a6 01 55 00 7f ff 0c 10 61 : crc=61 YES a6 01 55 00 7f ff 0c 10 61 t=26375 **t=26375**/1000 и есть температура в градусах Целсия ==== Banana Pi M1 plus==== root@bananapi /usr/local/src # apt-get install libusb-1.0 root@bananapi /usr/local/src # apt-get install build-essential root@bananapi /usr/local/src # rehash root@bananapi /usr/local/src # apt-get install git root@bananapi /usr/local/src # git clone https://github.com/linux-sunxi/sunxi-tools.git root@bananapi /usr/local/src # cd /usr/local/src/sunxi-tools Дописал в makefile строку: CFLAGS += -I/usr/include/libusb-1.0 -lusb-1.0 root@bananapi /usr/local/src/sunxi-tools (git)-[master] # make root@bananapi /usr/local/src/sunxi-tools (git)-[master] # mount /dev/mmcblk0p1 /mnt root@bananapi /usr/local/src/sunxi-tools (git)-[master] # cd /mnt root@bananapi /mnt # /usr/local/src/sunxi-tools/bin2fex script.bin bananapi.fex В соответствии со спецификацией 40-ка контактного разъёма GPIO specification Banana Pi has a 40-pin GPIO header that matches that of the Model B+ Raspberry Pi. Following is the Banana Pi GPIO Pinout: Pin on Board Pin Definition IO on A20 CON3-P01 VCC-3V3 CON3-P02 VCC-DC CON3-P03 TWI2-SDA PB21  CON3-P04 VCC-DC CON3-P05 TWI2-SCK PB20  CON3-P06 GND CON3-P07 PWM1 PI3  CON3-P08   UART3_TX PH0  CON3-P09 GND CON3-P10 UART3_RX PH1 CON3-P11 UART2_RX PI19 CON3-P12 PH2 PH2 CON3-P13 UART2_TX PI18  CON3-P14 GND CON3-P15 UART2_CTS PI17  CON3-P16 CAN_TX PH20 CON3-P17 VCC-3V3 CON3-P18 CAN_RX PH21 CON3-P19 SPI0_MOSI PI12 CON3-P20 GND CON3-P21 SPI0_MISO PI13 CON3-P22 UART2_RTS PI16 CON3-P23 SPI0_CLK PI11 CON3-P24 SPI0_CS0 PI10 CON3-P25 GND CON3-P26 SPI0_CS1 PI14 CON3-P27 TWI3-SDA PI1 CON3-P28 TWI3-SCK PI0 CON3-P29 I2S_MCLK PB5 CON3-P30 GND CON3-P31 I2S_BCLK PB6 CON3-P32 I2S_DI PB12 CON3-P33 I2S_LRCK PB7  CON3-P34 GND CON3-P35 I2S_DO0 PB8 CON3-P36 UART7_RX PI21  CON3-P37 IR0_TX PB3 CON3-P38 UART7_TX PI20  CON3-P39 GND CON3-P40 SPDIF_DO PB13 CON4 is the UART interface CON4 Pin Name |Default Function| GPIO CON4 PO3 |UART0-TXD | PB22 CON4 PO2 |UART0-RXD | PB23 CON4 PO1 |GND | В полученный файл bananapi.fex вношу следующие изменения: [gpio_para] gpio_used = 1 gpio_num = 86 gpio_pin_1 = port:PI00<1> ... gpio_pin_4 = port:PH02<1> ... [w1_para] gpio = 4 gpio 4 соответствует 12 контакту на разъёме CON3 root@bananapi /mnt # /usr/local/src/sunxi-tools/fex2bin bananapi.fex script.bin root@bananapi /mnt #reboot После перезагрузки пишу root@bananapi ~ # modprobe wire root@bananapi ~ # modprobe w1-gpio root@bananapi ~ # modprobe w1-therm root@bananapi ~ # ls /sys/bus/w1/devices 28-00044e42dfff@ w1_bus_master1@ root@bananapi ~ # cat /sys/bus/w1/devices/28-00044e42dfff/w1_slave a6 01 55 00 7f ff 0c 10 61 : crc=61 YES a6 01 55 00 7f ff 0c 10 61 t=26375 **t=26375**/1000 и есть температура в градусах Целсия Ссылки:\\ http://www.bananapi.org.pl/2014/11/banana-pi-pomiar-temperatury-za-pomoca-ds18b20-1-wire/\\ http://forum-bananapi.de/Thread-Banana-PRO-DS18B20-GPIO4-OneWire-Raspbian\\ http://sunxi.org/1-Wire