web-app: "Погода"
Goto page 1, 2, 3  Next
 
Libroom Forum IndexPocketBookPocketBook Free
AuthorMessage

transient
Кандидат в члены клуба The eBook

Кандидат в члены клуба The eBook



Joined: 10 Mar 2012
Posts: 310



Posted: 31.03.2015 13:14    

Веб-приложения

На Покетах есть интернеты, надо делать для них приложения!! Idea

Погода

Есть желание сделать веб-приложение (клиент) для быстрого и удобного доступа к одному из погодных сервисов. Открытые погодные сервисы выдают ответ обычно в xml- или иногда json-формате (файле), вполне доступных для обработки. В связи с этим есть три варианта, как сделать приложение.

1. Вариант для всех моделей Покетбуков с выходом в Интернет. Всю логику приложения задаем dash-скриптом. Выкачку делаем с помощью wget или curl, обработку xml-файла с помощью процессора xsltproc, я его когда-то выкладывал для Pro-Покетбуков (ну и всех дальнейших серий).

Это было здесь, правда с оберткой на Perl, но в целом там Perl был просто удобен, можно всё сделать на Bash:
libroom.net/viewtopic.php?t=28842

Превращаем его в html-файл и открываем Fbreader’ом или любой другой читалкой. В принципе, можно откомпилировать xslt-процессор c библиотеками и для ранних моделей. Но в этой идее есть пара «затыков»: как отслеживать например, из dash-скрипта загрузку файла, и более трудный затык, это написание xslt-шаблона для обработки. Этот язык придётся изучать, хоть он и не слишком трудный. В общем, тут пока мне интересно лишь изучение языка xslt, но могу помочь с компиляцией xslt-процессора.

2. Вариант для всех моделей от Pro- и выше (в том числе «без браузерных»). Написать небольшую прогу на Go, которая будет и выкачивать и парсить полученный xml-файл и передавать его в читалку для просмотра. В принципе, возможно сделать кросс-компилятор для Go и для более ранних моделей (это просто раньше в голову не приходило). Go линкует бинарники статически, поэтому готовый app легко распространять и использовать. Если есть желающие с Pro-моделями без qt-браузера на такое приложение, то можно на нём и остановиться для основы.

3. Вариант для современных моделей с qt-браузером. Тут можно либо не заморачиваться и просто ничего не писать, а использовать gismeteo.ru и Ко., либо сделать облегченный вариант браузера, специально заточенный для работы с погодой (и конкретным погодным сервисом). Его мне сделать не трудно, но наверно либо если будет много желающих, либо во вторую очередь.

Ну, как-то так…
 
View user's profile ^

VasilisKa
Член клуба The eBook

Член клуба The eBook



Joined: 31 Jan 2011
Posts: 3647


Location: Украина, г.Харьков

Posted: 31.03.2015 13:32    

transient wrote:
На Покетах есть интернеты

Shocked У вас в городе 100% покрытие Вай-фай? ИМХО смарт даже с edge выиграет.

ПС. может лучше какой-никай аудиоплеер сделать?
_________________
PB 903Pro[5.03.11] PB А7[28.02.12]
Lbook V3ext[29.05.08]
 
View user's profile ^

Antuan
Член клуба The eBook

Член клуба The eBook



Joined: 30 Sep 2009
Posts: 11643


Location: Киев

Posted: 31.03.2015 13:40    

VasilisKa wrote:
ПС. может лучше какой-никай аудиоплеер сделать?

Вот, но на сколько я понимаю он только для тачевых моделей поддерживает графический интерфейс, для остальных управление из командной строки.
_________________
PB 360° (v.15.3) | PB Pro 602 Grey (v.2.2.1a fastdrv) | PB A7 (v.1.3.1583) - подарок от PocketBook.
 
View user's profile ^

transient
Кандидат в члены клуба The eBook

Кандидат в члены клуба The eBook



Joined: 10 Mar 2012
Posts: 310



Posted: 31.03.2015 13:50    

VasilisKa wrote:
У вас в городе 100% покрытие Вай-фай? ИМХО смарт даже с edge выиграет.
Хм, у меня в квартире 100% покрытие, на работе тоже. Смарта у меня нет. С книжкой провожу времени больше чем с мобилкой и ноутом. Что я делаю не так? Кстати, я заметил, что здесь народ не торопится даже старые модели Покетов обновлять (у половины далеко не тачскрины, у некоторых даже 360-е), а вы про смарты...

VasilisKa wrote:
может лучше какой-никай аудиоплеер сделать?


дык делают вроде уже, зачем мешать??

libroom.net/viewtopic.php?t=29378

.


Last edited by transient on 31.03.2015 14:43; edited 2 times in total
 
View user's profile ^

pal
Член клуба The eBook

Член клуба The eBook



Joined: 08 Jan 2012
Posts: 1510



Posted: 31.03.2015 14:15    

Берете халявный хостинг без рекламы. Размещаете там 1 страничку с погодным информером. URL странички - в избранное (или стартовый ярлык для броузера).
_________________
Idea Кто хочет действовать, тот ищет возможности, кто не хочет — ищет причины.
 
View user's profile ^

transient
Кандидат в члены клуба The eBook

Кандидат в члены клуба The eBook



Joined: 10 Mar 2012
Posts: 310



Posted: 31.03.2015 14:19    

pal wrote:
Берете халявный хостинг без рекламы. Размещаете там 1 страничку с погодным информером. URL странички - в избранное (или стартовый ярлык для броузера).
Это хорошее решение, его гисметео и рекламирует. Вопрос — как это сделать тем, у кого такой странички нет, и тем у кого нет вменяемого браузера.

Ну и вы ж догадались поди, web-app не только погодные нужны людям. Это только так сказать, пилотный проект для отладки технологии Embarassed
 
View user's profile ^

pal
Член клуба The eBook

Член клуба The eBook



Joined: 08 Jan 2012
Posts: 1510



Posted: 31.03.2015 14:48    

transient wrote:
Вопрос — как это сделать тем, у кого такой странички нет, и тем у кого нет вменяемого браузера.


Халявный хостинг он бесплатный..
А воще подобную задачу я бы предложил решать системно. Через свой агрегатор новостей например Wink
_________________
Idea Кто хочет действовать, тот ищет возможности, кто не хочет — ищет причины.
 
View user's profile ^

JAW
Член клуба The eBook

Член клуба The eBook



Joined: 27 Sep 2004
Posts: 22894


Location: Северная столица

Posted: 31.03.2015 15:17    

Кстати вот агрегатор новостей это да, тема...
Правда там нужно усиленно парсеры писать, чтобы новости в удобоваримом формате были Sad
_________________
PocketBook: 301+,602(2.2.1a),701, A7, 701 IQ, A7, U7.
Fly: IQ 235
 
View user's profile ^

pal
Член клуба The eBook

Член клуба The eBook



Joined: 08 Jan 2012
Posts: 1510



Posted: 31.03.2015 15:34    

Зато все парсеры в одном месте, не нужно заморачиваться с обновлением у клиентов.
_________________
Idea Кто хочет действовать, тот ищет возможности, кто не хочет — ищет причины.
 
View user's profile ^

VasilisKa
Член клуба The eBook

Член клуба The eBook



Joined: 31 Jan 2011
Posts: 3647


Location: Украина, г.Харьков

Posted: 31.03.2015 16:16    

transient wrote:
Кстати, я заметил, что здесь народ не торопится даже старые модели Покетов обновлять (у половины далеко не тачскрины, у некоторых даже 360-е)

Дык рынок не сравним! Я второй год хочу купить новый ридер - предложений меня устраивающих нет!!
По поводу вай-фая: я живу в частном секторе, проводной инет это несбыточная голубая мечта, не то что вай-фай. У вас в России уже есть 4G, у нас только рожают 3G (про пипл-нет, укртелефон, мтс молчу - юзал). Может я не правильно живу?

transient wrote:
дык делают вроде уже, зачем мешать??

Альтернатива еще никому не повредила.
_________________
PB 903Pro[5.03.11] PB А7[28.02.12]
Lbook V3ext[29.05.08]
 
View user's profile ^

transient
Кандидат в члены клуба The eBook

Кандидат в члены клуба The eBook



Joined: 10 Mar 2012
Posts: 310



Posted: 31.03.2015 16:19    

pal wrote:
Халявный хостинг он бесплатный..

Много ли форумчан сделали себе халявных страничек? А читателей с читалок?

JAW wrote:
Кстати вот агрегатор новостей это да, тема...
Правда там нужно усиленно парсеры писать, чтобы новости в удобоваримом формате были Sad


Дык есть же штатный на Покете, не? Читалка RSS-лент?

VasilisKa wrote:
По поводу вай-фая: я живу в частном секторе, проводной инет это несбыточная голубая мечта, не то что вай-фай... Может я не правильно живу?
Когда у меня только EDGE или 3G, то я использую Huawei E355 (USB Mobile WiFi) маршрутизатор размером с флэшку и получаю удобный WiFi на всю квартиру/дачу/палатку, смотря где я обитаю, на всех. На счёт вашей жизни, это точно не ко мне.

VasilisKa wrote:
Альтернатива еще никому не повредила.
Программисты ленивы, идейны и суеверны: работает - не трогай(!); если задача ничему не учит, то зачем её делать(?); если пользователь не может написать свой аудиоплейер, наверно ему надо заплатить тому кто это сможет (я не про себя, если чё :о) ).
 
View user's profile ^

pal
Член клуба The eBook

Член клуба The eBook



Joined: 08 Jan 2012
Posts: 1510



Posted: 31.03.2015 16:51    

Вот вы хотите придумать некое приложение, которое будет получать из сети какой-то контент (похоже, я изобрел веб-броузер Laughing ). Контент нужно преобразовать в удобный для отображения вид. Это можно сделать прямо в приложении, а можно в некотором промежуточном сервисе. Промежуточный сервис удобнее тем, что если кроме погоды (которую вы хотите получать в xml) вздумается получать, например, информацию о траффике на дорогах - не нужно писать (и распространять) еще одно приложение. Достаточно расширить свой агрегатор.
Если чисто для себя, и хочется покодить - в читалке есть libcurl, libxml.. Wink
_________________
Idea Кто хочет действовать, тот ищет возможности, кто не хочет — ищет причины.
 
View user's profile ^

transient
Кандидат в члены клуба The eBook

Кандидат в члены клуба The eBook



Joined: 10 Mar 2012
Posts: 310



Posted: 31.03.2015 17:05    

pal, вы читаете мои мысли!! Very Happy

Сделать прямо в приложении — это удобно в qt-браузере. В нём есть всё необходимое, если чего нет, я могу добавить из Qt — по крайней мере в своём браузере myfancy я попробую сделать. Это был 3-й пункт моих "глубоких мыслей."

Теперь, внимание!! Вы ведь ещё угадали 2-ю и 1-ю мысль самого верхнего поста!! А если нету нормального браузера в Покете? Мы с вами (нет уж, тут я тож изобретатель!! Very HappyVery HappyVery Happy) делаем его! libcurl и libxml (читай второе будет стандартный линуксовый xsltproc, оно теперь тоже есть) это во-первых, а Golang, это во-вторых, дело вкуса, имхо.

Мы получаем инфу (как правило xml) и передаем её в читалку, для отображения. Как мы сделаем костыли (промежуточный сервис по вашему) — надо думать, мне нравится Go, вам — вы сами написали что. Насколько костыли, пардон, промежуточный сервис, получится универсальный (и сможет ли?), я пока не знаю.
 
View user's profile ^

zurbaganin
Зрелый участник форума

Зрелый участник форума



Joined: 08 Jul 2012
Posts: 29



Posted: 31.03.2015 21:32    

Кто бы мне прокси-сервер показал, чтобы через него огромные страницы превращать в усваиваемый для читалки формат. На счет удобно не удобно скажу: на читалке можно и фильмы с субтитрами смотреть, если фильм преобразовать в ряд картинок (1 час всего 3600 картинок).
_________________
PB622 (4.4.566)
 
View user's profile ^

pal
Член клуба The eBook

Член клуба The eBook



Joined: 08 Jan 2012
Posts: 1510



Posted: 31.03.2015 22:22    

http://habrahabr.ru/post/237259/ - пример прокси, модифицирующего траффик.
_________________
Idea Кто хочет действовать, тот ищет возможности, кто не хочет — ищет причины.
 
View user's profile ^

transient
Кандидат в члены клуба The eBook

Кандидат в члены клуба The eBook



Joined: 10 Mar 2012
Posts: 310



Posted: 01.04.2015 10:26    

Коллеги, мне тут другие коллеги (которые на работе рядом кофе пьют) подсказывают, что существует супер-мега-костыль, который можно запустить в режиме "типа прокси", и который получив URL, будет парсить, рендерить страничку прям как браузер и отдавать вам результат в виде картинки-скришота, который можно смотреть на самой устарелой Покет-книжке. Это Selenium/WebDrive. Однако он на Java, прожорлив, и обойтись бесплатным халявным VPS-хостингом вряд ли получится, да ещё и настройка/поддержка будет стоить Rolling Eyes

Мне кажется, что зачем создавать мега-велосипед, если создание адекватного клиента для конкретного сервиса и так выглядит не слишком сложной задачей??
 
View user's profile ^

transient
Кандидат в члены клуба The eBook

Кандидат в члены клуба The eBook



Joined: 10 Mar 2012
Posts: 310



Posted: 22.04.2015 09:58    

Я сделал вполне себе работающий прототип. Скачать и посмотреть здесь:

https://drive.google.com/file/d/0B2QTYrDfipLEQ1lWUTVDaFJzMUk/view?usp= sharing

Для работы предварительно необходимо установить wifi-соединение. Работать должен на любых версиях, начиная с Pro, 602, 622, 623 и т.п. Запускать пока лучше в потерме, чтобы узнать о возможных ошибках.

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

Клиент пока лишь скачивает (для фиксированного города Урюпинска), обрабатывает данные и создает файл res.html в той же самой директории с прогнозом погоды (трехчасовым на неделю), который потом можно посмотреть в любой читалке.

В ближайшем будущем:

1. клиент будет передавать файл на открытие читалке сам.
2. будет файл настроек, где можно указать требуемое местоположение, часовой пояс результата (сейчас, если его не указать, будет вычислен по координатам, т.е. астрономическое время)
3. будет возможность работать с прокси
4. будет возможность клиенту самому устанавливать wifi-соединение
5. Будет возможность сжатия траффика для экономии
6. GUI под большим вопросом.

Скриншот выложу следом позже
.


Last edited by transient on 22.04.2015 12:07; edited 1 time in total
 
View user's profile ^

pal
Член клуба The eBook

Член клуба The eBook



Joined: 08 Jan 2012
Posts: 1510



Posted: 22.04.2015 10:15    

Сжатие - зачем? Wink
_________________
Idea Кто хочет действовать, тот ищет возможности, кто не хочет — ищет причины.
 
View user's profile ^

transient
Кандидат в члены клуба The eBook

Кандидат в члены клуба The eBook



Joined: 10 Mar 2012
Posts: 310



Posted: 22.04.2015 11:29    

Избыточность передаваемого ответа огромна: во-первых xml, во-вторых там столько инфы приходит Rolling Eyes
- я например, только процентов 40 использовал.

Вот скрин:

 
View user's profile ^

pal
Член клуба The eBook

Член клуба The eBook



Joined: 08 Jan 2012
Posts: 1510



Posted: 22.04.2015 12:20    

Code:
curl -s http://api.openweathermap.org/data/2.5/weather?q=Kiev,UA|wc -c
468
curl -s http://api.openweathermap.org/data/2.5/weather?q=Kiev,UA|gzip|wc -c
315
expr 315 \* 100 / 468
67


Сферический ответ сферического погодного сервера жмется на 33 %.
Но.
Code:
11:09:50.625721 IP 188.226.254.208.80 > 192.168.2.104.49576: Flags [S.], seq 1134695136, ack 3359182665, win 65535, options [mss 1460,nop,wscale 3,sackOK,TS val 1512612390 ecr 1233310121], length 0
11:09:50.625739 IP 192.168.2.104.49576 > 188.226.254.208.80: Flags [.], ack 1, win 92, options [nop,nop,TS val 1233310121 ecr 1512612390], length 0
11:09:50.625925 IP 192.168.2.104.49576 > 188.226.254.208.80: Flags [P.], seq 1:188, ack 1, win 92, options [nop,nop,TS val 1233310121 ecr 1512612390], length 187
11:09:50.663445 IP 188.226.254.208.80 > 192.168.2.104.49576: Flags [P.], seq 1:780, ack 188, win 8326, options [nop,nop,TS val 1512612427 ecr 1233310121], length 779
11:09:50.663472 IP 192.168.2.104.49576 > 188.226.254.208.80: Flags [.], ack 780, win 116, options [nop,nop,TS val 1233310130 ecr 1512612427], length 0
11:09:50.663476 IP 188.226.254.208.80 > 192.168.2.104.49576: Flags [F.], seq 780, ack 188, win 8326, options [nop,nop,TS val 1512612427 ecr 1233310121], length 0
11:09:50.663680 IP 192.168.2.104.49576 > 188.226.254.208.80: Flags [F.], seq 188, ack 781, win 116, options [nop,nop,TS val 1233310130 ecr 1512612427], length 0
11:09:50.663870 IP 188.226.254.208.80 > 192.168.2.104.49576: Flags [.], ack 189, win 8325, options [nop,nop,TS val 1512612428 ecr 1233310130], length 0


Весь ответ сервера помещается в 1 пакет
Code:
11:09:50.663445 IP 188.226.254.208.80 > 192.168.2.104.49576: Flags [P.], seq 1:780, ack 188, win 8326, options [nop,nop,TS val 1512612427 ecr 1233310121], length 779


Так что именно в этом случае наличие/отсутствие сжатия не меняет совсем ничего Wink.

Хотя с вашей стороны тоже нет сложностей, достаточно использовать заголовок Accept-Encoding, http библиотека сама разберется что делать.
_________________
Idea Кто хочет действовать, тот ищет возможности, кто не хочет — ищет причины.
 
View user's profile ^
Libroom Forum IndexPocketBookPocketBook FreeAll times are GMT + 4 Hours
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© Libroom, 2021