Pro 11 2017

RasPi – openHAB2 instalace

instalace openHAB na raspbianu je jednoduchá zaležitost, za 5 minutek není co dělat 🙂

openHAB přímo závisí na mé „oblíbené“ Javě, instalace

sudo apt-get install oracle-java8-jdk
  • nyní již vlastní instalace openHABu:
  • přidáme klíče pro APT, aby důvěřovala nové repository
  • 
    wget -qO - "https://bintray.com/user/downloadSubjectPublicKey?username=openhab" | sudo apt-key add -
    
    sudo apt-get install apt-transport-https
    
    
  • přidáme odkaz na Stable repozitory a pak načteme novou repozitory
  • 
    echo 'deb https://dl.bintray.com/openhab/apt-repo2 stable main' | sudo tee /etc/apt/sources.list.d/openhab2.list
    
    sudo apt-get update
    
    
  • a můžeme nainstalovat balíčky openhabu
  • sudo apt-get install openhab2
    
    sudo apt-get install openhab2-addons
    

  • následuje zaregistrování služby a její autostart
  • sudo systemctl daemon-reload
    
    sudo systemctl enable openhab2.service
    
    sudo systemctl start openhab2.service
    
    sudo systemctl status openhab2.service
    

  • do 15 minut by se měla služba nastartovat (defaultně na portu TCP/8080 – http://raspi:8080)
  • Permanent link to this article: http://www.elvisek.cz/2017/12/raspi-openhab2-instalace/

    Lis 29 2017

    Debian – rozšíření diskového oddílu

    Rozšíření diskového oddílu za běhu je docela divočina – použijeme fdisk, vymažeme diskový oddíl (partition) a následně ji znovu vytvoříme. Zní to divně, ale je to tak.

    Pusťme se do toho:

    • zjistit aktuální rozložení disku – sudo fdisk -l /dev/sda
      • hlavní jsou start a end hodnoty sektorů u sda2! tohle si zapamatovat!
    • dále spustíme – sudo fdisk /dev/sda
      • budeme rozšiřovat sda2 – tedy partition number 2
        • stiskneme tedy „d“ – delete a partition
        • zvolíme „2“
      • tímto jsme zrušili oddíl, nyní jej vytvoříme znovu
        • stiskneme tedy „n“ – add a new partition
        • vybereme Partition type – „p“ – Primary
        • vybereme Partition number – „2“
        • zvolíme First sector – zde musíme vědět start sektor z původního oddílu – „94208“
        • zvolíme Last sector – zde necháme poslední – „62533291“
      • na informaci, že oddíl obsahuje signaturu ext4 odpovíme, aby ji zanechal
        • Partition #2 contains a ext4 signature.
        • Do you want to remove the signature? [Y]es/[N]o: „n“
      • pak stačí zapsat změny – „w“

    • tímto máme dokončeno a uděláme restart – sudo reboot
    • po úspěšném restartu spustíme – partprobe
      • tím řekneme jádru o nových oddílech
    • a následně –  sudo resize2fs /dev/sda2
      • ten nám diskový oddíl konečně rozšíří na maximální velikost
    • zkontrolujeme novou velikost – sudo fdisk -l /dev/sda nebo df

    A to je vše, nic se nám neztratilo nebo neuteklo. Všechno pěkně funguje!

     

     

    Permanent link to this article: http://www.elvisek.cz/2017/11/debian-rozsireni-diskoveho-oddilu/

    Lis 28 2017

    RasPi – teploměr DS18B20 (1wire) přes i2c bus driver DS2482

    Další možností (preferovanější), jak zobrazit teplotu ze senzoru DS18B20 je přes převodník I2C na 1-Wire sběrnici.

    Zde používám DS2482-100, která obsahuje jednu 1-wire sběrnici. Existuje i druhá SD2484-800, která má 8 nezávislých sběrnic. Koupíme je třeba zde.

    Samozřejmě můžeme na i2c sběrnici ty převodníky skládat pěkně za sebou a udělat si tak z DS2482-100  dvě a více oddělených 1-wire sběrnic.

    Schéma zapojení převodníku:

     

    Nastavení RasPi:

    • přes sudo raspi-config povolíme používání 1-Wire a restartujeme RasPi.
    • zkontrolujeme, že se na sběrnici I2C objevilo nové zařízení – i2cdetect -y 1
      • na obrázku jsou vidět např. dva převodníky s adresou 18 a 19!

    • nainstalujeme OWFS a modul pro python – sudo apt-get -y install owfs python-ow ow-shell
    • po instalaci by měla běžet http služba OW na portu 2121 (http://127.0.0.1:2121)
    • upravíme /etc/owfs.conf
      • zakomentovat řádek
        • # server: FAKE = DS18S20,DS2405
      • zakomentovat řádek
        • # ftp: port = 2120
      • vložit v sekci USB device: DS9490
        • server: device = /dev/i2c-1
      • odstranit komentáře u řádků:
        • mountpoint = /mnt/1wire
        • allow_other
      • pokud máme více 1-wire plus adaptérů (zapojených klasicky paralelně), musíme říct, aby fungoval na všech
        • server: i2c = ALL:ALL
    • uložit a restartovat RasPi
    • vyzkoušíme načíst základní stromovou strukturu z OW ( owgetowdirowreadowwrite )
      • owdir – vypíše strukturu
      • owdir /28.FFA88BA01605 – vypíšeme si vlastnosti senzoru
      • owread /28.FFA88BA01605/temperature – teplota na sezzoru
      • owread /28.FFA88BA01605/type – typ připojeného senzoru

    Připojení OW jako složky file systému – sudo owfs

    • následně již pracujeme jako s file systémem
      • ls -l /mnt/1wire/
      • cat /mnt/1wire/bus.0/28.FFA88BA01605/temperature
      • cat /mnt/1wire/bus.0/28.*/temperature

    Nakonec jednoduchý python skript na hromadné načtení dat:

    import ow
    ow.init('localhost:4304')
    sensorlist = ow.Sensor('/').sensorList()
    for sensor in sensorlist:
    print('Device Found')
    print('Address: ' + sensor.address)
    print('Family: ' + sensor.family)
    print('Alias: ' + sensor.alias) 
    print('ID: ' + sensor.id)
    print('Type: ' + sensor.type)
    print('Temperature: ' + sensor.temperature)
    print(' ')
    

    PS1: vypnutí zbytečných služeb:

    • sudo /lib/systemd/systemd-sysv-install disable owftpd
    • sudo /lib/systemd/systemd-sysv-install disable owhttpd

    PS2: vytvoření aliasů (pojmenování) pro jednotlivé senzory

    • do konfiguračního souboru /etc/owfs.conf vložíme řádek
      • alias = /etc/owfs_alias
    • vytvoříme soubor /etc/owfs_alias a naplníme jej
      • 28.FF4A53811605FC = Obyvak
      • 28.FFA88BA0160587 = Loznice
    • restartujeme službu OW
      • sudo /etc/init.d/owserver restart

    Permanent link to this article: http://www.elvisek.cz/2017/11/raspi-teplomer-ds18b20-pres-i2c-1wire/

    Lis 24 2017

    RasPi – spouštění z SSD (nebo jiného USB media)

    Pro spouštění RasPi (verze 1, 2 a Zero) máme jedinou možnost – microSD karta (pokud máme RasPi 3, tak ta už podporuje boot z USB).

    Mno, to ale není úplně pravda, můžeme si pomoci jedním hackem. Spouštění probíhá přes DOSovský zavaděč, který leží na první partition (FAT32) microSD karty o velikost asi 60MB. Za ní je druhá, již linuxová klasická, partition ext4.

    Důvod: asi je jasný, ale kdo by náhodou … je to životnost SD karty, resp. počet zápisů má zde své limity. Pokud na této kartě běží systém, který často zapisuje (např. databáze MySQL), je životnost cca 1/4 roku.

     

    A zde můžeme tedy použít následující trik. MicroSD kartu budeme i nadále potřebovat, ale jen při bootování, ostatní práci přenecháme na disku.

    😈 Zazálohujte si data na microSD kartě i USB disku. Pokud o ně přijdete, je to jen a jen vaše chyba! 😈

      • nejprve si zjistíme, jak jsou disky identifikovány systémem – lsblk

    • sda je SSD disk připojený přes USB a mmcblk0 je microSD
    • teď máme dvě možnosti – čistá instalace nebo klonování stávajícího systému
    • čistá instalace:
      • Pro/Proti : rychlé nasazení, čistý systém. bez konfigurace a dat
      • stáhneme image z raspberrypi.org, rozbalíme zip a zapíšeme na SSD – sudo dd bs=4M status=progress conv=fsync if=raspbian-stretch-lite.img of=/dev/sda
    • klonování stávajícího systému:
      • Pro/Proti:  stejná konfigurace a data. extra pomalé vytváření klonu
      • je doporučováno zjistit si aktuální velikost block – sudo fdisk -l /dev/mmcblk0 a ten použít při následujícím příkazu bs=512
      • celou stávající microSD naklonujeme na SSD – sudo dd status=progress bs=512 if=/dev/mmcblk0 of=/dev/sda
    • a už jen upravíme cmdline.txt (nachází se na microSD v /boot), kde změníme v parametru novou cestu na ext4 partition, která obsahuje systém s daty na SSD – root=/dev/sda1
    • pokud vše zafungovalo, po restartu RasPi nám naběhnul v pořádku systém z SSD
    • volitelně můžeme vyčistit microSD – ponecháme pouze boot partition FAT32 (LBA)

    Permanent link to this article: http://www.elvisek.cz/2017/11/raspi-spousteni-z-ssd/