Mục lục:

Bắt đầu với MicroPython trên ESP8266: 10 bước (có Hình ảnh)
Bắt đầu với MicroPython trên ESP8266: 10 bước (có Hình ảnh)

Video: Bắt đầu với MicroPython trên ESP8266: 10 bước (có Hình ảnh)

Video: Bắt đầu với MicroPython trên ESP8266: 10 bước (có Hình ảnh)
Video: Lập trình Python trên Microbit (MicroPython) - Bài 1: Chương trình đầu tiên 2024, Tháng mười một
Anonim
Bắt đầu với MicroPython trên ESP8266
Bắt đầu với MicroPython trên ESP8266

Bạn có muốn một cách khác để lập trình các bo mạch dựa trên ESP8266 thay vì phương pháp phổ biến sử dụng Arduino IDE cùng với ngôn ngữ lập trình C / C ++ không?

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cấu hình và điều khiển bo mạch ESP8266 bằng MicroPython.

THỜI GIAN XÂY DỰNG: 60 PHÚT KHÓ KHĂN: XẾP HẠNG: Dễ dàng

Bước 1: MicroPython là gì?

MicorPython là một trong nhiều ngôn ngữ lập trình mà chúng ta có thể sử dụng để lập trình mô-đun ESP8266. Nó là một phiên bản gọn nhẹ và nhanh chóng của ngôn ngữ lập trình Python 3 và có một số lợi thế so với các ngôn ngữ lập trình truyền thống như C và C ++.

MicroPython được thiết kế để tương thích với Python bình thường nhiều nhất có thể. Nó có một trình biên dịch và thời gian chạy Python hoàn chỉnh, đồng thời cung cấp một lời nhắc tương tác được gọi là REPL (Read-Eval-Print Loop).

MicorPython được thiết kế để hỗ trợ một số loại vi điều khiển khác nhau. Nhưng đối với hướng dẫn này, tôi sẽ chỉ làm việc với một mô hình: bo mạch dựa trên ESP8266 (NodeMCU). Lưu ý rằng có một số bo mạch khác nhau mà bạn có thể mua với cùng một con chip.

Đọc & Tài nguyên:

MicroPython

NodeMCU

Bước 2: Yêu cầu

Yêu cầu
Yêu cầu
Yêu cầu
Yêu cầu
Yêu cầu
Yêu cầu
Yêu cầu
Yêu cầu

Để có thể làm theo hướng dẫn này, bạn chỉ cần có kinh nghiệm viết mã cơ bản với Python. Bạn không cần phải có bất kỳ kiến thức nào trước đó về vi điều khiển, điện tử hoặc thậm chí là MicroPython.

Bạn cũng sẽ cần một máy tính Windows, Mac hoặc Linux có cổng USB miễn phí, vì bạn sẽ kết nối bộ vi điều khiển với máy tính của mình để lập trình nó.

Các bộ phận yêu cầu:

1 x NodeMCU (hoặc bo mạch dựa trên ESP8266 khác)

1 x LED 5mm màu đỏ

1 x 220Ω Điện trở 1 / 4W

1 x 10KΩ chiết áp quay

1 x Breadboard

1 x cáp USB sang MicroUSB

Dây nhảy.

Bước 3: Tại sao lại dựa trên ESP8266?

Tại sao lại dựa trên bảng mạch ESP8266?
Tại sao lại dựa trên bảng mạch ESP8266?

Một cách bạn có thể tận dụng tối đa ESP8266 của mình là sử dụng MicroPython. Ngoài ra, mô-đun ESP8266 là một trong những nền tảng tốt nhất để học cách sử dụng MicroPython. Điều này là do ESP8266 cung cấp các chức năng điều khiển chân GPIO đơn giản cũng như chức năng không dây, cho phép bạn kiểm tra tất cả các khía cạnh của ngôn ngữ lập trình MicroPython.

Chip ESP8266 phổ biến trong ngành phát triển mã nguồn mở. Có nhiều bảng phát triển từ các nhà sản xuất khác nhau sử dụng chip ESP8266. MicroPython đã được thiết kế để cung cấp một cổng chung có thể chạy trên hầu hết các bo mạch đó, với càng ít hạn chế càng tốt. Cổng này dựa trên bảng Adafruit Feather HUZZAH Khi sử dụng các bảng ESP8266 khác, hãy đảm bảo bạn kiểm tra sơ đồ và bảng dữ liệu của chúng để bạn có thể xác định sự khác biệt giữa chúng và bảng Adafruit Feather HUZZAH. Bằng cách đó, bạn có thể điều chỉnh sự khác biệt trong mã của mình.

Đọc & Tài nguyên:

ESP8266

Adafruit Feather HUZZAH

Bước 4: Thiết lập máy tính của bạn

Thiết lập máy tính của bạn
Thiết lập máy tính của bạn
Thiết lập máy tính của bạn
Thiết lập máy tính của bạn
Thiết lập máy tính của bạn
Thiết lập máy tính của bạn
Thiết lập máy tính của bạn
Thiết lập máy tính của bạn

Có một số thứ bạn phải thiết lập trước khi sử dụng MicroPython để lập trình bo mạch ESP8266 của mình. Chúng ta sẽ thực hiện quá trình thiết lập trong bước này. Bằng cách này, bạn sẽ biết cách cấu hình bo mạch ESP8266 để sử dụng với MicroPython.

Sẵn sàng

Tất cả những gì bạn cần từ bước này đến bước 6 là ESP8266 và cáp USB. Kết nối bo mạch ESP8266 với máy tính của bạn.

Làm thế nào để làm nó…

BƯỚC1: Cài đặt trình điều khiển thiết bị

Nếu bạn có một máy tính Linux, thì bạn không cần phải cài đặt bất kỳ trình điều khiển thiết bị nào để trình điều khiển cho vi điều khiển được nhận dạng. như một thiết bị nối tiếp.

www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.

BƯỚC2: Cài đặt Python

Các công cụ bạn sẽ sử dụng để giao tiếp với ESP8266 được viết bằng Python, vì vậy bạn cần cài đặt Python trên máy tính của mình.

Nếu hệ điều hành của bạn không cung cấp Python được đóng gói sẵn, bạn có thể truy cập https://python.org để tải xuống bản dựng chính thức cho bất kỳ hệ điều hành nào được hỗ trợ.

BƯỚC 3: Cài đặt esptool và rshell

Cài đặt hai gói sẽ giúp bạn quản lý bảng bằng pip. Để thực hiện việc này, hãy mở thiết bị đầu cuối của bạn và chạy

pip cài đặt esptool rshell

BƯỚC4: Tải xuống MicroPython

Tải xuống chương trình cơ sở MicroPython.bin mới nhất từ liên kết sau:

Tại thời điểm tôi viết bài này, phiên bản hiện tại là 1.11 và tệp phần sụn có tên là esp8266-20190529-v1.11.bin

Vào thời điểm bạn làm điều này, bạn có thể tìm thấy một bản phát hành mới hơn.

Bước 5: Nhấp nháy MicroPython với Esptool.py

Nhấp nháy MicroPython với Esptool.py
Nhấp nháy MicroPython với Esptool.py
Nhấp nháy MicroPython với Esptool.py
Nhấp nháy MicroPython với Esptool.py

Trước khi cài đặt một chương trình cơ sở mới vào bo mạch, bạn nên xóa mọi dữ liệu trước đó.

Tới nơi bạn đã đặt tệp.bin. Sử dụng esptool.py để xóa flash.

Đối với Linux:

esptool.py --port / dev / ttyUSB0 delete_flash

Cho cửa sổ:

esptool.py --port COM3 delete_flash

Bạn có thể phải thay đổi cổng nối tiếp trong lệnh của mình thành cổng nối tiếp mà bo mạch ESP8266 của bạn được kết nối. Nếu bạn không biết số cổng nối tiếp của ESP8266, bạn có thể kiểm tra Arduino IDE. Chỉ cần mở IDE và sau đó nhấp vào Công cụ | Các cổng. Bạn sẽ thấy cổng nối tiếp của bảng ESP8266 được liệt kê ở đó. Thay thế cổng nối tiếp trong lệnh (/ dev / ttyUSB0) bằng cổng nối tiếp trên bo mạch của bạn.

Bây giờ bảng đã bị xóa hoàn toàn, bạn có thể flash bản dựng MicroPython mà bạn vừa tải xuống. Điều này cũng được thực hiện với lệnh esptool.py:

esptool.py --port / dev / ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin

Lệnh này sẽ ghi nội dung của tệp MicroPython.bin vào bảng tại địa chỉ 0.

Đảm bảo rằng bạn thay đổi tên của tệp.bin phần sụn trong lệnh (esp82688-2019-080529-v1.11.bin) thành tên của phần sụn bạn đã tải xuống.

Khi phần sụn được cài đặt thành công trên bo mạch ESP8266 của bạn, bạn có thể truy cập REPL trên bo mạch của mình thông qua kết nối có dây (cổng nối tiếp UART) hoặc WiFi nghĩ.

Bước 6: Sử dụng MicroPython REPL Với Rshell

Sử dụng MicroPython REPL Với Rshell
Sử dụng MicroPython REPL Với Rshell
Sử dụng MicroPython REPL Với Rshell
Sử dụng MicroPython REPL Với Rshell

Bây giờ bạn đã sẵn sàng để bắt đầu MicroPython trên bảng ESP8266 của mình.

Những gì tôi sẽ chỉ cho bạn cách kết nối với lời nhắc Python đang chạy trên bảng của bạn. Đây được gọi là REPL, viết tắt của "Read-Eval-Print-Loop". Đây là lời nhắc Python tiêu chuẩn mà bạn có thể thường thấy khi làm việc với trình thông dịch Python thông thường, nhưng lần này nó sẽ chạy trên bảng của bạn và để tương tác với nó, bạn sẽ sử dụng kết nối nối tiếp với máy tính của mình. Sẵn sàng?

Để kết nối với bảng của bạn và mở phiên REPL, hãy nhập lệnh sau:

rshell --port

Lệnh này sẽ đưa bạn vào dấu nhắc rshell. Xem ảnh trên.

Nếu bạn đang làm theo hướng dẫn này trên Windows, hãy lưu ý rằng rshell có lịch sử sự cố khi chạy trên Windows.

Vì vậy, để khắc phục loại đó:

rshell -a - cổng COM3

Từ lời nhắc này, bạn có thể thực hiện các tác vụ quản lý liên quan đến bảng vi điều khiển của mình và cũng bắt đầu một Python REPL mà bạn có thể sử dụng để tương tác với bảng trong thời gian thực.

repl

Để đảm bảo mọi thứ đang hoạt động, hãy nhập một câu Python đơn giản:

print ("Xin chào Thế giới")

Bước 7: Điều khiển các ghim bằng MicroPython

Điều khiển các chân bằng MicroPython
Điều khiển các chân bằng MicroPython
Điều khiển các chân bằng MicroPython
Điều khiển các chân bằng MicroPython

Trong bước này, chúng ta sẽ học cách điều khiển các chân ESP8266 bằng MicroPython. Để làm điều đó, chúng tôi sẽ đưa ra một thiết lập trong đó chúng tôi sẽ chuyển trạng thái của đèn LED được kết nối với chân GPIO của bo mạch ESP8266. Điều này sẽ giúp bạn hiểu cách kiểm soát đầu ra kỹ thuật số bằng MicoPython.

Sẵn sàng

Bạn sẽ cần những điều sau để hoàn thành BƯỚC này:

1 x NodeMCU

1 x LED 5mm màu đỏ

Điện trở 1 x 220 Ω

1 x Breadboard

Dây nhảy

Tòa nhà

Bắt đầu bằng cách gắn đèn LED vào breadboard. Nối một đầu của điện trở 220 Ω với chân dương của đèn LED (chân dương của đèn LED thường cao hơn một trong hai chân). Kết nối đầu kia của điện trở với chân D1 của bảng ESP8266. Sau đó kết nối chân âm của LED với chân GND của board ESP8266. Kết nối như thể hiện trong sơ đồ trên.

Khi quá trình thiết lập hoàn tất, hãy kết nối bo mạch ESP8266 với máy tính của bạn qua cáp USB.

Làm thế nào để làm nó…

Nhập mã sau vào REPL của bạn:

# đèn LED nhấp nháy sau mỗi 1 giây

def nhấp nháy (pin = 5, thời gian = 1) # nhấp nháy chức năng theo mặc định pin = 5, thời gian = 1 giây nhập máy # mô-đun máy giữ cấu hình và chế độ chân từ thời gian nhập chế độ ngủ # nhập chế độ ngủ cho một số đèn LED trễ = máy. (led_pin, machine. PIN. OUT) # cấu hình LED là OUTPUT trong khi True: # chạy mãi mãi LED.value (1) # đặt LED thành chế độ ngủ CAO (thời gian) # chờ 1 giây theo mặc định LED.value (0) # đặt LED sang chế độ ngủ THẤP (thời gian) # đợi 1 giây theo mặc định

Nhập nháy () trong phiên RPEL của bạn để kiểm tra mã này. Thao tác này sẽ nhấp nháy đèn LED được kết nối với GPIO5 sau mỗi 1 giây.

Bạn có thể thay đổi mã pin và / hoặc thời gian bằng cách gọi:

nhấp nháy (pin =, thời gian =)

Nhấn ctrl + c để thoát mã đang chạy.

Bạn có thể sử dụng MicroPython để đọc đầu vào từ được kết nối với ESP8266. Tiến hành bước tiếp theo để tìm hiểu cách thực hiện điều đó.

Kiểm tra video nếu bạn gặp khó khăn.

Bước 8: Làm mờ đèn LED

Làm mờ đèn LED
Làm mờ đèn LED
Làm mờ đèn LED
Làm mờ đèn LED

Trong bước này, chúng ta sẽ học cách điều chỉnh độ sáng của đèn LED bằng chiết áp xoay. Chúng tôi sẽ sử dụng một kỹ thuật gọi là Điều chế độ rộng xung (PWM), nó cho phép chúng tôi làm mờ đèn LED với tối đa 256 cài đặt.

Lưu ý: Tất cả các chân của ESP8266 có thể được sử dụng như một chân PWM ngoại trừ GPIO16 (D0).

Sẵn sàng:

Bạn sẽ cần những điều sau để hoàn thành BƯỚC này:

1 x NodeMCU

1 x LED 5mm màu đỏ

Chiết áp quay 1 x 50 KΩ.

1 x Breadboard

Dây nhảy

Tòa nhà

Kết nối như thể hiện trong sơ đồ trên: Sau khi thiết lập hoàn tất, hãy kết nối bo mạch ESP8266 với máy tính của bạn qua cáp USB.

Làm thế nào để làm nó…

Nhập mã sau vào REPL của bạn:

# Làm mờ LED sau mỗi 0,5 bằng cách đọc dữ liệu từ Potentiometer

import máy từ lúc import sleep led_pin = 5 # led pin POT = machine. ADC (0) # ADC0 pin LED = machine. Pin (led_pin) # tạo đối tượng LED LED_pwm = máy. PWM (LED, freq = 500) # tạo LED_pwm đối tượng và đặt tần số thành 500Hz trong khi True: LED_pwm.duty (POT.read ()) # lấy giá trị từ Pot và đặt nó ở chế độ ngủ chu kỳ nhiệm vụ (0,5) # chờ 0,5

Điều này sẽ thay đổi độ sáng của đèn LED được kết nối với GPIO 5 bằng cách thay đổi giá trị của chiết áp.

Nhấn ctrl + c để thoát mã đang chạy.

Kiểm tra video nếu bạn gặp khó khăn.

Bước 9: Đi đâu từ đây?

Cho đến nay, chúng ta đã thấy cách cấu hình và chạy MicroPython trên các bo mạch dựa trên ESP8266. chúng tôi đã học cách điều khiển các chân để nhấp nháy đèn LED, sau đó chúng tôi thêm một chiết áp để điều khiển độ sáng của đèn LED bằng kỹ thuật điều chế độ rộng xung.

Giờ đây, chúng tôi có thể đọc dữ liệu từ cảm biến và gửi nó lên đám mây, chúng tôi cũng có thể tạo một máy chủ HTTP nơi bạn có thể in dữ liệu của chúng tôi trong một trang web đơn giản, v.v.

Điều này cho chúng ta nhiều ý tưởng về Internet vạn vật (IoT).

Bước 10: Kết luận

Đây là bạn có nó! Tiến ra và chinh phục thế giới của MicroPython.

nếu bạn có bất kỳ câu hỏi tất nhiên bạn có thể để lại một bình luận.

Để xem thêm về các tác phẩm của tôi, vui lòng truy cập kênh YouTube của tôi:

myYouTube

myGitHub

myLinkedin

Cảm ơn vì đã đọc hướng dẫn này ^^ và chúc một ngày tốt lành.

Hẹn gặp lại sau.

Ahmed Nouira.

Đề xuất: