Hướng dẫn test module wifi ESP8266 với máy tính (phần 2)

Các lệnh AT đối với IP Client

AT command Description Parameter Example
AT+CIPSTATUS Kiểm tra trạng thái kết n   AT + CIPSTATUS
AT+CIPSTART=<type>, <address>, <port> Tạo 1 kết nối IP với AT+CIPMUX=0(chế độ kết nối đơn kênh) type:"TCP" /"UDP" 
address"IPaddress" 
port: TCP/UDP port
AT+CIPSTART="TCP","192.168.3.10", 3000
AT+CIPSEND=<len> truyền dữ liệu tới server len: độ dài dữ liệu AT+CIPSEND = 5 
>hello
AT+CIPCLOSE Đóng kết nối TCP/UDP   AT+CIPCLOSE
AT+CIPSTART=<id>,<type>,<address>, <port> Tạo một kết nối IP với AT+CIPMUX = 1(chể độ kết nối đa kênh) id: 0-4 
type:"TCP"/"UDP" 
address"IPaddress" 
port:TCP/UDP port
AT+CIPSTART=4,"TCP","192.168.3.10", 3000
AT+CIPSEND= <id>, <len> Truyền dữ liệu tới server id: 0-4 
len: Độ dài dữ liệu
AT+CIPSEND = 1,5
> hello
AT+CIPCLOSE= <id> Đóng kết nối TCP/UDP  id: 0-4 AT+CIPCLOSE = 1

Trong Clip sau sẽ hướng dẫn các bạn đưa dữ liệu lên website "thingspeak.com"( đóng vai trò là server) sử dụng module wifi esp8266.  Các bạn hãy tìm hiểu kĩ hơn về " thingspeak.com" hay internet of thing (IOT) chúng sẽ giúp ích cho bạn rất nhiều.

Chú thích trong Clip:

-      Đăng kí một tài khoản trên website” thingspeak.com”

-      Tạo một kênh để up dữ liệu lên

-      Kết nối module Esp8266 với module Uart như làm ở phần 1

-      Cấp nguồn cho module Esp8266

-      Cấu hình Esp8266 là Station

AT+CWMODE=1

-      Truy cập vào một mạng wifi

AT+CWJAP=”TÊN MẠNG”,“MẬT KHẨU”

-      Cài đặt ESP8266 có thể kết nối được với nhiều kênh

AT+CIPMUX=1

-      Kết nối với thingspeak server (184.106.153.149), với htt Port là 80

 AT+CIPSTART=<id>,”TCP”,”184.106.153.149”,80

(<id> là kênh ESP8266 dùng để kế nối với thingspeak server, các bạn có thể dùng được các kênh từ 0-4)

Ví dụ: AT+CIPSTART=3,”TCP”,”184.106.153.149”,80

-      Gửi số liệu lên thingspeak server, tới kênh dữ liệu đã được tạo trên thingspeak, tại các Field1,  Field 2…của kênh 

 >>Ta cần truyền một chuỗi kí tự tới server có form như sau :

GET / update?key=<WriteAPI Key>&<fieldx>=<số liệu truyền đi>, kết thúc chuỗi kí tử phải có “\r\n” tương đương với việc truyền đi 2 byte 0x0D , 0x0A.

Trong đó:

Write API Key - mật mã để viết số liệu lênh 1 kênh của server, mỗi một kênh trên sever sẽ có một mật mã riêng.

 fieldx là một trong các trường từ field1… field8

 

>>Lệnh truyền dữ liệu tới server với ESP8266:

                       AT+CIPSEND=<id>,<độ dài chuỗi kí tự>

>  “Chuỗi kí tự cần truyền đi “

Ví dụ, muốn truyền giá trị 12.5 lênh một kênh nào đó của server tại field1 thì chuỗi cần truyền đi sẽ là:

“GET /update?key=XOMM1M44L0ZHZE85&field1=12.5”

Để truyền được chuỗi này cần phải xác định được độ dài của chuỗi kí tự,  ở ví dụ này là 46 kí tự (bạn nhớ cộng thêm 2 byte 0x0D và 0x0A)

>> truyền dữ liệu tới server

AT+CIPSEND=3,46

> GET /update?key=XOMM1M44L0ZHZE85&field1=12.5

-      Cuối cùng để đóng kết nối TCP

AT+CIPCLOSE

Các lệnh đối với IP server

AT command Description Parameter Example
AT+CIPSERVER=1 [, <port>] TCP server bắt đầu hoạt động port: TCP port AT+CIPSERVER = 1.8001
AT+CIPSERVER=0 TCP server ngắt kết nối   AT+CIPSERVER = 0
AT+CIPSTO=<timeout> đặt thời gian timeout cho TCP server timeout = 0-28800s AT+CIPSTO = 180
AT+CIPSTO?     AT+CIPSTO?

Khi một TCP server bắt đầu hoạt động, nó có thể làm việc đồng thời với 5 kết nối

Chú ý: IP server chỉ có thể được bật trong chế độ AT + CIPMUX = 1

 

 http://mlab.vn/(Phạm Tuấn Anh - MLAB )

Hướng dẫn test module wifi ESP8266 với máy tính (phần 1)
 
Hướng dẫn lập trình ESP8266 EVB (MLAB) dùng Arduino IDE
 
Hướng dẫn nạp Firmware AT cho ESP8266
 

Viết đánh giá

Họ và tên:


Đánh giá của bạn: Lưu ý: Không hỗ trợ HTML!

Bình chọn: Dở            Hay

Nhập mã bảo vệ: