ในบทความนี้ผมจะอธิบายถึงวิธีการทําให้ ESP8266 เป็น Access point ให้อุปกรณ์อุปกรณ์อื่นๆ ที่เชื่อมต่อ wifi ได้ เช่น computer, smart phone ฯลฯ มาเชื่อมต่อกับ SEP8266 แล้วควบคุม i/o ปิด/เปิด LED ผ่านเว็บ ด้วยวิธีส่งข้อมูลผ่าน HTTP_GET เช่น
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
/*-- Set SSID, Password and IP --*/
const char *ssid = "test-esp8266"; //config ssid
const char *password = "12345678"; //config password
const byte wifi_ip[4] = {192, 168, 1, 2}; //config ipaddress of access point
const byte wifi_subnet[4] = {255, 255, 255, 0}; //config subnet mask of access point
const byte wifi_gateway[4] = {192, 168, 1, 1}; //config gateway of access point
/*-- Create server port 80 --*/
ESP8266WebServer server(80);
/*-- http://ip_address/ --*/
void root() {
server.send(200, "text/html", "<h1>Hello World :)</h1><br/>");
}
/*-- http://ip_address/led --*/
void led(){
if(server.arg("set")=="1"){
digitalWrite(BUILTIN_LED, LOW); // LED ON
server.send(200, "text/html", "<h1>LED: ON</h1><br/>");
}else if(server.arg("set")=="0"){
digitalWrite(BUILTIN_LED, HIGH); // LED OFF
server.send(200, "text/html", "<h1>LED: OFF</h1><br/>");
}
}
void setup() {
/*-- Initial pin output --*/
pinMode(BUILTIN_LED, OUTPUT);
/*-- Config wifi ---*/
WiFi.softAP(ssid, password);
WiFi.softAPConfig(
IPAddress(wifi_ip[0], wifi_ip[1], wifi_ip[2], wifi_ip[3]),
IPAddress(wifi_gateway[0], wifi_gateway[1], wifi_gateway[2], wifi_gateway[3]),
IPAddress(wifi_subnet[0], wifi_subnet[1], wifi_subnet[2], wifi_subnet[3])
);
/*-- Handle url request --*/
server.on("/", root); // http://ip_address/
server.on("/led", HTTP_GET, led); // http://ip_address/led
/*-- Server start --*/
server.begin();
}
void loop() {
server.handleClient();
}
download source code จาก Source code ตัวอย่าง esp8266 จะทำงานเป็น Access point โดยมีรายละเอียดดังนี้
สามารถเปลี่ยนได้ตรงบรรทัดที่ 6-10 ถ้าไม่ต้องการใส่ password สามารถแก้ตรงบรรทัดที่ 37 โดยลบพารามิเตอร์ password ออก function root จะทำงานเมื่อเรียก http://192.168.1.2/ โดยใน function นี้ผมเขียนให้แสดงคำว่า Hello World function led จะทำงานเมื่อเรียก http://192.168.1.2/led โดยใน function นี้ ผมเขียนให้รับค่าจาก HTTP_GET มาเพื่อควบคุมการ ปิด-เปิด LED ตัวอย่างการเรียกคือ http://192.168.1.2/led?set=1 มีข้อสงสัยตรงไหน หรือผิดพลาดอะไรก็ comment ได้เลยนะครับ :) ดูวีดีโอตัวอย่าง
สวัสดีครับ หลังจาก EP.1 เราได้เรียนรู้การ Install และสร้าง Project กันไปแล้ว ในบทความนี้ก็เป็น EP.2 แล้วนะครับ จะเป็นเรื่องเกี่ยวกับ ภาษา Dart ซึ่งเป็นเนื้อหาที่จําเป็นในการพัฒนา Mobile application ด้วย Flutter
วิธีเอา taskbar ของ raspberry pi ออก คือ ให้ย้ายไฟล์ "panel" ไปไว้ใน path อื่น โดยปกติไฟล์ "panel" จะอยู่ใน path "~/.config/lxpanel/LXDE/panels"
สวัสดีครับ ในหัวข้อนี้จะเกี่ยวข้องกับรูปแบบการเขียน หรือ Syntax ของ Template ที่อยู่ภายใน Component หรือพูดง่ายๆก็คือการเขียน UI ของ Component นั้นแหละครับ ซึ่งมันจะเขียนเป็น HTML ธรรมดา แต่ก็จะมี Syntax บางอย่างที่จะเขียนในรูปแบบของ Vue ซึ่งจะทําให้เราเขียน Code ได้ง่ายขึ้น ถ้ายังนึกไม่ออกว่า Template มัน