четверг, 17 октября 2013 г.

Установка и настройка Raspbian(Debian) на Raspberry Pi с нуля

Для установки Debian на Raspberry Pi нам понадобятся:
-4Gb SD-карта(и карт ридер для записи ОС на карту)-HDMI кабель Hama(или S-video кабель)
-Ethernet-кабель (желательно с прямым доступом в интернет через роутер или подсоединенный напрямую к компьютеру)
-USB клавиатура

В качестве ОС для Raspberry была выбрана Raspbian (сборка сделана на основе Debian). Данная ОС широко описана в интернете, а также оптимизирована специально для RPi. Образ ОС можно скачать с официального сайта: ссылка на последнюю сборку. Образ заархивирован в ZIP, сам имеет расширение IMG. Его необходимо разархивировать.
Также, потребуется утилита Win32DiskImager, запустить которую необходимо с правами администратора.



Устанавливаем вашу SD карту в кард-ридер, смотрим в Проводнике, какую букву она получила в системе (чтобы ненароком не затереть данные на другом носителе).
В программе Win32DiskImager выбираем скачанный ранее образ Raspbian, выбираем нужную букву носителя и жмем Write. На предложенное предостережение отвечаем “Yes”.
Пойдет процесс заливки ОС на карту и разбиения ее на разделы:
Процесс закончится сообщением об успехе:
Теперь необходимо немного подредактировать файл config.txt в корне карты памяти – это конфигурационный файл системы для Raspberry Pi. Обратите внимание, что приведенные мною настройки актуальны для ЖК мониторов с разрешением экрана 1920*1080.

Следует раскомментировать параметр disable_overscan=1 (если Вы не планируете использовать S-video выход).
Советую также установить фиксированное разрешение, для этого раскомметруйте строки hdmi_group и hdmi_mode. Значение параметра hdmi_mode следует изменить в соответствии с таблицей, которая приведена тут (также, по этой ссылке приведены другие параметры, которые, возможно, будут Вам полезны). Например, для монитора с разрешением 1920*1080 следует написать hdmi_mode=16.

Не забываем сохранить изменения, отсоединяем SD-карту и вставляем ее в Raspberry Pi.
Подключаем к плате питание и видим на мониторе процесс загрузки, который нас (во всяком случае — пока) мало интересует.
При первой загрузке автоматически будет запущена программа настройки системы raspi_config:



  • Выполняем команду Expand Filesystem, которая расширит root раздел на всю SD-карту.
  • Затем, входим в раздел Change User Password устанавливаем новый пароль для пользователя pi (обратите внимание, что вводимые символы не отображаются вообще, даже в виде звездочек!).
  • Enable Boot to Desktop/Scratch - выбор между загрузкой на рабочий стол(графическая среда) или командную строку
  • Устанавливаем дополнительные локальные настройки с помощью пункта International Options 




  • Устанавливаем дополнительные локальные настройки в пункте Change Locale (я не стал этого делать и оставил по умолчанию — en_GB UTF8).
  • Устанавливаем часовой пояс (Change Timezone). Например, если Вы живете в Киеве, необходимо найти пункт Europe, а в нем — Kiev
  • Входим в раздел Change Keyboard Layout и устанавливаем наиболее подходящий тип клавиатуры. 
  • Enable Camera подключение поддержкы веб-камеры
  • Add to Rastrack регистрация Raspberry Pi в проекте Rastrack
  • Overclock разгон процессора, памяти, видео чипа Raspberry Pi. Ниже приведены режимы разгона(!!! Учтите что чем выше частота тем больше греется процессор)



  • Advance Options дополнительные опции настройки



  • Оverscan включение/отключени расширенной развертки.
  • Hostname задание имя хоста(можно оставить без изменения)
  • Memory Split устанавливаем в соотвествии с собственным желанием, рекомендую отвести под video – 32Mb, если планируете пользоваться графическим интерфейсом.
  • SSH активирует протокол удаленного управления SSH(Обязательно активируем !)
  • SPI включение/отключени поддержки SPI.
  • Update обновление компонентов ОС.

  • В конце нажимаем [CTRL]+[F] и выбираем пункт Finish, соглашаясь на перезагрузку устройства.

    Когда перезагрузка будет завершена, Вы увидите приглашение на ввод имени пользователя и пароля. Имя пользователя — pi, пароль Вы установили во время настройки системы Raspbian.

    На этом установка и первичная настройка системы завершена!

    Дальше будет рассмотрена установка основных компонентов для работы с Raspberry Pi.







    среда, 16 октября 2013 г.

    Выставление даты и время в Rpi(Raspberry Pi)

    В командной строке Linux(debian) прописать:
    date MMDDHHmmYYYY.ss
    где
    MM - месяц
    DD - день
    HH - час
    mm - минута
    YYYY - год
    ss - секунда
    Пример выставление даты:
    date 101612002013.00
    что соответствует:
    Wed Oct 16 12:00:00 EEST 2013

    суббота, 14 сентября 2013 г.

    wr741

    tftpboot 0x80000000 factory-to-ddwrt.bin
    erase 0x9f020000 +0x3c0000
    cp.b 0x80000000 0x9f020000 0x3c0000
    bootm 0x9f020000

    cd /tmp
    wget ftp://192.168.1.100/Temp/tplink.bin
    dd-wrt : mtd -e linux -r write /tmp/tplink.bin linux
    openwrt : mtd -r write /tmp/tplink.bin firmware

    make image PROFILE=TLWR741 PACKAGES="base-files busybox dnsmasq dropbear firewall hotplug2 iptables iw jshn kernel kmod-ath kmod-ath9k kmod-ath9k-common kmod-cfg80211 kmod-crypto-aes kmod-crypto-arc4 kmod-crypto-core kmod-gpio-button-hotplug kmod-ipt-conntrack kmod-ipt-core kmod-ipt-nat kmod-ipt-nathelper kmod-leds-gpio kmod-ledtrig-default-on kmod-ledtrig-netdev kmod-ledtrig-timer kmod-lib-crc-ccitt kmod-mac80211 kmod-nls-base kmod-wdt-ath79 libblobmsg-json libc libgcc libip4tc libiwinfo libiwinfo-lua libjson liblua libnl-tiny libubox libubus libubus-lua libuci libuci-lua libxtables lua luci luci-app-firewall luci-i18n-english luci-lib-core luci-lib-ipkg luci-lib-nixio luci-lib-sys luci-lib-web luci-mod-admin-core luci-mod-admin-full luci-proto-core luci-sgi-cgi luci-theme-base luci-theme-openwrt mtd netifd opkg swconfig uboot-envtools ubus ubusd uci uhttpd wpad-mini kmod-tun liblzo zlib libopenssl openvpn terminfo libncurses nano luci-i18n-russian luci-theme-bootstrap"


    вторник, 9 июля 2013 г.

    Temperature

    options.series[0] = json[1];
    нужно добавить счетчик сколько датчиков мне показать (сделать цикл)

    структура базы данных
    Солар-имя датчика- показания - дата

    Солар-айпи сервера-где находиться- айди
    солар-айди- серийный номер датчика- где находиться

    пятница, 5 июля 2013 г.

    1-wire Rpi

    ### BEGIN INIT INFO
    # Provides: myscript
    # Required-Start: $local_fs $remote_fs $network
    # Required-Stop: $local_fs $remote_fs $network
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: Start daemon at boot time
    # Description: Enable service provided by daemon.
    ### END INIT INFO


    case "$1" in
    start) echo -n "Start services"
    modprobe w1-gpio
    modprobe w1-therm
    ;;
    stop) echo -n "Stop services"
    ;;
    restart)
    $0 stop
    $0 start
    ;;
    *) echo "Usage: $0 start|stop|restart"
    exit 1
    ;;
    esac
    exit 0


    update-rc.d wire start 70 2 3 4 5 . stop 20 0 1 6 .

    четверг, 13 июня 2013 г.

    raspberry pi power consumption control


    Power Up
    #! /bin/sh
    sudo sh -c "echo 1 > /sys/devices/platform/bcm2708_usb/buspower"
    sudo sh -c "sleep 1"
    sudo sh -c "ifup eth1"
    sudo sh -c "echo 'up' >> /var/www/log"
    sudo sh -c "date >> /var/www/log"

    Power Down

    #! /bin/sh
    sudo sh -c "ifdown eth1"
    sudo sh -c "sleep 1"
    sudo sh -c "echo 0 > /sys/devices/platform/bcm2708_usb/buspower"
    sudo sh -c "echo 'down' >> /var/www/log"
    sudo sh -c "date >> /var/www/log"

    вторник, 28 мая 2013 г.

    размер файла как еврестический показатель

    размер файла пустого - только дата и время - 5,184 байт если размер меньше даного значит проблемы со скриптом
    размеры нормальных файлов со 100 наличеем
    1 - 31,680 байт
    2 - 25,056 байт
    3 - 11,808 байт
    4 - 11,808 байт
    5 - 11,808 байт
    6 - 25,056 байт
    7 - 11,808 байт
    8 - 11,808 байт
    9 - 44,928 байт
    при минусовой температуре возможно увлечение размера за счет наличия знака и если больше размер идеального значить все ок
    если размер меньше идеального но больше минимального значит не все датчики работали
    один датчик 23 байта + 18 байт дата и время
    строк 288

    #!/bin/sh +e
    export daten=`date -d "-1 day" +"%d.%m.%Y"`
    export monthe=`date +%m`
    fileItemString=$(cat  /root/list |tr "\n" " ")
    fileItemArray=($fileItemString)
    Length=${#fileItemArray[@]}
    export size=`ls -l /root/Dropbox/logs/04/$monthe/LOG_TEMP_04_$daten.txt | awk '{ print $5 }'`
    if [ $size -lt ${fileItemArray[0]} ];
    then
          echo "Не работает скрипт"
    else
        if [ $size -eq ${fileItemArray[0]} ];
    then
    echo "Не работает датчик"
    else
    if [ $size -lt ${fileItemArray[2]} ];
    then
    echo "Не работает датчик или скрипт"
    else
    if [ $size -ge ${fileItemArray[2]} ];
    then
    echo "Все работает"
    fi
    fi
    fi
    fi

    суббота, 4 мая 2013 г.

    linux if

    [ ARG1 OP ARG2 ] "OP" это один из следующих параметров -eq, -ne, -lt, -le, -gt or -ge. Эти бинарные арифметические операторы возвращают результат "правда" если "ARG1" эквивалентен(-eq), не эквивалентен(-ne), меньше чем(-lt) меньше или эквивалентен(-le), больше чем(-gt), больше или эквивалентно(-ge) к "ARG2".
    -z # строка пуста
    -n # строка не пуста
    =, (==) # строки равны
    != # строки неравны
    -eq # равно
    -ne # неравно
    -lt,(< ) # меньше
    -le,(<=) # меньше или равно
    -gt,(>) #больше
    -ge,(>=) #больше или равно
    ! #отрицание логического выражения
    -a,(&&) #логическое «И»
    -o,(||) # логическое «ИЛИ»

    INSERT INTO measuring VALUES('286144A80300004D','27.75',CURRENT_DATE,CURRENT_TIME)


    точный размер файла
     du -sb /var/www/kma_temp/logs/00/01/LOG_TEMP_00_01.01.2013.txt|cut -f1