ããã«ã¡ã¯ãENGããŽã§ãã
é³å£°åæICã§ããATP3012ïŒã¢ã¯ãšã¹ã)ã¯ã·ãªã¢ã«éä¿¡ã§éä¿¡ããæååãé³å£°ããŒã¿ã«å€æããŠåºåããããšãã§ããŸããESP32-WROOM-32EããµãŒããŒã§åäœãããã©ãŠã¶ãŒã®ã¬ã¹ãã³ã¹ã«ãã£ãŠä»»æã®é³å£°ãåºåãããŠåäœç¢ºèªããŸããã
ESP32-WROOM-32EéçºããŒãïŒç§æé»åïŒã䜿çšãArduino IDEã§éçºãè¡ããŸãã
é³å£°åæICã¯ATP3012R5-PUïŒã¢ã¯ãšã¹ã補ïŒç§æé»åã§è³Œå ¥ïŒã䜿çšããŠããŸããåšèŸºåè·¯ã§é³å£°ãå¢å¹ ããããã«DçŽã¢ã³ãã¢ãžã¥ãŒã«ãšããŠAE-TPA2006ã¢ãžã¥ãŒã«ïŒç§æé»åïŒã䜿çšããŠããŸããã¢ã¯ã»ã¹ãã€ã³ãã«ã¯WZR-HP-G300NHïŒãããã¡ããŒïŒçç£äžæ¢ïŒã䜿çšããŠããŸãã äžèšèšäºã§ã¯ä»ã®ãã€ã³ã³ã䜿ã£ãŠé³å£°åçããããšããŸãšããŠããŸãã
Arduinoã©ã€ãã©ãªãšé³å£°åæICã§é³å£°ãåçãã
ãã¯ã€ã©ã€ãïŒTWELITEïŒã®ç¡ç·ã䜿ã£ãŠé éã§é³å£°åçããã
Seeeduino XIAOã§åŠã¹ããœããéçºãšæšæºã©ã€ãã©ãªã®äœ¿ãæ¹
ESP32-WROOM-32Eã䜿ã£ãŠåäœç¢ºèªããããšããŸãšããŠããŸãã
ESP32-WROOM-32Eã§åŠã¹ããœããéçºãšæšæºã©ã€ãã©ãªã®äœ¿ãæ¹
ã·ãªã¢ã«éä¿¡ã§é³å£°ãåçãã
ATP3012ã¯ããŒãåã§éä¿¡ããã·ãªã¢ã«ããŒã¿ãé³å£°ã«å€æããé³å£°åæICã§ããã¢ã¯ãšã¹ã瀟ã®é³å£°åæããã«ãŠã§ã¢ã§ããAquesTalkãArduino UNOãªã©ã§äœ¿çšãããŠãããã€ã³ã³ã«æèŒãã補åã§ãã
Arduino UNOã®ãã€ã³ã³ïŒATMEGA328PïŒã䜿çšããŠããããArduino UNOã®åºæ¿ã®ãã€ã³ã³ã眮ãæããããšã§ç°¡åã«é³å£°åºåã確èªã§ããã®ãç¹åŸŽã§ãã詳现ã¯ã¢ã¯ãšã¹ã瀟ã®HPãã確èªãã ããã
AQUEST-é³å£°åæLSIãAquesTalk pico LSIã
ATP3012ã·ãªãŒãºã䜿çšãã
ATP3012ã·ãªãŒãºã¯ã¯ãªã¹ã¿ã«ãªã©ã®çºæ¯åãå¿ èŠã§ããå¥ã·ãªãŒãºã®ATP3011ãããå èµã®çºæ¯åã§é³å£°ãåºåãããã®ããããŸãã
2ã€ã®ã·ãªãŒãºãæ¯èŒãããšATP3012ã·ãªãŒãºã®æ¹ãé³å£°ãèãåãããããšæããŠããŸãããATP3011ã§ãé³å£°ãèãåãã«ããããšã¯ãªãã®ã§éšåç¹æ°ãæžããããã®ãªãATP3011ãéžæãå°ãã§ãé³å£°ãæçã«ãããå Žåã¯ATP3012ãéžæãããšãããšæããŸãã
ATP3012ã·ãªãŒãºã«ãããŠATP3012F5ãšATP3012F6ã®ã©ã¡ããè³Œå ¥ããŠé³å£°ã確èªããŸãããATP3012F6ã®æççã®æ¹ãã¢ããŠã³ã¹ã«é©ããæãã§æ¥åçšãªã©ã«ã¯åããŠãããšæããŠããŸããATP3012F5ã¯æççãããé«ã声ãªã®ã§è¶£å³ã§éã¶åã«ã¯ATP3012F5ã®æ¹ã奜ã¿ã§ããã
ä»å䜿çšãããã³ã¯ä»¥äžã®éãã§ãã
| ãã³çªå· | æ©èœ | å 容 |
|---|---|---|
| 2 | RXD | ãã€ã³ã³ããã·ãªã¢ã«éä¿¡ãåä¿¡ããã |
| 9ã10 | XTAL1 XTAL2 | ã¯ãªã¹ã¿ã«çºæ¯åãæ¥ç¶10MHz/16MHzãå®è£ ãããã¯ãªã¹ã¿ã«ã®ä»æ§ã«ãã£ãŠã¯12-22pFã»ã©ã®ã³ã³ãã³ãµãå¿ èŠãšãªãã |
| 11 | CLK16 | åäœã¯ããã¯åãæ¿ã 16MHzã䜿çšããå ŽåHIGHã«ããã |
| 15 | AOUT | é³å£°åºå端åãDçŽã¢ã³ãã¢ãžã¥ãŒã«ã§ä¿¡å·ãå¢å¹
ããŠé³å£°åçããã ã¹ããŒã«ã®å®¹éïŒæµæã®ã€ã³ããŒãã³ã¹ãé«ãïŒã«ãã£ãŠã¯çŽä»ãå¯èœ |
ä»åã¯ã·ãªã¢ã«éä¿¡ã䜿çšããŠããŸããSPIãWireïŒI2CïŒéä¿¡ã§ãé³å£°åçããããšãå¯èœã§ããArduinoç°å¢ã§ã¯Serialã©ã€ãã©ãªã§ç°¡åã«éä¿¡ã§ããããã·ãªã¢ã«éä¿¡ãããããã§ãã
é³å£°åçã®æ¹æ³
void setup() {
//Serial2.begin(9600); //ATP3012ã®ããã©ã«ãã®ããŒã¬ãŒã
Serial2.begin(9600,SERIAL_8N1,16,17); //ãã³ãæå®ããŠåæå
}
//䜿çšäŸ
Serial2.print("ohayo-gozaima_su.\r"); //ãã¯ããããããŸã
ESP32-WROOM-32Eã®Serial2ã䜿çšããŸããSerialã¯ã·ãªã¢ã«ã¢ãã¿ã§äœ¿çšããããSerial2ã䜿çšããŠããŸããATP3012ã®ããã©ã«ãã®ããŒã¬ãŒãã9600bpsãªã®ã§9600ãæå®ããŠbegin()颿°ã§ã·ãªã¢ã«éä¿¡ãéå§ããŸããã©ã€ãã©ãªã®æŽæ°ã§ããã©ã«ããã³å€æŽã«ãªãããšãããã®ã§ãã³ãæå®ããŠåæåããæ¹ãè¯ãå ŽåããããŸãã
ãã³ãæå®ããŠåæåããå Žåã¯ç¬¬1åŒæ°ã«ããŒã¬ãŒãã第2åŒæ°ã«ããŒã¿ã®ãã©ãŒãããïŒArduinoã®ããã©ã«ãã¯ããŒã¿ããã8ãããªãã£ãªããã¹ãããããã1ïŒã第3åŒæ°ã«åä¿¡ã«äœ¿çšãããã³ã第4åŒæ°ã«éä¿¡ã«äœ¿çšãããã³ãæå®ããŸãã
Serial2.pirint()ã§åçãããé³å£°ã®ããŒãåå ¥åãè¡ããŸããæ¹è¡ã³ãŒãã§ãã\rãå ¥åãããšæååã®çµãããšããŠèªèããŠé³å£°åçãéå§ããŸãã
ãã䜿ãé³å£°èšå·
ä»å䜿çšããã¢ã¯ã»ã³ããåºåãèšå·ã«ã€ããŠãŸãšããŸãããé³å£°èšå·ä»æ§ã¯ããŒã¿ã·ãŒãã«èšèŒãããŠãããã®ãäžéšæç²ããŠãŸãšããŠããŸãã
| èšå· | å 容 |
|---|---|
| .ïŒ0x2EïŒ | ç¡é³åºéãå ¥ããæã®çµããã瀺ãã |
| ?ïŒ0x3FïŒ | ç¡é³åºéãå ¥ããåã®çµãããšãªããææ«ã®å£°ãé«ãã«ãªãã |
| ;ïŒ0x3BïŒ | 次ã®ã¢ã¯ã»ã³ããé«ãé³ã§å§ããã |
| /ïŒ0x2FïŒ | ã¢ã¯ã»ã³ãã®åºåããæå®ããã |
| ‘ïŒ0x27ïŒ | ã¢ã¯ã»ã³ãèšå·ã§é³ã®é«ãããé«âäœãã«å€åããéšåã«ã€ããã |
| _ïŒ0x5FïŒ | æ¯é³ã®i,uãæ¯åã䌎ããã«çºé³ãããã ããŒã¿ã·ãŒãã®èªã¿èšå·è¡šã«å®çŸ©ãããŠããé³ã®ã¿å¯Ÿå¿ |
é³å£°èšå·ã¯åè§æåã§æå®ããŸããæåã®æšªã®ïŒïŒå ã®å€ã¯èšå·ã«å¯Ÿå¿ããã¢ã¹ããŒã³ãŒãïŒããã¹ãïŒã16鲿°ã§ç€ºãããã®ã§ãã
Serial2.print("yorosiku;onegaisima_su.\r");
Serial2.print("genki+desuka? \r");
Serial2.print("konban'wa.\r");
ã¢ã¯ã»ã³ãèšå·ãä»ããªãå Žåã¯æ£èªã¿ã«ãªã£ãŠããŸããŸãããäžæã«ã¢ã¯ã»ã³ãèšå·ãä»ãããšæ£èªã¿ãããã€ã³ãããŒã·ã§ã³ããããããªãäžèªç¶ãªé³å£°ã«ãªã£ãŠããŸããŸãã
åºå
ãã€ãã¹ã4幎é£ç¶1äœãç²åŸããå®çžŸãæã€å®è·µåã®ããã°ã©ãã³ã°ã¹ã¯ãŒã«

WebServerã§è¡šç€ºããHTMLããŒã¿
ESP32-WROOM-32EãWebServerã䜿ã£ãŠéä¿¡ããæ¹æ³ã«ã€ããŠã¯äžèšèšäºã«ãŸãšããŠããŸãã
ESP32-WROOM-32Eã«ãµãŒããŒãå®è£ ããŠã¬ã¹ãã³ã¹ãã
ããã§ã¯ãhtmlã«ãã衚ãšãªã¹ãããã¯ã¹ã®å®è£ ã«ã€ããŠèª¬æããŠããŸãã
衚ãå®è£ ãã
<table border="1" style="background-color: lightyellow;">
<tr>
<th>é
ç®</th>
<th>å
容</th>
</tr>
<tr>
<td>ä»»æ</td>
<td>ä»»æã®æåãçæããŸãã</td>
</tr>
<tr>
<td>åçãªã¹ã</td>
<td>åçãªã¹ãããåçããŸã</td>
</tr>
</table>
HTMLã®<body>å ã«<table>ã¿ã°ãåãããšä»¥äžã®ããã«è¡šç€ºãããŸããèŠãæ¹ã¯ãã©ãŠã¶ãŒã«ãã£ãŠç°ãªãå ŽåããããŸãã
| é ç® | å 容 |
|---|---|
| ä»»æ | ä»»æã®æåãçæããŸãã |
| åçãªã¹ã | åçãªã¹ãããåçããŸã |
HTMLã§ã¯è¡šããšã¯ã»ã«ã®ããã«è¡šç€ºã¯ã§ããŸããæžãæ¹ã«ç¹åŸŽããããŸããã¿ã°ãšåŒã°ãã<>ã®èšå·ã䜿ã£ãããŒãã䜿ã£ãŠè¡šãæ§æããŸãã衚ã¯ããŒãã«ã¿ã°å ã§æšªæ¹åïŒè¡ïŒãæå®ããŠãã®äžã«ã»ã«ïŒåïŒãæå®ããŠæ§æããŸãã
<table>ã¿ã°ã§è¡šã®ç¯å²ãæå®ããŸãã<table>ã¿ã°å ã§border=1ã«ããŠããŸããããã¯è¡šã®æ ç·ã衚瀺ããå Žåã«äœ¿çšããŸãããã©ãŠã¶ãŒã«ãã£ãŠã¯åæã®æ¡ä»¶ã§è¡šç€ºãããããšããããŸãã衚ã®ã¹ã¿ã€ã«ãšããŠè¡šã®èæ¯è²ãæå®ããããšã§è¡šãç®ç«ãããŠããŸãã
<tr>ã¿ã°ã§è¡ã远å ããŸãã<td>ã¿ã°ãããã¯<th>ã¿ã°ã§è¡ãæå®ããŸãã<th>ã¿ã°ã䜿çšãããšãããã»ã«æ±ãã«ãªãæåãéåžžããã倧ãã衚瀺ãããŸãã
ãªã¹ãããã¯ã¹ãå®è£ ãã
<select name="onseisel" style="font-size:1rem;" >
<option value="1">ããã«ã¡ã¯</option>
<option value="2" selected>ããã°ãã¯</option>
<option value="3">ãããã¿ãªãã</option>
</select>
HTMLã®<body>å ã«<table>ã¿ã°ãåãããšä»¥äžã®ããã«è¡šç€ºãããŸããèŠãæ¹ã¯ãã©ãŠã¶ãŒã«ãã£ãŠç°ãªãå ŽåããããŸãã
selectã¿ã°ã䜿çšãããšãªã¹ãããã¯ã¹ãå®è£ ã§ããŸããselectã¿ã°å ã«éžæããoptionã¿ã°ã䜿ã£ãŠè¿œå ããŸãã
selectã¿ã°ã§ã¯å±æ§ãšããŠnameã«onseiselãæå®ããŠããŸãããªã¹ãããã¯ã¹ã§éžæããå€ãã»ããããããã«äœ¿çšããŸããäŸãã°ããã°ãã¯ãéžæãããšonseisel=”2″ã«ãªããŸãã
ãªã¹ãããã¯ã¹ã®åæå€ããããããã»ããããå Žåã¯optionã¿ã°å ã«selectedãæå®ããŸãã
åäœç¢ºèª

ESP32-WROOM-32Eã®28ãã³ã¯TX2ã«å²ãæ¯ããã(2024幎6æäžæ¬ã§ã¯TX2ã¯ããã©ã«ãã§9(25ïŒãã³ã§ã)ããATP3012F6ã®RXDãšæ¥ç¶ããŠã·ãªã¢ã«éä¿¡ã«ããã³ãã³ããåºåããŸããã¯ãªã¹ã¿ã«çºæ¯åïŒ16MHzïŒã䜿çšããŠããŸãã12ïœ22pFã®ã³ã³ãã³ãµãæ¥ç¶ããããšãæšå¥šãããŠããŸããä»åã¯ææã¡ã®ã³ã³ãã³ãµããªãã£ãã®ã§å®è£ ããŠããŸããã
TPA2006ã®/SDãå¶åŸ¡ããããšã§é³å£°ã®åºåãå¶åŸ¡ã§ããŸãã/SDãLOWã«ãããšTPA2006ãDisableïŒåäœåæ¢ïŒããŸããä»åã¯åžžã«ONããããVCCã«æ¥ç¶ããŠããŸãã
ATP3012ã®15ãã³ã®AOUTéšåã«ãã€ãºé€å»ã®ããã«R1ãšC4ãå®è£ ããŠããŸããC4ã¯0.047uFçšåºŠãããŒã¿ã·ãŒãã§åè·¯äŸãšããŠç€ºãããŠããŸããææã¡ã®ãã®ããªãã£ããã0.1uFã§ä»£çšããŠããŸãã
é³å£°ã®ããªã¥ãŒã ã調æŽãããå Žåã¯C4ããTPA2006ã«åããéšåã«å¯å€æµæãå ¥ããŠä¿¡å·é»å§ã調æŽãããšããã§ãããã
ã¹ããŒã«ã®ã€ã³ããŒãã³ã¹ãé«ããã®ã§ããã°çŽæ¥æ¥ç¶ããããšãã§ããŸããã倧ããªé³ãåºãããå Žåã¯ã€ã³ããŒãã³ã¹ãäœã8ΩãŸãã¯4Ωã®ã¹ããŒã«ãæ¥ç¶ããå ŽåããããŸãã
ã€ã³ããŒãã³ã¹ãäœãã¹ããŒã«ã§å€§ããªé³ãåºãããå Žåã¯ã¢ã³ãã䜿çšããŠATP3012ã®é³å£°åºåãä¿¡å·å¢å¹ ããå¿ èŠããããŸããä»åã¯TPA2006ã䜿ã£ãŠä¿¡å·å¢å¹ ããŠããŸããTPA2006ã¯è² è·ã8Ωã§ããã°æå€§ã§1.45Wã®åºåãå¯èœãªDçŽã¢ã³ãã¢ãžã¥ãŒã«ã§ãã
EPS32-WROOM-32Eã¯ã¢ã¯ã»ã¹ãã€ã³ãã«å¯ŸããŠæ¥ç¶èŠæ±ãè¡ããŸããæ¥ç¶ã確ç«ãããšã¹ãããªã©ã®ãã©ãŠã¶ãŒã§ããŒãžã衚瀺ããããšãã§ããŸãã
åçãªã¹ãããé³å£°ãåçããå Žåã¯é ç®ã®ãåçãªã¹ããã®ã©ãžãªãã¿ã³ãéžæããŠãªã¹ãããã¯ã¹ããåçãããé³å£°ãéžæããŸãã
ä»»æã®é³å£°ãåçããå Žåã¯é ç®ã®ãä»»æãã®ã©ãžãªãã¿ã³ãéžæããŠããã¹ãããã¯ã¹ã«ã³ãã³ããå ¥åããŸãã\rã¯ãœãŒã¹ã³ãŒãã§ä»å ããããäžèŠã§ãã
éä¿¡éå§ãã¿ã³ãæŒããšã·ãªã¢ã«éä¿¡ã䜿çšããŠATP3012ã«ã³ãã³ããéä¿¡ããŠé³å£°ãåçããŸãã
ãœãŒã¹ã³ãŒãå šäœ
ãœãŒã¹ã³ãŒãã¯èšäºäœææç¹ã«ãããŠåäœç¢ºèªã§ããŠããŸããã䜿çšããŠããã©ã€ãã©ãªã®æŽæ°ã«ããåäœãä¿èšŒã§ããªããªãå¯èœæ§ããããŸãããŸãããœãŒã¹ã³ãŒãã䜿çšããããšã«ãã£ãŠçããäžå©çãªã©ã®äžåã®è²¬ä»»ãè² ããããŸããåèè³æãšããŠã䜿ããã ããã
#include <Wire.h>
#include <WebServer.h>
#define SERVER_WAIT_MAX 180
#define TIME_RECONNCT_MAX 3000
#define TIME_OFF -1 //ã¿ã€ããŒã䜿çšããªãå Žå
#define TIME_UP 0 //ã¿ã€ã ã¢ãã
#define BASE_CNT 10 //ããŒã¹ã¿ã€ãã«ãŠã³ãå€
const char *ssid = "xxxxxxxxxxxx"; //SSID
const char *pass = "yyyyyyyyyyyy"; //password
const IPAddress ip(192,168,11,20); //IPã¢ãã¬ã¹
const IPAddress subnet(255,255,255,0); //ãµãããããã¹ã¯
/* 倿°å®£èš */
String onseistr;
String onseisel;
String onseiRatio;
int16_t timreconnect = TIME_OFF;
uint32_t beforetimCnt = millis();
WebServer Wserver(80);
/* ãããã¿ã€ãå®£èš */
void mainApp(void);
void mainTimer(void);
void HtmlSet(void);
void HtmlPost(void);
void handleNotFound(void);
void setup() {
Serial.begin(115200);
//Serial2.begin(9600);//ã©ã€ãã©ãªã®æŽæ°ã«ããããã©ã«ãå€å€æŽ
Serial2.begin(9600,SERIAL_8N1,16,17);
WiFi.mode(WIFI_STA); //ã¹ããŒã·ã§ã³ã¢ãŒã
WiFi.config(ip, ip, subnet);
WiFi.begin(ssid, pass); //WiFiã®ã¢ã¯ã»ã¹ãã€ã³ãã®èšå®
uint16_t wait = SERVER_WAIT_MAX;
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(wait);
Serial.print("..");
if ( --wait <= 0 ) {
ESP.restart(); //èšå®æéãéããã匷å¶ïœ¿ïŸïŸïŸïœŸïœ¯ïŸãè¡ã
break;
}
}
Wserver.on("/", HTTP_GET, HtmlSet); //URLãæå®ããŠåŠçãã颿°ãæå®
Wserver.on("/", HTTP_POST, HtmlPost); //URLãæå®ããŠåŠçãã颿°ãæå®
Wserver.onNotFound(handleNotFound); //URLãååšããªãå Žåã®åŠçãã颿°ãæå®
Wserver.begin(); //WebãµãŒããŒã®éå§
onseiRatio = "1";
}
void loop() {
auto status = WiFi.status();
if( status != WL_CONNECTED ){
if( timreconnect == TIME_OFF ){
if( status == WL_DISCONNECTED ){
timreconnect = TIME_RECONNCT_MAX;
WiFi.reconnect();
Serial.println("Re-Connecting-start");
//reconnectflg = true;
}
}
}
else{
Wserver.handleClient();
}
if( timreconnect == TIME_UP ){
timreconnect = TIME_OFF;
}
}
/* ã¿ã€ã管ç */
void mainTimer(void){
if ( millis() - beforetimCnt > BASE_CNT ){
beforetimCnt = millis();
if( timreconnect > TIME_UP ){
--timreconnect;
}
}
}
/*ãã¯ã©ã€ã¢ã³ãã«è¿ä¿¡ããhtmlããŒã¿ãçæ */
void HtmlSet(void){
String str = "";
str += "<html lang=\"ja\">";
str += "<head>";
str += "<meta charset=\"UTF-8\">";
str += "<title>é³å£°åäœç¢ºèª</title>";
str += "</head>";
str += "<body>";
str += "<h1>é³å£°åäœç¢ºèª</h1>";
str += "<form method='post'>";
str += "<label>é³å£°ãã¿ãŒã³ãå
¥åããŸãã</label>";
str += "<br>";
str += "<table border='1pt' style='background:lightyellow;'>";
str += "<tr><th>é
ç®</th><th>å
容</th></tr>";
str += "<td><input type='radio' name='onseiRatio' value='0'";
if(onseiRatio == "0") {
str += " checked"; }
str += ">ä»»æ ";
str += "</td>";
str += "<td>ä»»æã®æåãåçããŸãã<br>";
str += "<input type='text' id='onseistr' name='onseistr'";
str += "style='font-size:1rem; width:50rem; padding:16px; placeholder='konnitiwa'>";
str += "</td>";
str += "<tr><td><input type='radio' name='onseiRatio' value='1'";
if(onseiRatio == "1") {
str += " checked"; }
str += ">åçãªã¹ã";
str += "<td>é³å£°ãªã¹ãããåçããŸãã<br>";
str += "<select name='onseisel' style='font-size:2rem;'>";
str += "<option value='0'";
if( onseisel =="0"){
str += "selected";}
str += ">ããããããããŸãã</option>";
str += "<option value='1'";
if( onseisel =="1"){
str += "selected";}
str += ">ããã«ã¡ã¯</option>";
str += "<option value='2'";
if( onseisel =="2"){
str += "selected";}
str += ">ããã°ãã¯</option>";
str += "<option value='3'";
if( onseisel =="3"){
str += "selected";}
str += ">ãããã¿ãªãã</option>";
str += "<option value='4'";
if( onseisel =="4"){
str += "selected";}
str += ">ãã£ãŠãã£ããã</option>";
str += "<option value='5'";
if( onseisel =="5"){
str += "selected";}
str += ">ãããããªãã</option>";
str += "<option value='6'";
if( onseisel =="6"){
str += "selected";}
str += ">ããã ããŸã</option>";
str += "<option value='7'";
if( onseisel =="7"){
str += "selected";}
str += ">ãã¡ããããŸã§ãã</option>";
str += "<option value='8'";
if( onseisel =="8"){
str += "selected";}
str += ">ããããããããããŸã</option>";
str += "</select>";
str += "</td></tr>";
str += "</table>";
str += "<br><br>";
str += "<input type='submit' value='éä¿¡éå§'";
str += "style='padding: 20px; min-width: 500px;border-radius: 5px;";
str += "font-family: inherit; background: lightgreen; font-size: 2rem;'>";
str += "</form>";
str += "</body>";
str += "</html>";
Wserver.send(200,"text/html", str);
//HTTPã¬ã¹ãã³ã¹200ã§htmlããŒã¿ãšããŠéä¿¡
}
/* éä¿¡ãæŒãããšãã«é·ç§»ãã */
void HtmlPost(void){
String str = "";
uint8_t sel;
uint8_t rsel;
onseiRatio = Wserver.arg("onseiRatio");
onseisel = Wserver.arg("onseisel");
onseistr = Wserver.arg("onseistr");
rsel = onseiRatio.toInt();
sel = onseisel.toInt();
if( rsel ){
switch (sel)
{
case 0:
Serial2.print("ohayo-gozaima_su.\r");
break;
case 1:
Serial2.print("konniti'wa.\r");
break;
case 2:
Serial2.print("konban'wa.\r");
break;
case 3:
Serial2.print("oyasumina'sai.\r");
break;
case 4:
Serial2.print("ittera'sshai.\r");
break;
case 5:
Serial2.print("okaerina'sai.\r");
break;
case 6:
Serial2.print("itadakima_su.\r");
break;
case 7:
Serial2.print("gochisousamade'sita.\r");
break;
case 8:
Serial2.print("yorosiku;onegaisima_su.\r");
break;
default:
break;
}
}
else{
if( onseistr.length() > 0 ){ //æžã蟌ã¿
Serial2.print(onseistr);
Serial2.print("\r");
}
}
str += "<html lang=\"ja\">";
str += "<head>";
str += "<meta http-equiv='refresh' content='1;'>";
str += "<meta charset=\"UTF-8\">";
str += "<title>Sensor graph</title>";
str += "</head>";
str += "<body>";
str += "<h1>é³å£°åçäž</h1>";
str += "</body>";
str += "</html>";
Wserver.send(200, "text/html", str);
}
/* URLãååšããªãå Žåã®åŠç */
void handleNotFound(void) {
String message = "File Not Found\n\n";
message += "URI: ";
message += Wserver.uri();
message += "\nMethod: ";
message += (Wserver.method() == HTTP_GET) ? "GET" : "POST";
message += "\nArguments: ";
message += Wserver.args();
message += "\n";
for (uint8_t i = 0; i < Wserver.args(); i++) {
message += " " + Wserver.argName(i) + ": " + Wserver.arg(i) + "\n";
}
Wserver.send(404, "text/plain", message); //ããã¹ããã¡ã€ã«ã§ããããšã瀺ããŠããã
}
Serial2ã®RX2ãTX2ã®ããã©ã«ããã³ãã©ã€ãã©ãªã®æŽæ°ã«ããèšäºäœææããå€ãã£ãŠããããbegin()颿°ã§ããŒã¿ãããåã³ãã³ãæå®ããŠåæåãè¡ã£ãŠããŸãã
ã¢ã¯ã»ã¹ãã€ã³ãã®SSIDãšPASSã¯ã䜿ãã®ç°å¢ã«çœ®ãæããŠäžããã
é¢é£ãªã³ã¯
Arduinoã®ã©ã€ãã©ãªã䜿ã£ãŠåäœç¢ºèªãè¡ã£ãããšãäžèšãªã³ã¯ã«ãŸãšããŠããŸãã
Arduinoã§åŠã¹ããã€ã³ã³ã®ãœããéçºãšæšæºã©ã€ãã©ãªã®äœ¿ãæ¹
Seeeduino XIAOã§åŠã¹ããœããéçºãšæšæºã©ã€ãã©ãªã®äœ¿ãæ¹
ESP32-WROOM-32Eã§åŠã¹ããœããéçºãšæšæºã©ã€ãã©ãªã®äœ¿ãæ¹
Raspberry Pi Picoã§åŠã¹ããœããéçº
PRïŒæè¡ç³»ã®éä¿¡æè²è¬åº§ãªãJTEX
æåŸãŸã§ãèªãã§ããã ãããããšãããããŸããã





é³å£°èšå·ãã¢ã¯ã»ã³ãèšå·ããŸã 䜿ãããªããŠããªããããé³å£°ãããã¡ãªãæãã«ãªã£ãŠããŸãããããŸã䜿ããããã«ãªããšèãåããããé³å£°ãã¿ãŒã³ãäœãããã§ãã