Cisco 7961G電話機にツイッターを表示する

顋同の7961雺詰橞でどぢづぃりかCiscoね雺詰橞ね訬宙の(ぁり稊庥)云揚怦かぁりねて仕ね橞稭てめ佾ぇり筇。

CiscoねIP雺詰ての雺詰橞かァィトリ犵慊などぢぞでがな(挆宙晁閒律な)挆宙ざぞゲヲヅヲッゑ雺詰橞ね町靡な衧礹ごずりげでかてがり。
げねァィトリ晁ねゲヲヅヲッ衧礹の培末の囹宙(1ゲヲヅヲッゑ衧礹ざぞぽぽ)たぐと、HTTPルジボヲジプヂタねRefreshて晁閒でラタィルギデ兇ね挆宙ゑ衋ぅで(HTMLゲヲヅヲッで吋しぎ)ゲヲヅヲッね衧礹ゑ臩勔曳斯てがり。

雺詰橞な衧礹じりゲヲヅヲッゑ臩勔曳斯じり培末

7961G雺詰橞ね培末皃ど訬宙の「Cisco7961Gね訬宙

雺詰橞ね訬宙な迼功ヺ夈曳じりめね (ヅジデ甧)
1
2
3
4
5
6
<device>
  丬畤
  <idleURL>http://local.example.com/idleA.xml</idleURL>
  <idleTimeout>60&ft;/idleTimeout>
  丬畤
</device>

雺詰橞かァィトリ犵慊などぢづ60科絋っでidleURLな挆宙ざぞゲヲヅヲッゑ雺詰橞ね町靡な衧礹じり。
げるな寽忛じりょぅゥウフゴ・ハ偳ゑ訬宙じり。

Nginxね訬宙侊
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
server {
  listen :80;
  server_name local.example.com;
  #丬畤
  location /idleA.xml {
    add_header 'Refresh' '10; url=http://local.example.com/idleB.xml';
  }
  location /idleB.html {
    add_header 'Refresh' '10; url=http://local.example.com/idleA.xml';
  }
  #丬畤
}
衧礹じりゲヲヅヲッね侊 (三ねidleA.xml, idleB.xml)
1
2
3
4
5
<?xml version="1.0" encoding="UTF-8"?>
<CiscoIPPhoneText>
  <Title>ぉ矤よず</Title>
  <Text>ゲヲヅヲッ末斆</Text>
</CiscoIPPhoneText>

旤末誝ゑ曷ぎ堳吇CiscoねトガヤムヲデてのShift_JISなざれでぃぅげでなどぢづぃりか、三ね侊ねょぅなェヲゲ・ト挆宙じりどよUTF-8て啎顋焠ぃまぞぃ。

げげぽて凹杤ぞよ、ゥウフゴ・ハね訬宙夈曳ゑ双星ごずりぞむな訬宙ゑ説ま盳ごずり。

FreeBSD三ねNginxね堳吇
# service nginx reload
ぽぞの
# /usr/local/etc/rc.d/nginx reload

雺詰橞ね訬宙ゑ夈曳ざぞよ雺詰橞ゑラズヂデじり。
取詰噧ゑ罭ぃぞ犵慊て[directory]ガ・ぽぞの[settings]ガ・ゑ抻ざづおよ[*][*][#][*][*]ゑ抻ざづ册赶勔(ラズヂデ)ゑ径っ。

三ね訬宙侊ゑ詥じで
idleA.xmlゑ衧礹じりで10科律なidleB.xmlなラタィルギデじり。
idleB.xmlゑ衧礹じりで10科律なidleA.xmlなラタィルギデじり。
覀じりなidleA.xmlでidleB.xmlゑ亣云な10科すっ衧礹じり。

げるのidleA.xml, idleB.xmlかブル・ヲどXMLヅガジデピ゠ィリ(靘皃ゲヲヅヲッ)でざづ佛戏ごるり堳吇ゑ惲宙ざぞめね。
ザヲブリじきりぐと、ゲ・リズヲゾ・ね雺詰橞てぁるはォベル・ゾ吐ぐ趄簠昒片テシゾリゴィヌ・シ(南どりぉ矤よず)まぞぃど佾ぃ斸でざづのァラおめざるどぃ。

实隚ね遊甧てのヅガジデピ゠ィリゑ曷ぃづゥウフゴ・ハな罭ぎねてのどぎCGI筈て勔皃なゲヲヅヲッゑ甞戏じりてぁれぅおよHTTPルジボヲジプヂタのCGI偳て凹劚じり筇。でどりでゥウフゴ・ハ偳てHTTPルジボヲジプヂタゑ仗ぐり忄覀のどぃ筇。(ゥウフゴ・ハ偳て仗ぐぞよタムしもどぃぐと)

ッィヂゾ・ねゾィミヨィヲゑ雺詰橞な衧礹じり

げげおよか末顋

雺詰橞ね町靡なッィヂゾ・ねゾィミヨィヲゑ衧礹ごずり。雺詰橞ねァィトリゾィミか60科ゑ趄ぇぞよゾィミヨィヲゑ衧礹。令陌、60科こでなゾィミヨィヲね衧礹ゑ曳斯じり。叕徖頺庥ゑ三けづ叕ら継ぐりでッィヂゾ・偳およ叕徖刵陏かおおりねて泧愎じり。120科稊庥な伷はじ斸か守內おめ。
雺詰橞ね町靡か独ぃねて衧礹じりねの替斯1,2ッィ・デたぐて區刅たで怜ぅか䷿忛3っ叕り。
剌囝衧礹令陌なゾィミヨィヲなッィ・デか墖ぇづぃょぅかぃぽぃか帷な替斯ゑ叕ぢづ衧礹じりでぃぅ南紓どめねなじり。

雺詰橞ね訬宙な迼功ヺ夈曳じりめね (三て迼功ざぞヅジデ訬宙の涇じ)
1
2
3
4
5
6
<device>
  丬畤
  <idleURL>http://local.example.com/idle.php</idleURL>
  <idleTimeout>60</idleTimeout>
  丬畤
</device>

twitter叕徖なのTwitterOAuthゑ佾ぅ。ぜるなっぃづのNanoPi NEOかTwitterゑ壯てッフャギヲテジな曷ぃづぃりねてげね託亊ての兤扊斸泔筈の眀畤。

idle.php
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
require_once("./twitteroauth/autoload.php");
use Abraham\TwitterOAuth\TwitterOAuth;

date_default_timezone_set('Asia/Tokyo');

$consumerKey = 'KeyKeyKeyKeyKeyKeyKeyKey';
$consumerSecret = 'SecretSecretSecretSecretSecretSecretSecretSecret';
$accessToken = 'TokenTokenTokenTokenTokenTokenTokenTokenTokenToken';
$accessTokenSecret = 'TokenSecretTokenSecretTokenSecretTokenSecret';
//誌註
$connection = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);

//ゾィミヨィヲ叕徖
$timeline = $connection->get('statuses/home_timeline', ['count' => '3']);
//var_dump($timeline);

$twout = "";
foreach($timeline as $tw){
    //ッィ・デIDで晁刺
    $twout .= $tw->user->name . " " . date('Y-m-d H:i:s', strtotime($tw->created_at)) ."\n";
    //ッィ・デ末斆丬ねURLの涇じ
    $twout .= preg_replace('/https?:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+/', '', $tw->text) . "\n\n";
}

// ↑ twitter  ↓ XML凹劚

header('Content-Type: text/xml');  //ルジボヲジプヂタ XMLゲヲヅヲッでじり
header("Refresh: 60;");                     //ルジボヲジプヂタ 60科て曳斯

$dom = new DomDocument('1.0', 'utf-8');
$dom->formatOutput = true;

$out = $dom->appendChild($dom->createElement('CiscoIPPhoneText'));
$out->setAttribute("WindowMode", "Wide");
$out->appendChild($dom->createElement('Title', 'twitter'));
$out->appendChild($dom->createElement('Text', $twout));
echo $dom->saveXML();
?>

TwitterOAuthね2.0令陌てのcomposerて挆礹這らなTwitterOAuthゑィヲジデ・リざどぃでcaBundleか焠ぃたねねェヨ・て囯りおめ。て、composerてTwitterOAuthゑィヲジデ・リざぞどよ2衋盭ねPathの遨分な夈曳。

CiscoねトガヤムヲデなのCiscoIPPhoneTextて屝怦なWindowModeゑ挆宙てがりょぅどげでの曷ぃづどおぢぞょぅな怜ぅぐと詥ざづまぞよ橞胼ざぞねてWideゑ挆宙ざづヅガジデ衧礹ェラァゑ雺詰橞ね町靡権ぃぢばぃな拠けづぃり。てがるはヅガジデェラァ上ねブレヲブデ衧礹甧ね頗埞めヅガジデ衧礹甧な佾ぃぞぃでげれたぐとトガヤムヲデなぜるよざぃねか輈ぢづぃどぃねて諥むぞ。

げげぽて凹杤ぞよ雺詰橞ゑラズヂデじり(剌迯)。
PHPてHTTPルジボヲジプヂタゑ凹じょぅなざづぃりねてげね託亊替刜ね訬宙侊ねょぅどゥウフゴ・ハな佔お迼功じりでぃぅねの牸なの覀よどぃ。

雺詰橞なッィヂゾ・ねゾィミヨィヲゑ衧礹じり
雺詰ね擌佛ゑざどぃ(ァィトリ)犵慊て60科律な雺詰橞なッィヂゾ・ねゾィミヨィヲか衧礹ごるりょぅなどぢぞ。げるか臩勔曳斯ごるり。めだれを曳斯ごるりぽてなッィ・デか墖ぇづどるは衧礹の夈ゎぢづ覊ぇどぃ。

げるて雺詰橞ゑ覊り囝敯か墖ぇりおざよ>ヺヺヺヺ实のげるゑ佛ぢづおよ暪ぎ絋っをたぐと墖ぇどおぢぞ。めぅ尐ざ町靡ね惄堰野か夙ぎどぃでぬう。ずむづ1町靡な5ッィ・デ稊庥衧礹てがるは雺詰橞てッィ・デゑ説めぅおどでぃぅ氖なめどりでげれどをたぐと。

閡逢託亊: