Renesas Rulz
Renesas Rulz
  • User
    Join or sign in
  • Site
  • Search RenesasRulz.com
  • User
がじぇっとるねさすコミュニティ
がじぇっとるねさすコミュニティ
がじぇっとるねさす ゆーざー会 - Wiki LAN経由でアナログセンサの値を拾うサンプル
  • 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にする部品の購入先について
  • 足の長いピンソケット

LAN経由でアナログセンサの値を拾うサンプル

以下のサンプルは、GR-SAKURAに接続されたアナログセンサの値を

ネットワーク経由で取得するサンプルです。

今回の例ではアナログピン0番に‘Cdsセルが接続されていて、

周囲の明るさを取得しています。

仕様

このサンプルの実行には仮想COMポートの接続が必須になります。

`IP address `を192.168.11.234 に設定しています。ポート8080 を使います。

このあたりは環境に合わせて変更してください。

web browser が送ってくる "GET / HTTP 1.1" という文字列の中の"1" を

検出した所で、センサーの値を含むHTMLデータをGR-SAKURAが送り出します。

もっと良いやり方があると思いますが、これでも動いたので投稿します。

仮想COMport に出てくるデバッグログ

set static ip address                                                          

IP Address set successfully.                                                   

My IP address is: 192.168.11.234                                               

client connected                                                               

G                                                                              

E                                                                              

T                                                                              

/                                                                              

H                                                                              

T                                                                              

T                                                                              

P                                                                              

/                                                                              

1                                                                              

server sent the data                                                           

Server sent FIN packet

GR-SAKURA用スケッチ

#include <rxduino.h>

#include <SPI.h>

#include <Ethernet.h>

TEthernet Ethernet;

byte mac[] = {0x08, 0x09, 0x3c, 0x12, 0x34, 0x56};

byte ip[] = {192,168,11,234};

byte dns[]= {8,8,8,8};

byte gateway[] = {192, 168, 11, 1};

byte subnet[] = {255,255,255,0};

EthernetServer server(8080);

int val;

void setup()

{

    Serial.begin(38400,SCI_AUTO);

    Serial.println("");

    Serial.println("set static ip address");

    Ethernet.begin(mac,ip,dns,gateway,subnet );

    Serial.println("IP Address set successfully.");

    Serial.print("My IP address is: ");

    Serial.println(Ethernet.localIP());

    server.begin();

    analogReference(RAW12BIT);

}

void loop()

{

  EthernetClient client = server.available();

    if (client) {

    Serial.println("client connected");

     while (client.connected())

     {

     Ethernet.processPackets();

     char query = client.read();

     Serial.println(query);

       if (query == '1')

         {

         val = analogRead(0);

          client.println("HTTP/1.1 200 OK");

          client.println("Content-Type: text/html");

          client.println("Connection: close");

          client.println();

          client.println("<!DOCTYPE HTML>");

          client.println("<HTML>");

          client.println("<HEAD>");

          client.println("<TITLE> Read Analog Sensor over the network </TITLE>");

          client.println("</HEAD>");

          client.println("<BODY BGCOLOR=\"#F2D8DF\">"); // SAKURA color

          client.print("Sensor val = ");

          client.println(val);

          client.println("</BODY>");

          client.println("</HTML>");

          Serial.println("server sent the data");

          break;

         }

    } 

    client.stop();  // send FIN packet

    Serial.println("Server sent FIN packet");

    Serial.println();

    delay(1000);

    }   

}

注意:このスケッチを長時間動かしてみましたが、途中からGR-SAKURAが

Browser側のPCが送るsyn パケットに応答しなくなる問題があるようです。

私の環境ではSerial.println() によるデバッグしかできませんので、GR-SAKURAが

応答を返さない場合の本格的なデバッグは出来ません。

  • Network
  • analogread()
  • gr-sakura
  • Share
  • History
  • More
  • Cancel
Related
Recommended
サイト使用条件
プライバシーポリシー
お問い合わせ
© 2010-2022 Renesas Electronics Corporation. All rights reserved.