Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.07.2016, 15:25   #11
Сергей В
Member
 
Регистрация: 27.08.2015
Сообщений: 54
Вес репутации: 0
Сергей В is a name known to allСергей В is a name known to allСергей В is a name known to allСергей В is a name known to allСергей В is a name known to allСергей В is a name known to all
По умолчанию Re: Openwrt+Arduino+LCD

и да при ристарте роутера выводит много всякой инфы которую потом сложно прочесть пиксели путуються аж
но судя по всему это выводит инфу о включении
Сергей В вне форума   Ответить с цитированием
Старый 29.07.2016, 17:25   #12
Сергей В
Member
 
Регистрация: 27.08.2015
Сообщений: 54
Вес репутации: 0
Сергей В is a name known to allСергей В is a name known to allСергей В is a name known to allСергей В is a name known to allСергей В is a name known to allСергей В is a name known to all
По умолчанию Re: Openwrt+Arduino+LCD

Вот может кто-то до ума доведет потом, а так выкладываю рабочий вариант
Код:
#!/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
Сергей В вне форума   Ответить с цитированием
Старый 30.07.2016, 21:14   #13
melsem
Moderator
 
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599
melsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud of
По умолчанию Re: Openwrt+Arduino+LCD

А зачем к LCD с платой i2c еще и через Arduino подключать

Здесь, по i2c не получилось через пины от 232 подключить??
Подправить скрипт, что бы не в порт (232) отправлял, а писал в фаил. А прога фаил сама будет читать.
melsem вне форума   Ответить с цитированием
Старый 02.08.2016, 06:32   #14
Сергей В
Member
 
Регистрация: 27.08.2015
Сообщений: 54
Вес репутации: 0
Сергей В is a name known to allСергей В is a name known to allСергей В is a name known to allСергей В is a name known to allСергей В is a name known to allСергей В is a name known to all
По умолчанию Re: Openwrt+Arduino+LCD

Цитата:
Сообщение от melsem Посмотреть сообщение
А зачем к LCD с платой i2c еще и через Arduino подключать

Здесь, по i2c не получилось через пины от 232 подключить??
Подправить скрипт, что бы не в порт (232) отправлял, а писал в фаил. А прога фаил сама будет читать.
За тем что в скетче можно дописать и сделать гораздо больше полезных функций чем через обычный скрипт)
Сергей В вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 12:13. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика