初心者がどんだけ勉強しても焼け石に水や
もう金で解決や
ということでarduinoを使ったところ、あっさりインターネット接続ができました。
うちにはwimax回線しかなく、有線でのネット接続環境が無かったため、
arduinoを無線化してネットに接続させました。
マイコンを無線でインターネットに接続したい方に、
この方法はオススメです。
《イメージ図》
インターネット ----無線---- URoad7000 ----無線---- MZK-MF300N ----有線---- arduino
wimax無線LANルータ 無線コンバータ
《使用した機器》
・URoad7000はwimax回線を無線LANに変換できる機器です。
光の回線を家の中に無線LANで飛ばしているのと、ほぼ同じだと考えてください。
・MZK-MF300NはPLANEX社製の小型の無線コンバータ機器です。
有線でしか使えないインターネット機器を簡単に無線化できます。
(蛇足ですがこのMZK-MF300Nはアクセスポイントモードも使用できる優れものです。)
《使用方法》
①arduino uno と Ethernetシールド を接続
②MZK-MF300Nをコンバータモードで設定。
パソコンにつないで無線LANルータと通信ができるように、
WEPなどのパスワードを登録します。
③Ethernetシールドと MZK-MF300N を LANケーブル(ストレートでOK)で接続
④無線LANルータ(wimax Uroad-7000)にログインし、
固定IPの設定でEthernetシールドのMACアドレスに任意の固定IPを割り振ります。
(EthernetシールドのMACアドレスは基板の裏面に貼ってあります。
本当であれば動的IPでやりたかったのですが、arduino IDE ver022現在、
動的IPの導入は、むずくなってました。前は簡単にできたのに•••)
⑤arduino unoに arduino IDEにもともと入っているsampleコードを書き込みます。
File - Examples - Ethernet - webclient
(google.comでarduinoという語句を検索し、その結果を表示するというものです。)
そこでデフォルトゲートウェイとサブネットマスクの設定を追加すると、
無事インターネットに接続ができました。(下記コード 赤文字のところ)
《ソースコード》
/*
Web client
This sketch connects to a website (http://www.google.com)
using an Arduino Wiznet Ethernet shield.
Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13
created 18 Dec 2009
by David A. Mellis
*/
#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX };//④で入力したarduinoイーサネットシールドのMACアドレスに書き換える。
byte ip[] = { 192,168,XXX,XXX };//④で入力した固定IPを入力
byte gtw[] = { 192,168,XXX,XXX };//無線LANルータに設定されているローカルIP(デフォルトゲートウェイ)を入力
byte sbm[] = { 255,255,XXX,XXX };//無線LANルータに設定されているローカルサブネットマスクを入力
//byte server[] = { 72,14,203,104 }; // Google.co.jp
byte server[] = { 173,194,33,104 }; // Google.com
// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
Client client(server, 80);
void setup() {
//delay(15000);//@@@
// start the Ethernet connection:
//Ethernet.begin(mac, ip);
Ethernet.begin(mac, ip,gtw,sbm);
// start the serial library:
Serial.begin(9600);
// give the Ethernet shield a second to initialize:
delay(1000);
Serial.println("connecting...");
//delay(10000);//@@@
// if you get a connection, report back via serial:
if (client.connect()) {
Serial.println("connected");
// Make a HTTP request:
client.println("GET /search?q=arduino HTTP/1.0");
client.println();
}
else {
// kf you didn't get a connection to the server:
Serial.println("connection failed");
}
}
void loop()
{
// if there are incoming bytes available
// from the server, read them and print them:
if (client.available()) {
char c = client.read();
Serial.print(c);
}
// if the server's disconnected, stop the client:
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop();
// do nothing forevermore:
for(;;)
;
}
}
5 件のコメント:
同じように接続したのですがつながりません
スマホではだめなのでしょうか?disconnectingが表示されSTOPします。
>nisiさん
スマホということは、スマホのデザリング
機能を使用しているということでしょうか?
もし差し支えなければ、詳細をお聞かせ願います。
アドバイスありがとうございます。
初心者で申し訳ありません。
安易にarduinoとスマホとの通信をしたく考えておりました。
今は、デザリング機能を使用していません。
ただ、接続ができればよいのですが方法がわかりません。
よろしく、お願いします。
ちょっとスマホとの接続はしたことが無いので、
わからないです。
Andoroid側のアプリ開発も必要ですね。
健闘をお祈りします。
ありがとうございました。
頑張ってみます。
コメントを投稿