SlideShare ist ein Scribd-Unternehmen logo
1 von 56
2015.03.04 Sapporo #hardware Meetup
http://connpass.com/event/11599/
廃品利用による低予算プロジェクト
簡易電話交換機の作成
自己紹介
 識別子 SIN/札幌ワークス
 Twitter @furuya02
 スタッフ CLR/H
 ブログ SIN@SAPPOROWORKSの覚書
 Microsoft MVP for Visual C# (2013/1~)
 フリーソフト BlackJumboDog
 BuildInsider Xamarin逆引きTips
簡易交換機
2台だけなので、「交換機では無い!」と言う突っ込みは可憐にスルーする
Purururu…
どちらかが、受話器を上げると、反対側の呼び出し音が鳴る
デモ
電源供給
電話機の電源は、交換機から供給されている
電源(3V~12V)
電流制限抵抗
電話機
電圧(V) 抵抗(Ω) 電流(mA) A機 B機
電力(mW)
計算値
3 220 13mA × × 39
3 150 20mA × × 60
3 100 30mA × × 90
5 220 23mA ○ △ 115
5 150 33mA ○ ○ 165
7 320 22mA ○ △ 154
7 220 32mA ○ ○ 224
12 440 27mA ○ ○ 324
12 660 18mA ○ ○ 216
12 1000 12mA ○ △ 144
サンプル(A・B機)による動作確認
規格では、電話回線の電圧は-48V
実際は電圧降下を考慮して オフフックでループ形
成時に5V程度でも動作します。
安定動作には、最低12V/20mA位必要
電話機の
内部抵抗
2回線の電源供給
単純に並列にはできない
オンフックで電話機の
抵抗は無限大になる
電話機のオフフック・オンフックで回線全体の抵抗値が変化してしまう
2回線の電源供給
単純に並列にはできない
オフフックでは電話機の
抵抗は無限大になる
電話機のオフフック・オンフックで回線全体の抵抗値が変化してしまう
2回線の電源供給
回線ごとに電流制限してみる
電話機のオフフック・オンフックで他回線に影響は発生しないが・・・・
2回線の電源供給
交流結合しないと音声が伝達できない
電話機のオフフック・オンフックで他回線に影響は発生しないが・・・・
交流結合しないと音声が伝達できない
2回線の電源供給
トランスで交流結合する
これでどうだ・・・・
2回線の電源供給
トランスで交流結合する
無事、音声は伝達される!!
2回線の電源供給
適正な抵抗値等を検討
※25mA程度の定電流が用意できるなら、各回線ごと
の電流制御するのが理想
2回線の電源供給
適正な抵抗値等を検討
260Ωのトランスと100Ωの制限抵抗でいい感じ・・・
電話回線の電圧は、オンフック時12.2V オフフックで5.4V程度でした。
オフフックの検出
オンフックで回路は解放(抵抗無限大)オフフックで回路はループ(電流検出)
回線に流れる電流をフォ
トカプラで検出してダイ
オードが光る
受話器から聞こえる音
受話器を上げるとプー、話中・切断時にプープー、呼び出し中はプルプルプル
音を作る(16Hzと400Hzが作りたい)
まずは、PINを決めてON/OFF行うコード
音を作る
タイマーでON/OFFする(一定時間にON/OFFする回数で周波数が決まる)
作成した音を回線に乗せる
カップリングコンデンサで繋ぐだけ
2.2Kと1Kの抵抗はボリューム調整
400Hz
プーーー
400Hz+16Hz
プルプルプルプル
正弦波ではないので、ちょっと音が固いが、
まーそれなりの音を聞くことができます。
呼び出し信号
PICで作成した16Hz(5V)をトランスで±120Vぐらいに変換する
交換機から15Hz以上20Hz以下の周波数の信号(交流65Vrms以上83
Vrms以下)が断続的に流される。そして、電話機はこの交流に反応してベルが
鳴る
呼び出し信号
鳴らしてみる
状態
擬似交換機は、5つの状態を遷移する(仕様)
状態 発信音 呼び出し信号 リレー切り替え 備考
⓪ アイドル 無音 なし なし 未使用
① 発信 ツー なし なし 片方がフックを上げて
「ツー」という発信音が聞こ
える状態
② 呼出 プルプルプル あり あり 呼出信号が流れている状態
③ 話中 無音 なし なし 両方がオフフックで話してい
る状態
④ 切断 ツーツーツー なし なし どちらかがフックを置いた状
態
状態
フォトカプラによるオンオフフックの検出とタイムアウトで遷移する
タイムアウトの要件
「①発信」から「②2呼出」
受話器を上げてツーという音が聞こえたら、数秒で自動的に呼び出し状態に移行
「②発信」から「③ 話中」
特定時間呼出を続けて相手が出ない場合、安全のため自動的に「呼出」を止める
「③話中」から「⓪アイドル」
「話中」でそのままフックが上がったままの時、自動的に「アイドル」に戻る
マイコン制御
簡単なCプログラム
回路図
回路図
ややこしそうに見えますが、ここまで
実験したものをくっつけただけ・・・
回路図
制御マイコン
回路図
電話機
回路図
回線の電源
回路図
オンオフフックの検出
回路図
受話器への音(プーとかプルプルとか)
回路図
呼び出し音
回路図
呼び出し音の切り替え
動作確認
少しカオス
実装
タッパーは簡単
廃品利用
電源ユニットは、回収が格安
廃品利用
モデムは電話の基本部品が大量
廃品利用(進んで動作保証無しを選択)
ハードオフや、ジャンクショップで基本1つ300円まで
ばらしまくる
ハンダ付けの練習とプロの実装を実感
ハンダ吸い取り器(超強力)
これが無いと、分解は、間違いなく苦行になる
電解コンデンサ
足が超短いが、どうせ実装するときは切るんだから関係ない
使えそうなもの?
スイッチ類は、再利用が簡単
分解で大量のネジが確保される
大概はミリねじ(3mm)、ケース側はインチねじ
表面実装な部品(コンデンサ)
結構使える
それなりに整理されている
見る人によっては、全部ゴミ
抵抗・コンデンサ・コイル
チップ部品は大量に回収可能
チップ部品
容量ごとに両面テープに張り付ける
チップ
コンデンサ
チップ
LEDとかDとか
チップ部品
大量にあっても、クリアファイル一つで十分
ロジックテスター
3V基準ぐらいでGNDを取って、プラス方向だと青、逆は赤のLEDが光る
テスト用の電源
3.4~30V ±12V 電圧の種類は十分
中はパン焼き器から外した電源
技適マーク
作成した機器をNTT回線などに接続することはできません
本資料で紹介したものは、電話回線に接続して実験したものではありません。
参考資料等で入手した情報を、回線に接続しない環境(机上)で試したもの
です。
電気通信事業者のネットワーク(電気通信回線設備)に接続し使用する機器
は、登録認定機関より技術基準に適合していることの認定を受け、総務省令
で定める表示(技適マーク)しなければなりません。
くれぐれもご注意下さい。
ご清聴ありがとうございました
札幌ワークス
http://www.sapporoworks.ne.jp/spw

Weitere ähnliche Inhalte

Was ist angesagt?

CloudFront最近の事例と間違った使い方
CloudFront最近の事例と間違った使い方CloudFront最近の事例と間違った使い方
CloudFront最近の事例と間違った使い方
Hirokazu Ouchi
 

Was ist angesagt? (20)

Active Directory とシームレスにマルチに連携する多要素認証基盤の活用方法
Active Directory とシームレスにマルチに連携する多要素認証基盤の活用方法Active Directory とシームレスにマルチに連携する多要素認証基盤の活用方法
Active Directory とシームレスにマルチに連携する多要素認証基盤の活用方法
 
Shibboleth IdP V3とアカデミックIDフェデレーション - OpenID Summit 2015
Shibboleth IdP V3とアカデミックIDフェデレーション - OpenID Summit 2015Shibboleth IdP V3とアカデミックIDフェデレーション - OpenID Summit 2015
Shibboleth IdP V3とアカデミックIDフェデレーション - OpenID Summit 2015
 
AWS運用自動化への第一歩 
AWS運用自動化への第一歩 AWS運用自動化への第一歩 
AWS運用自動化への第一歩 
 
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法についてAzure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
 
CloudFront最近の事例と間違った使い方
CloudFront最近の事例と間違った使い方CloudFront最近の事例と間違った使い方
CloudFront最近の事例と間違った使い方
 
企業節流寶藏~開放資源導入實例解析 - Jason Cheng [2015/05/13]
企業節流寶藏~開放資源導入實例解析 - Jason Cheng [2015/05/13]企業節流寶藏~開放資源導入實例解析 - Jason Cheng [2015/05/13]
企業節流寶藏~開放資源導入實例解析 - Jason Cheng [2015/05/13]
 
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
 
EDRは組織のインシデント対応をどう変えているか
EDRは組織のインシデント対応をどう変えているかEDRは組織のインシデント対応をどう変えているか
EDRは組織のインシデント対応をどう変えているか
 
[SC05] 株式会社アシックス様における Azure AD 導入プロジェクトの実際
[SC05] 株式会社アシックス様における Azure AD 導入プロジェクトの実際[SC05] 株式会社アシックス様における Azure AD 導入プロジェクトの実際
[SC05] 株式会社アシックス様における Azure AD 導入プロジェクトの実際
 
自宅インフラの育て方 第2回
自宅インフラの育て方 第2回自宅インフラの育て方 第2回
自宅インフラの育て方 第2回
 
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
 
【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう
 
CyberAgentのPrivateCloudeを支えるStorage基盤
CyberAgentのPrivateCloudeを支えるStorage基盤CyberAgentのPrivateCloudeを支えるStorage基盤
CyberAgentのPrivateCloudeを支えるStorage基盤
 
ルーティングチュートリアルチュートリアル TCP/IP編
ルーティングチュートリアルチュートリアル TCP/IP編ルーティングチュートリアルチュートリアル TCP/IP編
ルーティングチュートリアルチュートリアル TCP/IP編
 
Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例Zabbix監視運用業務の自動化事例
Zabbix監視運用業務の自動化事例
 
プロトコルから見るID連携
プロトコルから見るID連携プロトコルから見るID連携
プロトコルから見るID連携
 
Git入門
Git入門Git入門
Git入門
 
IoTをやるため起業した話
IoTをやるため起業した話IoTをやるため起業した話
IoTをやるため起業した話
 
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
 
Oracle Digital Assistantご紹介資料(2020/04)
Oracle Digital Assistantご紹介資料(2020/04)Oracle Digital Assistantご紹介資料(2020/04)
Oracle Digital Assistantご紹介資料(2020/04)
 

Mehr von Shinichi Hirauchi

C#で作成するfacebookアプリ mvp community camp
C#で作成するfacebookアプリ mvp community campC#で作成するfacebookアプリ mvp community camp
C#で作成するfacebookアプリ mvp community camp
Shinichi Hirauchi
 
Black jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとして
Black jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとしてBlack jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとして
Black jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとして
Shinichi Hirauchi
 
初めてのFacebookアプリの開発
初めてのFacebookアプリの開発初めてのFacebookアプリの開発
初めてのFacebookアプリの開発
Shinichi Hirauchi
 
HTMLを1行も書かずにwebアプリを作ってみました
HTMLを1行も書かずにwebアプリを作ってみましたHTMLを1行も書かずにwebアプリを作ってみました
HTMLを1行も書かずにwebアプリを作ってみました
Shinichi Hirauchi
 

Mehr von Shinichi Hirauchi (20)

Amazon connect について 〜各種AWSのサービスとの連携〜
Amazon connect について 〜各種AWSのサービスとの連携〜Amazon connect について 〜各種AWSのサービスとの連携〜
Amazon connect について 〜各種AWSのサービスとの連携〜
 
Alexa SDK Alexa Salon
Alexa SDK Alexa SalonAlexa SDK Alexa Salon
Alexa SDK Alexa Salon
 
Developers.io 2017 iPhoneによるAlexa/Lex/Pollyを利用した 音声対応クライアントの作成方法
Developers.io 2017 iPhoneによるAlexa/Lex/Pollyを利用した 音声対応クライアントの作成方法Developers.io 2017 iPhoneによるAlexa/Lex/Pollyを利用した 音声対応クライアントの作成方法
Developers.io 2017 iPhoneによるAlexa/Lex/Pollyを利用した 音声対応クライアントの作成方法
 
Developers.io.札幌 xamarinってどうよ
Developers.io.札幌 xamarinってどうよDevelopers.io.札幌 xamarinってどうよ
Developers.io.札幌 xamarinってどうよ
 
20分でできる!Xamarin.Forms入門
20分でできる!Xamarin.Forms入門20分でできる!Xamarin.Forms入門
20分でできる!Xamarin.Forms入門
 
ソフト屋が挑戦した電子工作 〜力ずくの10か月〜
ソフト屋が挑戦した電子工作 〜力ずくの10か月〜ソフト屋が挑戦した電子工作 〜力ずくの10か月〜
ソフト屋が挑戦した電子工作 〜力ずくの10か月〜
 
Developers.IO 2016 F-1 セッション資料
Developers.IO 2016 F-1 セッション資料Developers.IO 2016 F-1 セッション資料
Developers.IO 2016 F-1 セッション資料
 
シルバーウィークにfacebookアプリを作成した
シルバーウィークにfacebookアプリを作成したシルバーウィークにfacebookアプリを作成した
シルバーウィークにfacebookアプリを作成した
 
Xamarin.formsで作成する翻訳機能付きtwitterクライアント
Xamarin.formsで作成する翻訳機能付きtwitterクライアント Xamarin.formsで作成する翻訳機能付きtwitterクライアント
Xamarin.formsで作成する翻訳機能付きtwitterクライアント
 
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015
この辺でXamarin導入による 効果と限界をしっかり把握してみよう  MVP Community Camp 2015 この辺でXamarin導入による 効果と限界をしっかり把握してみよう  MVP Community Camp 2015
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015
 
BoxViewの美味しい食べ方
BoxViewの美味しい食べ方BoxViewの美味しい食べ方
BoxViewの美味しい食べ方
 
C#で作成するfacebookアプリ mvp community camp
C#で作成するfacebookアプリ mvp community campC#で作成するfacebookアプリ mvp community camp
C#で作成するfacebookアプリ mvp community camp
 
Facebookスパムデータベース~あなたのお友達に、スパムアカウントが紛れ込んでませんか
Facebookスパムデータベース~あなたのお友達に、スパムアカウントが紛れ込んでませんかFacebookスパムデータベース~あなたのお友達に、スパムアカウントが紛れ込んでませんか
Facebookスパムデータベース~あなたのお友達に、スパムアカウントが紛れ込んでませんか
 
Black jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとして
Black jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとしてBlack jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとして
Black jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとして
 
初めてのFacebookアプリの開発
初めてのFacebookアプリの開発初めてのFacebookアプリの開発
初めてのFacebookアプリの開発
 
Facebookの偽アカウント
Facebookの偽アカウントFacebookの偽アカウント
Facebookの偽アカウント
 
テストコードの定型化
テストコードの定型化テストコードの定型化
テストコードの定型化
 
HTMLを1行も書かずにwebアプリを作ってみました
HTMLを1行も書かずにwebアプリを作ってみましたHTMLを1行も書かずにwebアプリを作ってみました
HTMLを1行も書かずにwebアプリを作ってみました
 
ReSharperでLinq変換
ReSharperでLinq変換ReSharperでLinq変換
ReSharperでLinq変換
 
マウスでタッチ操作
マウスでタッチ操作マウスでタッチ操作
マウスでタッチ操作
 

簡易電話交換機の作成~廃品利用による低予算プロジェクト~