LINUX.ORG.RU

Вывод системной информации на ЖК

 , , , ,


2

1

Ради интереса к атмеге присандалил 16x2, настроил UART, создал протокол приема-передачи и вывода, чтобы не переполнялось, красиво съезжало вбок если нужно и так далее. И хотя стыдно показывать в текущем состоянии это поделие, стало интересно как организовывают передачу на LCD важной информации с компьютера. Пока написал жуткого однострочного монстра, на которого даже смотреть страшно без фольги на голове:

[elemashine LCD]$ while true; do TEMP1=`sensors |grep temp1 |sed -e "s/^.*   //;s/°.*//;s/^/\x14\xf5CPU: /;s/$/\ C/"`; TEMP2=`uptime|sed -e "s/^ //;s/ .*$/\xf6/"`; echo -ne "$TEMP1    $TEMP2" > /dev/ttyUSB0;sleep 1; done;
И в свете этого лучезарного кода прошу подсказать, куда его еще улучшить, как бы вы сами написали вывод информации ежесекундно в порт, учитывая что у вас есть всего 32 символа и аж все полезняшки linux? Может на питоне, али на чистых си? Ну про перл молчу - на нем естественно это все красиво и так. Спасибо, товарищи!

★★★★★

И что собственно писали бы туда? Ну или пишете, мало ли как кто извращается

minakov ★★★★★
() автор топика

Если вопрос был: как то же самое выразить покороче, то вот мой вариант.

#!/bin/bash

while :; do
  TEMP1=`sensors | sed -ne '/ *temp1: */{s///;s/°.*$//;p;q}'`
  TIME=`date +%H:%M:%S`
  printf "\x14\xf5CPU: %s C    %s\xf6" "$TEMP1" "$TIME" > /dev/ttyUSB0
  sleep 1
done
unterwulf
()

куда его еще улучшить

Переписать на C.

И что собственно писали бы туда?

Ну, раньше, когда я не знал, что полезного сделать, я хотел запилить такую тумблерную полосу с индикаторами. Каждый тумблер отвечал бы за конкретный демон в ранлевелах boot или default. Сразу видно, если cupsd опять упал, при этом даже если меня дома нет, поднять его обратно сможет даже ребёнок, из минусов — ненужно, потому что само по себе ничего практически никогда не падает, а включать/выключать время от времени приходилось бы разве что rtorrentd. А потом я придумал какую более полезную вещь можно сделать.

Deleted
()

я бы сделал несколько выводов. т.е. несколько экранов по 32 символа. пихал бы инфу о температуре процессора, дисков, оставшееся место на дисках, может, еще какую-нибудь инфу.

А такое реально через какой-нибудь USB или на-крайняк COM сделать? тоже захотелось

bvn13 ★★★★★
()
Ответ на: комментарий от minakov

И что собственно писали бы туда?

Можно прикрутить туда индикатор свободного места на смонтированных разделах. И поскольку кулеры уже гудят, получится полный настольный аналог пылесоса.

blexey ★★★★★
()

А так как ты в последнее время учишься программировать. Сделай сервис управляемый через «именованный канал». Режимы работы подгляди выше по ссылке.

AlexVR ★★★★★
()
Ответ на: комментарий от bvn13

Да, чтобы не городить опасные для железяк переходники - есть ft232rl+любой дисплей с rx/tx. Есть такие в продаже, которые не нужно инициализировать и мучиться с выводом информации - шли в 232 и все(наверное). В любом случае, забабахать контроллер с разводкой на дисплей, оставить место в нем для полезного кода акромя вывода текста намного интереснее

minakov ★★★★★
() автор топика
Ответ на: комментарий от AlexVR

Спасибо, про сеть-то я и забыл!

minakov ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.