Arduino の既定のイーサネット ライブラリ クラスには、IPAddress
変数型が含まれています。これは何IPAddress
のためですか?なぜそれを使用する必要があり、公式の例でゲートウェイとサブネット IP に使用されないのはなぜですか?
1 に答える
あなたが言ったようにint
、IPアドレスを格納できる変数のタイプ((整数)など)です。.
整数を使用すると、IP アドレスに必要な を追加できません。また、ライブラリは整数のみを受け入れます。たとえば1
、文字列にある場合、それを別の数値で追加することはできません。ただし、値が の整数変数型がある場合は1
、簡単に追加できます。
これをどのように使用できますか?:
Arduinoの EthernetIpAdress ページに、次のコードがあります。
#include <Ethernet.h>
// network configuration. gateway and subnet are optional.
// the media access control (ethernet hardware) address for the shield:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
// the router's gateway address:
byte gateway[] = { 10, 0, 0, 1 };
// the subnet:
byte subnet[] = { 255, 255, 0, 0 };
EthernetServer server = EthernetServer(23);
//the IP address is dependent on your network
IPAddress ip(192,168,1,1);
void setup()
{
// initialize the ethernet device
Ethernet.begin(mac, ip, gateway, subnet);
// start listening for clients
server.begin();
}
void loop()
{
//print out the IP address
Serial.println(myIPaddress);
}
の行IPAddress ip(192,168,1,1);
で、IP アドレスを保持する変数を作成します。この行Ethernet.begin(mac, ip, gateway, subnet);
では、変数が検索され、ライブラリに渡されEthernet
ます。人々が整数型を使用するのを防ぎ、見栄えを良くする以外に、どのような利点があるのか わかりません。自動的に発行された IP アドレスを検索して後で保存できるため、「アイドル モード」になった場合に同じ IP アドレスを要求できるため、他のデバイスに干渉しない動的 IP のようになります。リセットボタンを押すとリセットされます。用途はあると思いますが思いつきません。それが何であるか、そしてそれをどのように使用するかをあなたに伝えたかっただけです。私はそれを使用するだけで簡単になると思います#define IPadress 192.168.1.1
または、簡単に変更したり、ユーザーが読みやすくしたい場合は、同様のことを行います。