![]() |
|
|
#11 |
|
Member
Регистрация: 27.08.2015
Сообщений: 54
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() |
и да при ристарте роутера выводит много всякой инфы которую потом сложно прочесть пиксели путуються аж
но судя по всему это выводит инфу о включении |
|
|
|
|
|
#12 |
|
Member
Регистрация: 27.08.2015
Сообщений: 54
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() |
Вот может кто-то до ума доведет потом, а так выкладываю рабочий вариант
Код:
#!/bin/sh
wget http://xml.meteoservice.ru/export/gismeteo/point/37.xml -O /root/37.xml
port="/dev/ttyS0"
lcdWrite() {
#Вывод на экран
echo -n "^"${1}:$2 > $port
}
lcdClear() {
#Очистка экрана
echo -n "^c:" > $port
}
lcdScreenSaver() {
#Запуск заставки
echo -n "^s:" > $port
}
WidgetLoad() {
#Отображение загрузки процессора
s=`/usr/bin/uptime`
s2=":"
for i in 1 2 3 4 5 6
do #Удаляем всё лишнее до последнего двоеточия
n=`expr index "$s" "$s2"`
s="${s:$n}"
done
s="${s:1}" #Удаляем первый символ (пробел)
lcdClear
lcdWrite 0 "CPU"
lcdWrite 1 "$s"
}
WidgetUptime() {
#Аптайм роутера
set `/usr/bin/uptime`
lcdClear
lcdWrite 0 "Uptime"
lcdWrite 1 "$3 ${4/,/}"
}
WidgetRAM() {
#Свободная память
set `free | grep "Mem:"`
lcdClear
lcdWrite 0 "RAM (KB)"
lcdWrite 1 "U:$3 F:$4"
}
WidgetHDD() {
#Свободное место в SDA
set `df -h | grep "/dev/sda1"`
lcdClear
lcdWrite 0 "HDD"
lcdWrite 1 "U:$3 F:$4"
}
WidgetDateTime() {
#Дата и время
set `date`
lcdClear
lcdWrite 0 "Date:$3 $2 $6"
lcdWrite 1 "Time:$4"
}
WidgetWeather() {
#Погода
set `cat /root/37.xml | grep "TEMPERATURE"`
lcdClear
lcdWrite 0 "Temp (Morning)"
ind=`expr index "$6" "/>"` #определяет позицию "/>" в строке
ind=`expr $ind - 1` #отнимаем единицу
k=`expr substr "$6" 1 $ind` #в переменную k записываем часть строки до "/>"
lcdWrite 1 "${k/min/Mn} ${5/max/Mx}"
sleep 5
lcdClear
lcdWrite 0 "Temp (Day)"
ind=`expr index "$9" "/>"` #определяет позицию "/>" в строке
ind=`expr $ind - 1` #отнимаем единицу
k=`expr substr "$9" 1 $ind` #в переменную k записываем часть строки до "/>"
lcdWrite 1 "${k/min/Mn} ${8/max/Mx}"
sleep 5
lcdClear
lcdWrite 0 "Temp (Night)"
ind=`expr index "$12" "/>"` #определяет позицию "/>" в строке
ind=`expr $ind - 1` #отнимаем единицу
k=`expr substr "$12" 1 $ind` #в переменную k записываем часть строки до "/>"
lcdWrite 1 "${k/min/Mn} ${11/max/Mx}"
sleep 5
}
#Main script
while [ : ]
do
WidgetUptime
sleep 5
WidgetLoad
sleep 5
WidgetRAM
sleep 5
WidgetHDD
sleep 5
WidgetDateTime
sleep 5
WidgetWeather
done
|
|
|
|
|
|
#13 |
|
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 601 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
А зачем к LCD с платой i2c еще и через Arduino подключать
![]() Здесь, по i2c не получилось через пины от 232 подключить?? Подправить скрипт, что бы не в порт (232) отправлял, а писал в фаил. А прога фаил сама будет читать. |
|
|
|
|
|
#14 | |
|
Member
Регистрация: 27.08.2015
Сообщений: 54
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
|
|
|
|
|
![]() |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|