Samples_wlan - gfd-dennou-club/mrubyc-esp32 GitHub Wiki
はじめに
WLAN クラスのメソッドについては,Class_WLAN を参照されたい.
Wi-Fi の接続
src/master.rb を以下のように編集する.make monitor でネットワークパラメタが表示されることを確認する.
Web サーバ上の HTML ファイルにアクセスする例
wlan = WLAN.new('STA')
wlan.connect("SSID", "パスフレーズ") # 自分の環境に合わせて設定.2.4GHz帯を使うこと.
# ネットワークパラメタを表示
puts wlan.ifconfig # 全パラメタ
puts wlan.ip # IP アドレス
puts wlan.mac # MAC アドレス
loop do
if ( wlan.connected? ) #通信が確立していたら
hoge = HTTP.get( "https://hoge.matsue-ct.ac.jp/~sugiyama/test.htm")
puts hoge
break
end
sleep 1
end
puts "PROGRAM FINISHED"
Web サーバ上の PHP スクリプトに GET メソッドでデータを渡す例
wlan = WLAN.new('STA')
wlan.connect("SSID", "パスフレーズ") # 自分の環境に合わせて設定.2.4GHz帯を使うこと.
# ネットワークパラメタを表示
puts wlan.ifconfig # 全パラメタ
puts wlan.ip # IP アドレス
puts wlan.mac # MAC アドレス
loop do
if ( wlan.connected? ) #通信が確立していたら
hoge = HTTP.get( "https://hoge.matsue-ct.ac.jp/~sugiyama/test.php?name=hero&cal=20")
puts hoge
break
end
sleep 1
end
puts "PROGRAM FINISHED"
Web サーバ上の PHP スクリプトに GET メソッドでデータを渡す例.BASIC 認証利用の場合.
wlan = WLAN.new('STA')
wlan.connect("SSID", "パスフレーズ") # 自分の環境に合わせて設定.2.4GHz帯を使うこと.
# ネットワークパラメタを表示
puts wlan.ifconfig # 全パラメタ
puts wlan.ip # IP アドレス
puts wlan.mac # MAC アドレス
loop do
if ( wlan.connected? ) #通信が確立していたら
hoge = HTTP.get( "https://hoge.matsue-ct.ac.jp/~sugiyama/test.php?name=hoge&cal=10", user:"hogehoge", passwd:"herohero" ) #Basic認証で使う文字列はダブルクォーテーションで囲むこと.
puts hoge
break
end
sleep 1
end
puts "PROGRAM FINISHED"
Web サーバ上の PHP スクリプトに POST メソッドでデータを渡す例.
wlan = WLAN.new('STA')
wlan.connect("SSID", "パスフレーズ") # 自分の環境に合わせて設定.2.4GHz帯を使うこと.
# ネットワークパラメタを表示
puts wlan.ifconfig # 全パラメタ
puts wlan.ip # IP アドレス
puts wlan.mac # MAC アドレス
loop do
if ( wlan.connected? ) #通信が確立していたら
# Web サーバ上の PHP スクリプトに POST メソッドでデータを渡す例.
url = "https://hoge.matsue-ct.ac.jp/~sugiyama/test.php"
post_data = "{\"name\":\"hero\", \"tel\":\"foo\", \"num\":23}" #文字列にはクォーテーションが必要.数字には不要.
hoge = HTTP.post( url, post_data )
puts hoge
break
end
sleep 1
end
puts "PROGRAM FINISHED"
Web サーバ上の PHP スクリプトに POST メソッドでデータを渡す例.BASIC 認証利用の場合.
wlan = WLAN.new('STA')
wlan.connect("SSID", "パスフレーズ") # 自分の環境に合わせて設定.2.4GHz帯を使うこと.
# ネットワークパラメタを表示
puts wlan.ifconfig # 全パラメタ
puts wlan.ip # IP アドレス
puts wlan.mac # MAC アドレス
loop do
if ( wlan.connected? ) #通信が確立していたら
url = "https://hoge.matsue-ct.ac.jp/~sugiyama/test.php"
post_data = "{\"name\":\"hoge\", \"tel\":\"hero\", \"num\":100}" #文字列にはクォーテーションが必要.数字には不要.
hoge = HTTP.post( url, post_data, user:"hogehoge", passwd:"herohero" ) #Basic認証で使う文字列はダブルクォーテーションで囲むこと.
puts hoge
break
end
sleep 1
end
puts "PROGRAM FINISHED"
参考:テスト用 PHP スクリプト
上記の動作確認で使っている PHP スクリプトは以下のようになっている.
<?php
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
$name = $_GET['name'];
$cal = $_GET['cal'];
if ($name && $cal){
echo "GET request recieved \n";
echo "name : ". $name . "\n";
echo "cal : ". $cal . "\n";
}
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$data = json_decode(file_get_contents('php://input'), true);
if ($data) {
echo "POST request received". "\n";
foreach ($data as $key => $value) {
echo $key . ": " . $value . "\n";
}
} else {
echo "No data received\n";
}
}
?>