Hướng dẫn cho người mới bắt đầu về ESP8266 và Tweet bằng cách sử dụng ESP8266: 17 bước (có hình ảnh)
Hướng dẫn cho người mới bắt đầu về ESP8266 và Tweet bằng cách sử dụng ESP8266: 17 bước (có hình ảnh)
Anonim
Hướng dẫn cho người mới bắt đầu về ESP8266 và Tweet bằng ESP8266
Hướng dẫn cho người mới bắt đầu về ESP8266 và Tweet bằng ESP8266

Tôi đã biết về Arduino cách đây 2 năm, vì vậy tôi bắt đầu chơi với những thứ đơn giản như đèn LED, nút bấm, động cơ, v.v. Sau đó, tôi nghĩ sẽ không thú vị khi kết nối để làm những thứ như hiển thị thời tiết trong ngày, giá cổ phiếu, thời gian tàu trên Tôi thấy rằng điều này có thể được thực hiện bằng cách gửi và nhận dữ liệu thông qua internet. Vì vậy, giải pháp là kết nối với intenet. Tôi bắt đầu tìm kiếm về cách kết nối Arduino với internet và gửi và nhận dữ liệu, tôi đã tìm hiểu về các mô-đun wifi trên internet và thấy chúng rất tốn kém.

Tôi đã đọc rất nhiều trên internet về mô-đun ESP8266 khoảng một năm trước và đã mua một mô-đun nhưng mới bắt đầu làm việc với chúng vào tháng trước. trên internet về phần sụn, lệnh AT, dự án, v.v. Vì vậy, tôi quyết định bắt đầu.

Tôi đã viết bài hướng dẫn này như một hướng dẫn dành cho người mới bắt đầu vì tôi đã gặp phải rất nhiều vấn đề trong việc đấu dây và bắt đầu với ESP8266.

Trong bài giảng này, tôi sẽ cố gắng thể hiện

  • Cách kết nối ESP8266 và giao tiếp với nó thông qua Arduino Uno.
  • Tôi cũng sẽ cố gắng chỉ ra cách một tweet có thể được gửi qua nó bằng Thingspeak.

ESP8266 có thể làm gì? này có thể hướng dẫn cách gửi một tweet.

Bước 1: Những thứ bạn sẽ cần

Những thứ bạn sẽ cần
Những thứ bạn sẽ cần

Đây là những thứ bạn sẽ cần. Hầu hết những thứ này có thể được mua từ bất kỳ cửa hàng điện nào hoặc trực tuyến (tôi đã cung cấp các liên kết để tham khảo).

  • 1xESP8266 (ESP-01) -ebay
  • Bộ điều hợp 1xBreadboard (tìm hiểu cách tạo một bộ điều hợp tại đây hoặc sử dụng một số dây nhảy)
  • 1xLM2596 -ebay
  • 1xLogic công cụ chuyển đổi -ebay
  • 1xArduino Uno
  • Cáp USB cho Arduino Uno
  • 1xBreadboard -ebay
  • Wires -ebay
  • Arduino IDE
  • Một tài khoản với Thingspeak

Tổng chi phí sẽ vào khoảng 600 Rs (khoảng 9 đô la). Tôi đã loại trừ chi phí của Arduino Uno vì nó phụ thuộc vào việc bạn muốn bản gốc hay bản sao. Các bản sao rẻ nhất hiện có khoảng 500 Rs (khoảng 4 đô la).

Bước 2: Một số thông tin trên ESP8266

ESP8266 được ra mắt vào năm 2014 chỉ một năm trước nên nó còn khá mới, chip được sản xuất bởi Espressif.

Thuận lợi

Ưu điểm lớn nhất của ESP8266 có lẽ là giá thành của nó, khá rẻ và bạn có thể mua một vài chiếc trong số này chỉ với một lần sử dụng.. Các phiên bản mới của ESP8266 đang được phát hành khá thường xuyên và phiên bản mới nhất là ESP 12. Tuy nhiên, trong Bài hướng dẫn này, tôi sẽ chỉ tập trung vào ESP 01 khá phổ biến, hơn nữa khi bạn mua ESP8266, nó được tải sẵn firmware AT mặc định. bạn nên bắt đầu ngay khi mua một cái.. Ngoài ra, như bạn sẽ thấy từ hướng dẫn này, khá dễ dàng để giao tiếp với chúng.

Điều bất lợi

Mỗi thiết bị đều có những ưu và nhược điểm riêng và ESP cũng không khác..com tồn tại giúp ích rất nhiều, hơn nữa nó cũng đôi khi bắt đầu làm những việc không mong muốn như ném một đống rác thông qua kết nối nối tiếp, v.v.

Lưu ý rằng có rất nhiều tài liệu có sẵn trên internet và một số phần của nó là xung đột. quá) nhưng nó hoạt động tốt.

Bước 3: Sơ đồ của ESP8266

Sơ đồ của ESP8266
Sơ đồ của ESP8266

ESP8266 có 8 chân như hình.

Gnd và Vcc nên được kết nối như bình thường với mặt đất và nguồn cung cấp tương ứng. ESP8266 hoạt động trên 3.3V.

Chân RESET được sử dụng để thiết lập lại ESP theo cách thủ công, thông thường nó phải được kết nối 3.3V, nếu bạn muốn đặt lại ESP, hãy kết nối chân này với mặt đất trong giây lát rồi quay lại 3.3V.

CH_PD là sự cố nguồn chip thường được kết nối với 3.3V.

GPIO0 và GPIO2 là các chân đầu ra đầu vào mục đích chung, thông thường chúng phải được kết nối với 3.3V, tuy nhiên khi flash firmware, hãy kết nối GPIO0 với gnd.

Các chân Rx và Tx là các chân truyền và nhận của ESP8266. Chúng hoạt động trên logic 3.3V tức là 3.3V là logic HIGH đối với ESP8266.

Các kết nối chi tiết được cung cấp trong các bước sau.

Bước 4: Những gì nên được sử dụng để giao tiếp với ESP8266?

Những gì nên được sử dụng để giao tiếp với ESP8266?
Những gì nên được sử dụng để giao tiếp với ESP8266?
Những gì nên được sử dụng để giao tiếp với ESP8266?
Những gì nên được sử dụng để giao tiếp với ESP8266?
Những gì nên được sử dụng để giao tiếp với ESP8266?
Những gì nên được sử dụng để giao tiếp với ESP8266?

Có rất nhiều thiết bị có thể được sử dụng để giao tiếp với ESP8266 như bộ lập trình FTDI, bộ chuyển đổi nối tiếp USB sang TTL, Arduino, v.v. Tuy nhiên, tôi đã sử dụng Arduino Uno đơn giản vì nó dễ nhất và hầu như ai cũng có. có Arduino, bạn cũng có Arduino IDE và màn hình nối tiếp của nó có thể được sử dụng để giao tiếp với ESP8266.

Tuy nhiên, nếu bạn muốn hoặc nếu bạn đã có, bạn có thể sử dụng bộ lập trình FTDI hoặc bộ chuyển đổi nối tiếp USB sang TTL (thêm về cách kết nối chúng sau này). Ngoài ra, có rất nhiều phần mềm như RealTerm hoặc putty. Bạn có thể sử dụng những điều này theo cách tương tự như màn hình nối tiếp của Arduino IDE.

Bước 5: Gắn ESP8266 trên Breadboard

Gắn ESP8266 trên Breadboard
Gắn ESP8266 trên Breadboard
Gắn ESP8266 trên Breadboard
Gắn ESP8266 trên Breadboard

Lưu ý rằng các chân của ESP8266 không thân thiện với breadboard, có thể khắc phục bằng 2 cách.

Sử dụng dây nhảy từ nữ đến nam có thể khiến mọi thứ trở nên lộn xộn hoặc

Làm như được hiển thị trong Hướng dẫn này hoặc

Sử dụng bảng điều hợp, tự làm một bảng (có rất nhiều bảng trong số đó trên Bảng hướng dẫn) rất gọn gàng.

Bước 6: Cung cấp điện

Nguồn cấp
Nguồn cấp

ESP8266 hoạt động trên nguồn 3.3V, không kết nối nó với chân 5V trên Arduino, nó có thể bị cháy.

Một số hướng dẫn đã đề xuất tạo mạch phân áp bằng cách sử dụng điện trở 1k, 2k với 5V làm đầu vào và nhận được 3,3V trên điện trở 2k và cung cấp cho Arduino.

Tôi đã có thể cấp nguồn cho nó bằng cách sử dụng 3.3V trên Arduino, nhưng nhận thấy rằng ESP bị nóng sau một thời gian.

Bạn có thể sử dụng bộ điều chỉnh điện áp 3,3V.

Hoặc bạn có thể sử dụng bộ chuyển đổi bước xuống dc-dc LM2596. Cái này khá rẻ và tôi đã sử dụng cái này. Cấp 5V từ Arduino vào đầu vào. Điều chỉnh chiết áp trên mô-đun, cho đến khi đầu ra trở thành 3.3VI thấy rằng ESP có thể được cấp nguồn từ một trong những thứ này trong nhiều giờ. Thực hiện các kết nối như thể hiện trong hình.

Bước 7: Chuyển đổi cấp độ logic

Chuyển đổi cấp độ logic
Chuyển đổi cấp độ logic

Nó được đề cập rằng ESP có logic 3.3V trong khi Arduino có logic 5V.

Điều này có nghĩa là trong ESP 3.3V là mức logic CAO trong khi trong Arduino 5V là mức logic CAO. Điều này có thể gây ra một số vấn đề khi kết nối chúng với nhau.

Tôi đã tìm thấy trên Internet rằng chuyển đổi mức logic cần được áp dụng trong khi giao tiếp ESP Rx và Tx với Arduino.

Một số hướng dẫn đã đề cập rằng cần chuyển đổi mức logic trong khi giao tiếp chân Rx của ESP.

Tuy nhiên, tôi thấy rằng chỉ kết nối bình thường các chân ESP Rx và Tx với Arduino không gây ra bất kỳ sự cố nào

Tôi đã kết nối Rx và Tx thông qua bộ chuyển đổi mức logic cũng như Rx một mình nhưng không nhận được bất kỳ phản hồi nào.

Tuy nhiên, tôi thấy rằng việc kết nối chân ESP Tx thông qua bộ chuyển đổi mức logic trong khi kết nối trực tiếp Tx cũng không gây ra vấn đề gì

Vì vậy bộ chuyển đổi mức logic có thể được sử dụng hoặc không.

Sử dụng bất kỳ phương pháp nào phù hợp với bạn thông qua thử nghiệm và sai sót.

Bước 8: Kết nối

Kết nối
Kết nối

Các kết nối của ESP8266 là:

ESP8266

Gnd ------------------- Gnd

GPIO2 --------------- 3,3V

GPIO0 --------------- 3.3V

Rx -------------------- Rx của Arduino

Tx --------------------- Tx của Arduino (trực tiếp hoặc thông qua bộ chuyển đổi mức logic)

CH_PD -------------- 3.3V

ĐẶT LẠI -------------- 3.3V

Vcc -------------------- 3.3V

(Lưu ý rằng trong một số phiên bản, ESP Rx phải được kết nối với Arduino Tx và ESP Tx phải được kết nối với Arduino Rx).

Nếu bạn đang sử dụng bộ lập trình FTDI hoặc bộ chuyển đổi nối tiếp USB sang TTL, hãy kết nối Tx và Rx của chúng với Rx và Tx của ESP8266 tương ứng.

Bước 9: Bắt đầu

Sau khi kết nối, hãy tải lên

void setup ()

{}

void loop ()

{}

tức là một bản phác thảo trống cho Arduino..

Mở màn hình nối tiếp và đặt thành "Cả NL & CR".

Thử nghiệm với tốc độ Baud, nó thường phải là 9600 mặc dù đôi khi nó có thể là 115200.

Bước 10: AT Commmands

AT Commmands
AT Commmands

Nói một cách đơn giản các lệnh AT là các lệnh có thể được gửi đến ESP8266 để cho phép nó thực hiện một số chức năng như khởi động lại, kết nối với wifi, v.v. ESP trong phản hồi sẽ gửi một số xác nhận dưới dạng văn bản. Các lệnh AT và cách ESP phản hồi chúng. Lưu ý rằng bằng cách gửi, tôi có nghĩa là nhập lệnh và nhấn enter (trở lại).

Gửi AT qua màn hình nối tiếp

Lệnh này được sử dụng như một lệnh kiểm tra.

Cách ESP phản hồi: OK sẽ được trả lại.

Gửi AT + RST qua màn hình nối tiếp

Lệnh này được sử dụng để khởi động lại mô-đun.

Cách ESP phản hồi: ESP trả về một lượng rác. Tuy nhiên, hãy tìm Sẵn sàng hoặc sẵn sàng.

Gửi AT + GMR qua màn hình nối tiếp

Lệnh này được sử dụng để xác định phiên bản phần sụn của mô-đun.

Cách ESP phản hồi: Phiên bản chương trình cơ sở phải được trả lại.

Firmware là một phần của phần mềm được cài đặt trên một thiết bị thường trên ROM của nó (bộ nhớ chỉ đọc), tức là nó không có nghĩa là nó không được thay đổi thường xuyên hoặc hoàn toàn. Nó cung cấp khả năng kiểm soát và thao tác dữ liệu của thiết bị. của các phần sụn khác nhau, tất cả đều khá dễ cài đặt (flash).

Bước 11: Cú pháp chung của lệnh AT

Cú pháp chung của các lệnh AT để thực hiện các chức năng khác nhau được đưa ra:

AT + tham số =?

Khi một lệnh trong kiểu này được gửi qua màn hình nối tiếp, ESP sẽ trả về tất cả các giá trị mà tham số có thể nhận.

AT + tham số = val

Khi một lệnh trong kiểu này được gửi qua màn hình nối tiếp, ESP sẽ đặt giá trị của tham số thành val.

Thông số AT +?

Khi một lệnh trong kiểu này được gửi qua màn hình nối tiếp, ESP sẽ trả về giá trị hiện tại của tham số.

Một số lệnh AT có thể chỉ có một trong các loại trên trong khi một số có thể có cả 3.

Ví dụ về câu lệnh có thể có ở cả 3 kiểu trên là CWMODE, dùng để đặt chế độ wifi.

Gửi AT + CWMODE =? thông qua màn hình nối tiếp

Cách ESP phản hồi: Tất cả các giá trị mà ESP CWMODE có thể lấy (1-3) được trả về cụ thể + CWMODE (1-3).

1 = Tĩnh

2 = AP

3 = Cả tĩnh và AP

Gửi AT + CWMODE = 1 qua màn hình nối tiếp

Cách ESP phản hồi: OK sẽ được trả lại nếu có thay đổi trong CWMODE từ giá trị trước đó và nó được đặt thành tĩnh, nếu không có thay đổi nào sẽ không được trả lại nếu không có thay đổi trong giá trị CWMODE.

QUAN TRỌNG: Trừ khi CWMODE được đặt thành 1, các lệnh trong các bước sau sẽ không hoạt động.

Gửi AT + CWMODE? thông qua màn hình nối tiếp

Cách ESP phản hồi: Giá trị hiện tại của CWMODE phải được trả về, cụ thể là nếu bạn đã làm theo bước trên + CWMODE: 1 sẽ được trả về.

Bước 12: Kết nối với Wifi

Gửi AT + CWLAP qua màn hình nối tiếp

Lệnh này được sử dụng để liệt kê tất cả các mạng trong khu vực.

Cách ESP phản hồi: Một danh sách tất cả các điểm truy cập hoặc mạng wifi có sẵn sẽ được trả về.

Gửi AT + CWJAP = "SSID", "mật khẩu"

(kể cả dấu ngoặc kép).

Lệnh này được sử dụng để tham gia mạng wifi.

Cách ESP phản hồi: OK sẽ được trả lại nếu mô-đun đã được kết nối với mạng.

Gửi AT + CWJAP? thông qua màn hình nối tiếp

Lệnh này được sử dụng để xác định mạng mà ESP hiện đang kết nối.

Cách ESP phản hồi: Mạng mà ESP được kết nối sẽ được trả về. Cụ thể là + CWJAP: "SSID"

Gửi AT + CWQAP qua màn hình nối tiếp

Lệnh này được sử dụng để ngắt kết nối khỏi mạng mà ESP hiện đang kết nối.

Cách ESP phản hồi: ESP thoát khỏi mạng mà nó được kết nối và OK được trả lại.

Gửi AT + CIFSR qua màn hình nối tiếp

Lệnh này được sử dụng để xác định địa chỉ IP của ESP.

Cách ESP phản hồi: Địa chỉ IP của ESP được trả về.

Bước 13: Thingspeak

Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak

Nếu bạn chưa tạo tài khoản trên Thingspeak, hãy tạo một tài khoản ngay bây giờ.

Sau khi tạo tài khoản trên Thingspeak, hãy chuyển đến Ứng dụng> ThingTweet.

Liên kết tài khoản twitter của bạn với nó.

Lưu ý khóa API được tạo.

Tại đây sau khi ứng dụng ThingTweet đã được sử dụng để liên kết tài khoản Twitter với tài khoản ThingSpeak của bạn, bạn có thể gửi một tweet bằng API TweetContol.

API (giao diện chương trình ứng dụng) là mã cho phép hai chương trình phần mềm giao tiếp với nhau.

Một số API khác có sẵn cho nhà phát triển là API bản đồ của Google, API thời tiết mở, v.v.

Chỉ sau khi ESP đã được thiết lập, kiểm tra và kết nối với wifi (về cơ bản tất cả các bước được đưa ra trong 2 bước trước đó), hãy thực hiện các bước dưới đây

Bước 14: Một số lệnh AT khác

Gửi AT + CIPMODE = 0, thông qua màn hình nối tiếp

Cách ESP phản hồi: OK được trả lại.

Lệnh CIPMODE được sử dụng để thiết lập chế độ truyền.

0 = chế độ bình thường

1 = Chế độ truyền qua UART-WiFi

Gửi AT + CIPMUX = 1 qua màn hình nối tiếp

Cách ESP phản hồi: OK được trả lại.

Lệnh CIPMUX được sử dụng để thiết lập một hoặc nhiều kết nối.

0 = một kết nối

1 = nhiều kết nối

Bước 15: Thiết lập kết nối TCP

Thiết lập kết nối TCP
Thiết lập kết nối TCP
Thiết lập kết nối TCP
Thiết lập kết nối TCP

Lưu ý rằng bắt đầu từ lệnh đầu tiên, ngay sau khi bạn gửi lệnh đầu tiên, kết nối sẽ chỉ được thiết lập trong một thời gian giới hạn. Vì vậy, hãy gửi lệnh càng nhanh càng tốt.

Gửi AT + CIPSTART = 0, "TCP", "api.thingspeak.com", 80 qua màn hình nối tiếp

Cách ESP phản hồi: Đã liên kết được trả về nếu kết nối đã được thiết lập.

Lệnh này được sử dụng để thiết lập kết nối TCP.

Cú pháp là AT + CIPSTART = ID liên kết, loại, IP từ xa, cổng từ xa

ở đâu

link ID = ID của kết nối mạng (0 ~ 4), được sử dụng cho đa kết nối.

gõ = string, "TCP" hoặc "UDP".

remote IP = chuỗi, địa chỉ IP từ xa (địa chỉ của trang web).

cổng từ xa = chuỗi, số cổng từ xa (thường được chọn là 80).

Gửi AT + CIPSEND = 0, 110 qua màn hình nối tiếp

Cách ESP phản hồi:> (lớn hơn) được trả về nếu lệnh thành công.

Lệnh này được sử dụng để gửi dữ liệu.

Cú pháp là AT + CIPSEND = ID liên kết, độ dài

ở đâu

liên kết ID = ID của kết nối (0 ~ 4), dành cho đa kết nối Vì CIPMUX đã được đặt thành 1, là 1.

length = độ dài dữ liệu, MAX 2048 byte. Nói chung chọn một số lớn cho độ dài.

Bước 16: Gửi Tweet

Gửi Tweet
Gửi Tweet

Bây giờ để gửi tweet

Gửi GET / apps / thingtweet / 1 / status / update? Api_key = yourAPI & status = yourtweet qua màn hình nối tiếp.

Thay thếAPI của bạn bằng khóa API và trang web của bạn bằng bất kỳ tweet nào bạn muốn.

Ngay sau khi bạn gửi lệnh trên, hãy bắt đầu nhấn enter (quay lại) trong khoảng thời gian khoảng 1 giây.

Mở twitter của bạn và kiểm tra xem tweet đã được đăng hay chưa.

Cũng lưu ý rằng cùng một tweet không thể được gửi nhiều lần.

Chuỗi ở trên đã được gửi (GET….), Là một yêu cầu HTTP GET.

Yêu cầu GET được sử dụng để truy xuất dữ liệu từ máy chủ đã cho (api.thingspeak.com).

Bước 17: Phải làm gì sau đó

(Xem video trong ít nhất 360p)

Truy cập kho này để tải xuống mã và sơ đồ, nhấp vào nút "Sao chép hoặc Tải xuống" (màu xanh lục ở phía bên phải) và chọn "Tải xuống ZIP" để tải xuống tệp zip. Bây giờ giải nén nội dung trên máy tính của bạn để lấy mã và sơ đồ (trong thư mục sơ đồ). Tôi cũng đã tải lên một bảng cheats, tóm tắt tất cả các lệnh AT, vào kho lưu trữ này.

Có rất nhiều tài nguyên tuyệt vời có sẵn trên internet liên quan đến ESP8266. Tôi đã đề cập một số trong số chúng ở đây:

  • Kevin Darrah video.
  • Các video của ALLaboutEE.
  • esp8266.com

Bạn cũng có thể thử nghiệm nhiều hơn với các lệnh AT.

Tài liệu lệnh AT đầy đủ

Ngoài ra, tôi hiện đang làm việc trên một chương trình tự động tweet các giá trị tương tự của cảm biến và tôi sẽ đăng nó khi nó hoạt động bình thường.

Nếu bạn thích biểu quyết có thể hướng dẫn của tôi cho nó trong cuộc thi tất cả mọi thứ của Arduino.