среда, 12 марта 2014 г.

Математика в линукс

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Mac-n-Cheese:~ nicolas$ echo "2/3" | bc
0
Mac-n-Cheese:~ nicolas$ echo "scale=2; 2/3" | bc
.66
Mac-n-Cheese:~ nicolas$ echo "(2/3)+(7/8)" | bc
0
Mac-n-Cheese:~ nicolas$ echo "scale=2;(2/3)+(7/8)" | bc
1.53
Mac-n-Cheese:~ nicolas$ echo "scale=4;(2/3)+(7/8)" | bc
1.5416
Mac-n-Cheese:~ nicolas$ echo "scale=6;(2/3)+(7/8)" | bc
1.541666
Mac-n-Cheese:~ nicolas$ echo "(2/3)+(7/8)" | bc -l
1.54166666666666666666

1
2
Mac-n-Cheese:~ nicolas$ bc -l <<< "(2/3)+(7/8)"
1.54166666666666666666

среда, 5 марта 2014 г.

Опредиление размера файла

#!/bin/sh +e
export daten=`date -d "-1 day" +"%d.%m.%Y"`
export monthe=`date +%m`
ls -l /root/Dropbox/logs/00/$monthe/LOG_TEMP_00_$daten.txt | awk '{ print $5 }'
Отправка прикрепленого файла
echo "This is the message body" | mutt -a ~/dan -s "subject of message" -- gordan1987@inbox.ru
File list to array
fileItemString=$(cat  /root/list |tr "\n" " ")
fileItemArray=($fileItemString)
echo ${fileItemArray[*]}
Length=${#fileItemArray[@]}
echo $Length
Определение состояния датчиков
#!/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[@]}
for (( Nomer=1; Nomer<$Length; Nomer++ ))
do
export size=`ls -l /root/Dropbox/logs/0$Nomer/$monthe/LOG_TEMP_"0$Nomer"_$daten.txt | awk '{ print $5 }'`
if [ $size -lt ${fileItemArray[0]} ];
then
      echo "$Nomer - Не работает скрипт"
else
    if [ $size -eq ${fileItemArray[0]} ];
then
echo "$Nomer - Не работает датчик"
else
if [ $size -lt ${fileItemArray["$Nomer"]} ];
then
echo "$Nomer - Нет всех данных"
else
if [ $size -ge ${fileItemArray["$Nomer"]} ];
then
echo "$Nomer - Все работает"
fi
fi
fi
fi
done



четверг, 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"