Lesson 2 send temperatue/humid data to browser
https://osoyoo.com/2018/09/11/use-w5100-ethernet-shield-to-make-an-arduino-iot-web-server/
内容
温度と湿度を測定してWEBページに表示
おまけとして、LEDの表示・非表示をリンクで変更できる
学んだこと
DHT.read11(DHT11_PIN);
DHT.temperature;
DHT.humidity;
温度・湿度
while (client.connected()) {
if (client.available()) {
char c = client.read();
//read char by char HTTP request
while (readString.length() < 100 && c != 0x0D ) {
//store characters to string
readString += c;
c = client.read();
}
// control arduino pin
if(readString.indexOf("?LEDON") > -1) //checks for LEDON
{
digitalWrite(ledPin, HIGH); // set pin high
}
else
{
if(readString.indexOf("?LEDOFF") > -1) //checks for LEDOFF
{
digitalWrite(ledPin, LOW); // set pin low
}
}
リンクによってLEDをつけたり、消したり。リクエストの情報をclient.readで読み出せるようだが、byte毎の読み出ししかできないので、100bitもしくは終わりまでループさせて、その中にLEDONやLEDOFFが存在しているのかを確認して、digitalWriteのHIGH or LOWでLEDをつけたり消したりしている。
https://www.arduino.cc/en/Reference/ClientRead
ハマったこと
1. ライブラリーdhtが見つからないというエラーが発生
→ 上のosoyoo.comのlesson2をよく読むと、Ardunio libray DHTのダウンロードリンクが存在する
DL後にArdunio IDE の/Users/ユーザ名/Documents/Arduino/librariesに配置。
参考サイト
感想
アクセスしてくるURLでLEDをつけたり、消したりできたのは、「おー」っと思った。