Giao tiếp giữa ESP8266 và STM32 bằng lệnh AT

Một phần của tài liệu Điều khiển tay máy 5 bậc tự do ứng dụng trong xếp sản phẩm và điều khiển chuyển động bằng cử động tay (Trang 69 - 72)

CHƯƠNG 5: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN 5.1. Tổng quan hệ thống

5.2. Khối thu phát STM32F207 và ESP8266

5.2.2. Giao tiếp giữa ESP8266 và STM32 bằng lệnh AT

Để có thể gửi thông tin nhận được từ PLC lên trên một broker MQTT online, thì phải sử dụng một vi điều khiển có thể thực hiện việc truy cập vào internet. Vi điều khiển được chọn ở đây là ESP8266. Giao tiếp giữa 2 board ESP8266 và STM32F207 là giao thức UART.

Vi điều khiển STM32F207 sẽ gửi các thông tin sau lên MQTT broker:

- Giá trị các góc xoay hiện tại của các khớp của tay máy.

- Trạng thái của đầu công tác ( có đang gắp vật hay không ?).

Board ESP8266 có thể hoạt động theo 2 cách:

- Lập trình cho ESP8266 bằng ngôn ngữ C thông qua platform IDF chuyên dùng, hoặc platform Arduino.

- Dùng 1 firmware được cung cấp bởi nhà sản xuất để có thể điều khiển cho ESP8266 hoạt động thông qua tập lệnh AT.

Sử dụng các phương pháp này có những ưu nhược điểm riêng:

Với phương án lập trình bằng ngôn ngữ C:

Ưu điểm: Chương trình tự phát triển, nên khả năng tùy biến cao, có thể điều khiển ESP8266 theo ý của lập trình viên. Tốc độ xử lý có thể tối ưu.

Nhược điểm: Khó về mặt lập trình, cần có nhiều kiến thức sâu về các IC mạng, các giao thức truyền thông qua mạng để có thể thực hiện một chương trình hoàn chỉnh.

Với phương án sử dụng tập lệnh AT do nhà sản xuất cung cấp:

Ưu điểm: Có thể áp dụng nhanh vào trong đề tài, dự án, do việc thực hiện các tính năng có sẵn đã được nhà sản xuất lập trình sẵn, và biên dịch thành các file .bin cung cấp cho người dùng.

Nhược điểm: Khả năng tùy biến thấp, do nhà sản xuất chỉ cung cấp các file .bin sau khi biên dịch chương trình, vì vậy ta không thể chỉnh sửa theo ý của mình mà chỉ có thể tuân theo các sử dụng các API do nhà sản xuất cung cấp, Tập lệnh AT cũng gây ra sự giới hạn về mặt tốc độ, tốc độ xử lý không nhanh hơn so với phương pháp 1.

Phương án được chọn: Dùng phương án thứ 2, dùng tập lệnh AT để điều khiển hoạt động của board ESP8266.

Lý do chọn phương án 2:

- Việc sử dụng board ESP8266 trong đề tài này chỉ gói gọn trong việc gửi dữ liệu từ STM32F207 lên một MQTT broker online. Việc này không cần tốc độ xử lý phải quá nhanh.

Vì là phần giám sát, nên chỉ cần một tốc độ tương đối là có thể giám sát tốt.

- Có thể tận dụng được ưu điểm về mặt tiện lợi, rút ngắn thời gian cho việc áp dụng MQTT vào hệ thống.

- Như đã nói ở lý do đầu tiên, thì việc sử dụng board ESP8266 ở trong đề tài rất đơn giản, không yêu cầu cao về mặt tùy biến chương trình.

Để có thể sử dụng được tập lệnh AT, trước hết cần phải truy cập vào trang chủ của nhà sản xuất, tải về 2 thứ:

- Công cụ dùng để tải chương trình xuống board ESP8266 – Flash Download Tool.

- Bộ file .bin dùng để nạp vào board ESP8266.

Link trang chủ: https://docs.espressif.com/projects/esp-at/en/release-

v2.1.0.0_esp8266/AT_Command_Set/MQTT_AT_Commands.html Sau đây là cách để nạp chương trình cho board ESP8266 bằng công cụ Flash Download Tool và tập lệnh AT cơ bản để có thể sử dụng trong đề tài này.

Dùng flash_download_tools_v3.6.6 để download firmware cho ESP8266 để có thể dùng tập lệnh AT

Hình 5.3: Dữ liệu đầu vào để nạp firmware ESP8266 sử dụng MQTT bằng AT command Nhập các input vào cho phần mềm như trong file download.config mô tả và load firmware vào ESP

Các input cần nạp:

--flash_mode dio --flash_freq 80m --flash_size 2MB 0x8000 partition_table/partition-table.bin

0x9000 ota_data_initial.bin

0x0 bootloader/bootloader.bin 0x10000 esp-at.bin

0xF0000 at_customize.bin

0xF2000 customized_partitions/server_cert.bin 0x106000 customized_partitions/mqtt_key.bin 0xF4000 customized_partitions/server_key.bin 0xF6000 customized_partitions/server_ca.bin 0xFC000 customized_partitions/client_ca.bin 0xF1000 customized_partitions/factory_param.bin 0x104000 customized_partitions/mqtt_cert.bin 0x108000 customized_partitions/mqtt_ca.bin 0xF8000 customized_partitions/client_cert.bin 0xFA000 customized_partitions/client_key.bin

Một số lệnh cho giao tiếp MQTT với ESP bằng AT command Tập lệnh cơ bản

• AT: Test AT startup.

• AT+RST: Restart a module.

• AT+GMR: Check version information.

• AT+CMD: List all AT commands and types supported in current firmware.

• AT+GSLP: Enter Deep-sleep mode.

• ATE: Configure AT commands echoing.

• AT+RESTORE: Restore factory default settings of the module.

• AT+UART_CUR: Current UART configuration, not saved in flash.

• AT+UART_DEF: Default UART configuration, saved in flash.

• AT+SLEEP: Set the sleep mode.

• AT+SYSRAM: Query current remaining heap size and minimum heap size.

• AT+SYSMSG: Query/Set System Prompt Information.

• AT+USERRAM: Operate user’s free RAM.

• [ESP32 Only] AT+FS: Filesystem Operations.

• AT+RFPOWER: Query/Set RF TX Power.

• AT+SYSROLLBACK: Roll back to the previous firmware.

• AT+SYSTIMESTAMP: Query/Set local time stamp.

• AT+SYSLOG: Enable or disable the AT error code prompt.

• AT+SLEEPWKCFG: Query/Set the light-sleep wakeup source and awake GPIO.

• AT+SYSSTORE: Query/Set parameter store mode.

• AT+SYSREG: Read/write the register.

Tập lệnh cho MQTT

• AT+MQTTUSERCFG: Set MQTT user configuration

• AT+MQTTCLIENTID: Set MQTT client ID

• AT+MQTTUSERNAME: Set MQTT username

• AT+MQTTPASSWORD: Set MQTT password

• AT+MQTTCONNCFG: Set configuration of MQTT connection

• AT+MQTTCONN: Connect to MQTT Brokers

• AT+MQTTPUB: Publish MQTT Messages in string

• AT+MQTTPUBRAW: Publish MQTT messages in binary

• AT+MQTTSUB: Subscribe to MQTT topics

• AT+MQTTUNSUB: Unsubscribe from MQTT topics

• AT+MQTTCLEAN: Close MQTT connections

Một phần của tài liệu Điều khiển tay máy 5 bậc tự do ứng dụng trong xếp sản phẩm và điều khiển chuyển động bằng cử động tay (Trang 69 - 72)

Tải bản đầy đủ (PDF)

(114 trang)