Comments
Description
Transcript
Tweet application for ARDUINO
Application note for sample code “Tweet Application” Application note for sample code “Tweet Application” WBSACVLXY-XX Mar-2016 TAIYO YUDEN CO., LTD. 1/5 Application note for sample code “Tweet Application” 改版履歴 バ ー ジ ョ 日付 内容 ン 1.0 2015/03/17 公式初版 <Contens> 1 はじめに ················································································································3 2 準備 ······················································································································3 2.1 WLAN モジュールのボーレート変更 ········································································· 3 2.2 機器構成 ··············································································································· 4 3 サンプルコード ·······································································································4 4 付記 ······················································································································5 TAIYO YUDEN CO., LTD. 2/5 Application note for sample code “Tweet Application” はじめに 1 このドキュメントは、Arduino/Genuino UNO (以下 Arduino)と WLAN モジュール“WYSACVLXY-XX”(以下 WLAN モジュール)を用い、OpenWeatherMap.com (Link)から天気情報を取得するサンプルコードの説明書で す。 これとは別にインターネット接続された無線アクセスポイントと、プログラミング及び結果表示のための PC が 必要です。 2 準備 2.1 WLAN モジュールのボーレート変更 Arduino UNO は UART が一つしかありません。 ここでは PC との接続にこの UART(ハードウェアシリアル, 以 下 HW シリアル)を使います。WLAN モジュールとの接続には”ソフトウェアシリアル”(以下 SW シリアル) を使います。 しかし、WLAN モジュールのデフォルトボーレート 115,200bps では、Arduino との SW シリアル通信でデータ 欠けが発生してしまいます(HW シリアルを用いる場合では設定最大値の 2,000,000bps でも問題ありません)。 そこでまず WLAN モジュールと PC を直接 USB 接続し、ボーレートを 9,600bps に設定します。 WLAN モジュールを USB ケーブルで直接 PC に接続すると、PC は WAN モジュールを仮想 COM ポートとし て認識します。もしドライバーが要求された場合には、FTDI の web サイトからダウンロード、インストールし てください。Windows OS の場合、デバイスマネージャーで”USB Serial Port (COMxx)”と認識します。xx は数 字です。この数字を記録してください。 “Tera Term”のようなコンソールソフトを用いて WLAN モジュールに接続します。Tera Term の場合の設定項目 を表 1 に示します。 表 1: Tera Term の設定 [設定] → [端末…] [設定] → [シリアルポート…] [改行コード], [受信:] “CR+LF” [改行コード], [送信:] “AUTO” [ローカルエコー:] チェック [ポート]: <<仮想 COM ポート番号>> [ボーレート:] 115200 [フロー制御:] “none” WLAN モジュールのボタン (SW1) を押し、コンソール画面にバージョン情報が表示されたら、正常に接続でき ています。 接続が完了したら、コンソールソフトウェアから次のコマンドを入力してください。 WSTC0101<CR><LF> これは UART のボーレートを 9600bps に設定するためのコマンドです。 “ACK”とコンソールに返ってきたら設定終了です。リセット後からボーレートは 9,600bps となります。 このコマンドに関する詳細は、ドキュメント"WLAN Embedded Software Spec."の次項目を参照してください。 3. Control Command Syntax 5.1 Common Commands, "STC" 5.3 Common value(STC, GTC), No.01 "UART baud rate (bps)" TAIYO YUDEN CO., LTD. 3/5 Application note for sample code “Tweet Application” 2.2 機器構成 PC Access Point WLAN Arduino USB module UART level siftershifter (Logic level converter) 図 1 機器構成概念図 図 2 結線 WLAN モジュールは 3.3V 駆動ですが、Arduino UNO は 5V 駆動です。そのため UART の電圧変換が必要です。 レベルシフター、ロジックレベルコンバーターと呼ばれるモジュールを用います。図 2 では “sparkfun Bi-Directional Logic Level Converter”を用いました。 Arduino の D10, D11 ピンを SW シリアルの Tx, Rx として使います。WLAN モジュールの電源は Arduino の 3.3V ピンから供給します。WLAN モジュールの UART1_CTSN と UART1_RTSN をショートさせることによ って UART のフロー制御を OFF にします(図 2 の黄色い結線)。 ※WLAN module と各種デバイスの接続に関する詳細は Evaluation board Manual を参照してください。 3 サンプルコード ※本ドキュメントでは Arduino.cc で配布されている Arduino IDE Ver1.6.7 を前提に書かれています。 本サンプルコードでは 1 つの追加ライブラリを用いています。 Software Serial library(Arduino IDE に標準添付) “Software Serial library”は Arduino IDE のライブラリ管理画面からインストールできます。[スケッチ] → [ラ イブラリをインクルード] Twitter に直接つぶやきを投稿するには OAuth という認証作業が必要ですが、Arduino 単体でこれを処理させる のは大変困難です。ここでは"Tweet Library for Arduino"(作者: NeoCat)というライブラリのために用意された TAIYO YUDEN CO., LTD. 4/5 Application note for sample code “Tweet Application” サーバーを使って OAuth 認証を行います。 http://playground.arduino.cc/Code/TwitterLibrary 最初に次のサイトで Oauth を使ってメッセージをつぶやくために必要な“トークン (token)”を取得してくださ い。 http://arduino-tweet.appspot.com/oauth/twitter/login あなたの Twitter アカウントでログインして、サーバーがあなたの Twitter アカウントにアクセスする許可を与 えます。ここで表示される“トークン”を記録しておいてください。 ここで配布されているライブラリはイーサネットシールド用のものなので WLAN モジュールでは使用できませ ん。ここでは“STEP1”のみ行います。 このサンプルコードを試すには以下部分の修正が必要です。 無線アクセスポイントの設定(20-21 行目) SSID, パスワード この設定コマンドの詳細についてはドキュメント"WLAN Embedded Software Spec."の以下項目を参照してく ださい。 3. Control Command Syntax 5.4 Infrastructure Control Commands , "STI" 5.6 Profile Table (STI, GTI, STU, GTU), No.01~08 トークン(24 行目) つぶやくメッセージ(26 行目) これら修正の後、Arduino IDE からスケッチを Arduino に書き込んでください。 Arduino からメッセージが投稿されます。 * arduino-tweet.appspot.com のプロキシサーバーへの負担を避けるため、1 回/分以上の投稿をしないでくださ い。 *Twitter は同じメッセージの連続投稿を拒否します(エラー403)。再試行ごとにスケッチ中のメッセージ (String “msg”) を変更してください。 4 付記 謝辞: 本サンプルコードの作成にあたっては“Twitter Library for Arduino”のソースコードを参考にさせていた だきました。NeoCat に感謝いたします。 http://playground.arduino.cc/Code/TwitterLibrary ※「Aruduino」はオープンソースハードウェアです。「Twitter」は、Twitter,Inc.の商標または登録商標です。 他の会社名、商品名などは一般に各社の商標または登録商標です。 本サンプルコードは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。 TAIYO YUDEN CO., LTD. 5/5