最終更新日:2023/3/13
インクルードするライブラリですが、Ethernet3を使用します。このライブラリは安定していると思います。
TM1637用のポートは確保します。
//Author: Martin Chlebovec //Web: https://arduino.php5.sk //Support: http://paypal.me/chlebovec #include <SPI.h> #include <Ethernet3.h> const int led = 6; byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; char serverName[] = "www.arduino.php5.sk"; // webserver IPAddress ip(192, 168, 1, 254); //for instance in 192.168.1.0 /24 network EthernetClient client; String readString; //our variable int x=0; //counter of line char lf=10; //line feed character void setup(){ pinMode(led, OUTPUT); if (Ethernet.begin(mac) == 0) { Serial.println("Failed to configure Ethernet using DHCP"); Ethernet.begin(mac, ip); } Serial.begin(9600); } void loop(){ if (client.connect(serverName, 80)) { //starts client connection, checks for connection Serial.println("connected"); client.println("GET rele/rele1.txt HTTP/1.1"); //download text client.println("Host: www.arduino.php5.sk"); client.println("Connection: close"); //close 1.1 persistent connection client.println(); //end of get request } else { Serial.println("Pripojenie neuspesne"); //error if i am not connected Serial.println(); } while(client.connected() && !client.available()) delay(1); //wait for datas while (client.connected() || client.available()) { //check response char c = client.read(); //get bits from buffer Serial.print(c); //full http header if (c==lf) x=(x+1); //pocitaj else if (x==12) readString += c; //our variable } Serial.print("Variable: "); Serial.print(readString); //our variable parsed like string if(readString=="ZAP"){ digital.Write(led, HIGH); }else if(readString=="VYP"){ digital.Write(led, LOW); }else{ Serial.println("Unsupported variable"); } readString = (""); //delete our variable x=0; //reset counter client.stop(); //end connection delay(5000); //wait 5 seconds and start again } |
|
/* * 2023/03/13 T.Wanibe * WebClientReadResponse * このスケッチは Web サーバーに接続し、リクエストを行います * WiznetW5500-ENV-PICOをターゲットとします。 * 回路: * ピン 16..21に接続されたイーサネットchip * 最大1044480バイトのフラッシュメモリのうち、スケッチが63484バイト(6%)を使っています。 * 最大262144バイトのRAMのうち、グローバル変数が8028バイト(3%)を使っていて、ローカル変数で254116バイト使うことができます。 */ #include <SPI.h> #include <Ethernet3.h> #define SPI_SCK 18 #define SPI_RX 16 #define SPI_TX 19 #define SPI_CS 17 #define NICReset 20 #define HTTPport 80 #define TELNETport 23 #define SerialRate 115200 //char serverName[] = "www.arduino.php5.sk"; // webserver byte serverName[] ={192,168,0,202}; const int led = 25; // コントローラの MAC アドレスと IP アドレスを以下に入力します。 // IP アドレスは、ローカル ネットワークによって異なります。 // ゲートウェイとサブネットはオプションです。 byte mac[] = {0x00,0x08,0xDC,0x54,0x4D,0xE0}; //WIZNET byte ip[] = {192, 168, 0, 210}; byte dns_server[] = {192, 168, 0, 1}; byte gateway[] = {192, 168, 0, 1}; byte subnet[] = {255, 255, 255, 0}; String readString; //our variable int x =0; //counter of line char lf =10; //line feed character EthernetClient client; //---------------- void setup(){ Serial.begin(SerialRate); pinMode(led, OUTPUT); pinMode(SPI_CS,OUTPUT); pinMode(NICReset,OUTPUT); // イーサネット接続とサーバーを開始します。 SPI.setSCK(SPI_SCK); SPI.setRX(SPI_RX); SPI.setTX(SPI_TX); SPI.setCS(SPI_CS); SPI.begin(); // Ethernet.init(pin)を使用してCSピンを設定できます Ethernet.setCsPin(SPI_CS); Ethernet.setRstPin(NICReset); digitalWrite(NICReset,LOW); delay(10); digitalWrite(NICReset,HIGH); Ethernet.init(SPI_CS); // イーサネット デバイスを初期化する if (Ethernet.begin(mac) == 0) { Serial.println("Failed to configure Ethernet using DHCP"); Ethernet.begin(mac, ip); } Serial.print("My IP address: "); Serial.println(Ethernet.localIP()); } //---------------- void loop(){ if (client.connect(serverName, HTTPport)) { //starts client connection, checks for connection Serial.println("connected"); client.println("GET rele/rele1.txt HTTP/1.1"); //download text client.println("Host: www.arduino.php5.sk"); client.println("Connection: close"); //close 1.1 persistent connection client.println(); //end of get request } else { Serial.println("Pripojenie neuspesne"); //error if i am not connected Serial.println(); } while(client.connected() && !client.available()) delay(1); //wait for datas while (client.connected() || client.available()) { //check response char c = client.read(); //get bits from buffer Serial.print(c); //full http header if (c==lf) x=(x+1); //pocitaj else if (x==12) readString += c; //our variable } Serial.print("Variable: "); Serial.print(readString); //our variable parsed like string if(readString=="ZAP"){ digitalWrite(led, HIGH); }else if(readString=="VYP"){ digitalWrite(led, LOW); }else{ Serial.println("Unsupported variable"); } readString = (""); //delete our variable x=0; //reset counter client.stop(); //end connection delay(5000); //wait 5 seconds and start again } |
本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。本ソフトウエアの著作権はToolsBoxに帰属します。
本ソフトウエアをご利用の結果生じた損害について、ToolsBoxは一切責任を負いません。
ToolsBoxはコンテンツとして提供する全ての文章、画像等について、内容の合法性・正確性・安全性等、において最善の注意をし、作成していますが、保証するものではありません。
ToolsBoxはリンクをしている外部サイトについては、何ら保証しません。
ToolsBoxは事前の予告無く、本ソフトウエアの開発・提供を中止する可能性があります。
Microsoft、Windows、WindowsNTは米国Microsoft Corporationの米国およびその他の国における登録商標です。
Windows Vista、Windows XPは、米国Microsoft Corporation.の商品名称です。
LabVIEW、National Instruments、NI、ni.comはNational Instrumentsの登録商標です。
I2Cは、NXP Semiconductors社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。