29.07.2016, 15:25 | #11 |
Member
Регистрация: 27.08.2015
Сообщений: 54
Вес репутации: 0 |
Re: Openwrt+Arduino+LCD
и да при ристарте роутера выводит много всякой инфы которую потом сложно прочесть пиксели путуються аж
но судя по всему это выводит инфу о включении |
29.07.2016, 17:25 | #12 |
Member
Регистрация: 27.08.2015
Сообщений: 54
Вес репутации: 0 |
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 |
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599 |
Re: Openwrt+Arduino+LCD
А зачем к LCD с платой i2c еще и через Arduino подключать
Здесь, по i2c не получилось через пины от 232 подключить?? Подправить скрипт, что бы не в порт (232) отправлял, а писал в фаил. А прога фаил сама будет читать. |
02.08.2016, 06:32 | #14 | |
Member
Регистрация: 27.08.2015
Сообщений: 54
Вес репутации: 0 |
Re: Openwrt+Arduino+LCD
Цитата:
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|