震災後、引っ越しやらなんやらで、行方不明になっていたArduinoを先日ダンボールから無事に保護。
メインマシンをWindowsのデスクトップマシンから、2年前に購入したMACBOOKホワイトをSSD化+メモリ8GBにしたことから、思い切って変更しました。
ArduinoをMACBOOKに接続しWOL リピーターのスケッチを当サイトからコピペ。
コンパイルできん。
最新の開発環境は、仕様が変更されていてUDPモジュールを内包していることがわかりました。
取り急ぎ、情報収集の後に最新の開発環境に合わせて、スケッチを修正変更しました。
※パケットアナライザでの動作は確認していますが、外部からマジックパケットを投げてターゲットマシンの電源が入ることまでは確認していません。
※動いたら、コメントで報告いただけるとありがたいです。
※このスケッチの動作確認は、MACBOOKのMAC OS Xで動いているVMware Fusion上のWindows8Proでローカルテストのみを行っています。
// Wake On Lan リピーター
// http://yutakalife.net/article/303195021.html
// 販売などの商用利用はご遠慮ください
// Copyright love4nature All Rights Reserved.
#include <SPI.h>
#include <Ethernet.h>
#include <EthernetUdp.h>
// イーサネットの設定
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // Arduino のMAC address
IPAddress ip(192, 168, 0, 200); // Arduino のIP address
unsigned int localPort = 9; // Arduino の受信ポート
IPAddress targetIp(192, 168, 0, 255); // ターゲットのブロードキャストアドレスを設定
unsigned int targetPort = 8000; // ターゲットのポート番号を設定
// パケットサイズの最大値を設定
#define MAX_SIZE 192
byte packetBuffer[MAX_SIZE]; // マジックパケット用のパケットバッファ
// An EthernetUDP instance to let us send and receive packets over UDP
EthernetUDP Udp;
void setup() {
// start the Ethernet and UDP:
Ethernet.begin(mac,ip);
Udp.begin(localPort);
Serial.begin(115200);
Serial.print("Start ");
}
void loop() {
// if there's data available, read a packet
int packetSize = Udp.parsePacket();
if(packetSize)
{
Serial.print("Received packet of size ");
Serial.println(packetSize);
Serial.print("From ");
IPAddress remote = Udp.remoteIP();
for (int i =0; i < 4; i++)
{
Serial.print(remote[i], DEC);
if (i < 3)
{
Serial.print(".");
}
}
Serial.print(", port ");
Serial.println(Udp.remotePort());
// read the packet into packetBufffer
Udp.read(packetBuffer,MAX_SIZE);
Serial.println("Contents:");
for(int j=0; j<min(MAX_SIZE,abs(packetSize)); j++) {
Serial.print(packetBuffer[j],HEX);
Serial.print(" ");
}
Serial.println("");
// 受信したマジックパケットをリピート送信する
Udp.beginPacket(targetIp, targetPort);
Udp.write(packetBuffer,min(MAX_SIZE,abs(packetSize)));
Udp.endPacket();
}
delay(10);
}
今回は
Arduinoのことで何かをやってみようと思い、Aruduinoの環境などは整えました。
拙のサイトに近況を書いています。
それではよろしくお願い致します。
よろしければサイトを教えてくださいな。
そこでnekonokoと名乗っている者は電子工作・CNC系の掲示板や
ブログを荒らしまわっている"ノンノ"と呼ばれる悪質な荒らしです。
特にプログラミングに関して非常にコンプレックスを持っており
検索したらすぐわかるレベルの事をあえて何度も聞いて来たり、
突然的外れで知ったかぶりの知識自慢を長々としだして掲示板や
ブログの管理人を怒らせるといった行為を、いろんな場所で名前を
変えつつ何年間も続けております。下はそのほんの一例です。
特に電子工作を始めたばかりで事情をよく知らない方を狙って
おります。
ttp://groups.yahoo.co.jp/group/nonnno10gou/messages/144?expand=1
ttp://www.pastelmagic.com/psocbbs/index.cgi?m=look&bnum=1932
ttp://www.style-21.jp/board/next9.cgi?id=ofamily&lognum=16&dispnum=6083
ttp://www.style-21.jp/board/next9.cgi?id=ekousaku&lognum=44&dispnum=17320
ttp://www.style-21.jp/board/next9.cgi?id=ekousaku&lognum=54&dispnum=19514
ノンノの書き込みを放置したり相手をしたりすると付け上がり
ずっと居座り荒らし続けますので書き込ませない/書き込まれても
直ぐに削除等の断固たる措置をよろしくお願いいたします。