Renesas Rulz
Renesas Rulz
  • User
    Join or sign in
  • Site
  • Search RenesasRulz.com
  • User
がじぇっとるねさすコミュニティ
がじぇっとるねさすコミュニティ
がじぇっとるねさす ゆーざー会 - Wiki Webコンパイラで使うHTTPクライアント
  • Forums
  • Files
  • がじぇっとるねさす ゆーざー会 - Wiki
  • Tags
  • More
  • Cancel
  • New
  • がじぇっとるねさす ゆーざー会 - Wiki
  • (GR-SAKURA) リセットボタンを押さずにプログラムを書込む方法
  • 448KBの壁を越える方法(Windows)
  • Android ADK for GR-SAKURA
  • Arduinoとの互換性のまとめ(Language Reference編)
  • Color LCD シールド
  • EEPROMのサンプルコードと注意点
  • E1接続コネクタ
  • FAQ: GR-SAKURAの電源は、USBバスパワーかAC電源が必要か?
  • FAQ: RXマイコンの汎用ポートの駆動電流
  • FreeRTOS
  • Fritzing 用のパーツ(GR-SAKURA)
  • GR-SAKURA サンプルコードまとめ
  • GR-SAKURAからLinuxへの仮想コムポートでの通信
  • GR-SAKURAでキャラクタ液晶を制御
  • GR-SAKURAでサーボモータ
  • GR-SAKURAにXBeeをつなげる
  • GR-SAKURAスタートガイド 作例
  • GR-SAKURA用アクリルケースのデータ
  • HEWを使用したローカルデバッグ環境(USBファーム付き)
  • How to use USB virtual serial and UART
  • LAN経由でアナログセンサの値を拾うサンプル
  • MP3再生ライブラリとサンプルスケッチ 9/4追記 11/7追記
  • RTCに時刻を決め打ちで設定するスケッチ
  • SAKURAとKURUMIでWire(I2C) スレーブアドレスに注意
  • Smart Analog Shield for GR-SAKURA ボードβ版仕様
  • TOPPERS/ASP GR-SAKURA依存部 と sample1のHEWプロジェクト
  • uIPウエブサーバ
  • USBホスト MIDIクラスドライバ(USBH_MIDI) for GR-SAKURA
  • USBホストサンプル(マウス)
  • USB仮想COMポート用デバイスドライバ
  • USB仮想シリアルとUARTの使い方
  • Web Compilerへの要求やトラブル事項、対応事項
  • Webコンパイラで使うHTTPクライアント
  • Webコンパイラへのログイン~ボードへの書き込み動画(ビギナー向け)
  • wireライブラリを使用してみました
  • がじぇるねはじめてのプログラミング動画(ビギナー向け)
  • でんしゃの模型をSAKURAとUMEでコントロール!
  • シリアル通信(SCI)パラメータの変更方法(パリティ・データ長など)
  • シールドを横に並べる基板 (プチマザーボード)
  • プロジェクトバックアップツール
  • 手っ取り早くシールドを重ねた時の問題を解決するには
  • 温度センサーLM61の測定値をマイクロSDに書き込むスケッチ
  • 無印からFULLにする部品の購入先について
  • 足の長いピンソケット

Webコンパイラで使うHTTPクライアント

Webコンパイラーで使えるHTTPクライアントのclass作ってみました。HTTP getとpostだけできます。

まだテスト不十分ですが、とりあえず試しに使ってみていただければ。

●使い方:

1)新規プロジェクトを生成して、ライブラリボタンでgr_sakura_ethernetライブラリをインポートします。

2)Project_root右クリックでzipインポートを選択。HTTPClientLib.zipをインポートします。

Projet_Rootの下にHTTPClientフォルダーができていればOK。

3)サンプルプログラムをまま実行の場合、直ビルドボタン、ダウンロード、実行。

サンプルではHTTP GETでfacebookのAPIを使って、がじぇるねサイトの「いいね (FaceBook)」の数を読み出します。

(詳しくはYOKOBORIさんの作品参照)

ただし、仮想USBシリアルに単純にHTTP GETの結果文字列を表示するだけです。

こんな感じに表示されればOK。

---> HTTP GET

Return = 0

Data=

HTTP/1.1 200 OK

...

  <link_stat>

    <total_count>23</total_count>

  </link_stat>

</fql_query_response>

●クラスの使い方:

自分のプログラムでHTTPClientクラスを使う場合は、こんな感じで。

1)ヘッダーファイルのインクルード

#include <Ethernet.h>    //Ethernetのインクルード

#include "HTTPClient.h"   //HTTPClientのインクルード

2)オブジェクトの定義

TEthernet Ethernet;            // Ethernetオブジェクトの定義

HTTPClient httpclient ;    // HTTPクライアントオブジェクトの定義

3)初期化

byte mac[] = {  0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX }; //EthernetオブジェクトのためのMACアドレスデータ

void setup() {          // setup関数の最初のほうで、

    Ethernet.begin(mac);       // Ethernetオブジェクトを初期化。 DHCPによるIPアドレス他を自動取得

4)HTTP 要求の実行

適宜、

     ret = httpclient.get(getURL, getdata, datasize) ;

または、

     ret = httpclient.post(postURL, postdata, retdata) ;

を呼び出します。

URLは "abc.bcd.com:1234/abc/bcd" のような形で、ドメイン、ポート、パスを指定します。

ポートを省略すると80番、パスを省略すると"/"と解釈されます。

●制限事項

- postできるデータサイズは1400バイト程度までのようです。

- getについては限界を確認していません。datasizeで指定したバイト数を超えた分は

バッファーに格納せずスキップするようにしてありますが、リターン値としてはエラーには

なりません。

- あまり多数回リクエストを発行すると気絶するようです。

さて、うまく動くかな、...



Attachment: http://japan.renesasrulz.com/gr_user_forum_japanese/m/mediagallery/15.aspx

  • tcp/ip
  • ethernet
  • gr-sakura
  • がじぇるね
  • http
  • Share
  • History
  • More
  • Cancel
Related
Recommended
サイト使用条件
プライバシーポリシー
お問い合わせ
© 2010-2022 Renesas Electronics Corporation. All rights reserved.