Thông Tin Sản Phẩm Mạch truyền nhận Bluetooth HC-05 là một module truyền thông không dây được sử dụng phổ biến trong các ứng dụng IoT (Internet of Things) và các ứng dụng điều khiển từ xa. HC-05 có khả năng kết nối với các thiết bị khác thông qua Bluetooth và truyền nhận dữ liệu giữa chúng. Module HC-05 có hai chế độ hoạt động: chế độ Master và chế độ Slave. Chế độ Master được sử dụng để kết nối với các thiết bị khác thông qua Bluetooth và chế độ Slave được sử dụng để nhận và truyền dữ liệu giữa các thiết bị. Mạch truyền nhận Bluetooth HC-05 được sử dụng rộng rãi trong các ứng dụng như điều khiển đèn, quạt, điều hòa, robot và các ứng dụng IoT khác. Nó có thể được điều khiển bằng các ngôn ngữ lập trình như Arduino, Raspberry Pi, STM32 và các thiết bị khác. Show
Thông Số Kỹ Thuật - Giao tiếp : Bluetooth 2.0 EDR (Enhanced Data Rate) Class 2 - Dải tần số hoạt động : 2.4GHz ISM band - Tốc độ truyền : từ 1 đến 3Mbps - Khoảng cách truyền : khoảng 10 mét (có thể đạt tới khoảng cách xa hơn nếu sử dụng anten ngoài) - Điện áp hoạt động : từ 3.3V đến 5V DC - Dòng tiêu thụ : khoảng 30mA - Chế độ hoạt động : Master hoặc Slave - Chế độ mã hóa : mã hóa 8-bit, mã hóa 16-bit và không có mã hóa. - Kích thước : 3.57cm x 1.52cm x 0.85cm Sơ Đồ Chân Tags hc05_bluetoothmach_truyen_nhanmach_truyen_nhan_bluetooth_hc05Modbus là giao thức truyền thông nối tiếp được sử dụng để liên lạc với bộ điều khiển logic khả trình (PLC). Do giao thức mở và triển khai đơn giản, nó đã trở thành một giao thức đơn giản được sử dụng rộng rãi trong ngành. Đây là một trong những giao thức cổng giao tiếp RS485. Trong giao tiếp giữa các bộ vi điều khiển của chúng ta hoặc giữa bộ vi điều khiển và máy tính chủ, các giao thức nội dung khác nhau sẽ được xác định. Cả hai bên giao tiếp cần phải tuân thủ giao thức này để thiết lập giao tiếp. Có thể có nhiều giao thức để đáp ứng yêu cầu liên lạc giữa các thiết bị khác nhau. Một số giao thức phổ biến bao gồm giao thức truyền thông nối tiếp I2C, SPI và UART. Trong trường hợp quý khách cần tìm các thiết bị hỗ trợ truyền thông RS485 khác quý khách vui lòng liên hệ:
Đội ngũ kỹ thuật của EPCB sẽ tư vấn và mua hàng phù hợp với nhu cầu sử dụng của quý khách. Phát triển giao thức ModbusGiao thức Modbus được Modicon (hiện thuộc sở hữu của Schneider Electric) thiết kế và phát triển vào năm 1979. Kể từ khi được giới thiệu, nó đã trở nên phổ biến như một giao thức truyền thông tiêu chuẩn trong các hệ thống công nghiệp do tính đơn giản và tính mở của nó. Đó là giao thức fieldbus thực sự đầu tiên được sử dụng trong các ứng dụng công nghiệp trên toàn thế giới. Để tiếp tục thúc đẩy và thúc đẩy việc áp dụng Modbus cho các ứng dụng phân tán dựa trên Ethernet (TCP/IP), Schneider Electric đã chuyển giao quyền sở hữu giao thức Modbus cho tổ chức Giao diện Tự động hóa Phân tán (IDA). Họ cũng thành lập tổ chức quốc tế Modbus-IDA, chịu trách nhiệm quảng bá tiêu chuẩn Modbus và chứng nhận sản phẩm. Ưu điểm của Modbus
Ví dụ: hãy xem xét giao thức truyền thông I2C, yêu cầu kết nối vật lý với bus I2C. Nó cũng yêu cầu điện trở kéo lên và xác định mức điện áp cao và thấp ở lớp vật lý. Ngược lại, giao thức Modbus là giao thức truyền tin nhắn lớp ứng dụng không xác định lớp vật lý. Nó xác định cấu trúc thông báo mà bộ điều khiển có thể hiểu và sử dụng, bất kể mạng được sử dụng để liên lạc. Tính linh hoạt này cho phép Modbus thích ứng với nhiều giao diện điện, dẫn đến việc sử dụng rộng rãi. Thuật ngữ Modbus
Giao thức liên kết nối tiếp
Ngoài ra, nô lệ không thể bắt đầu liên lạc với các nô lệ khác. Chỉ khi master gửi dữ liệu đến Slave (gửi yêu cầu) thì Slave mới nhận được dữ liệu từ master và sau đó phản hồi bằng dữ liệu. Sơ đồ dưới đây minh họa điều này: Quá trình truyền thôngTrong giao tiếp Modbus, chỉ một thiết bị có thể gửi yêu cầu. Các Slave nhận dữ liệu từ Master và phản hồi tương ứng. Slave là các thiết bị ngoại vi như cảm biến nhiệt độ, độ ẩm, bộ điều khiển, đầu báo khói, cảm biến mực nước hoặc các loại thiết bị đo lường khác. Các Slave xử lý thông tin và gửi dữ liệu của họ trở lại Master. Slave không bắt đầu liên lạc với master, chúng chỉ có thể trả lời tin nhắn do master gửi. Ngoài ra, không có cơ chế tích hợp nào trong quá trình liên lạc để xác định xem thiết bị có bận hay không. Ví dụ: nếu chủ gửi lệnh cho nô lệ, nhưng nô lệ chưa nhận được lệnh đó hoặc đang bận xử lý các tác vụ khác, nó không thể phản hồi lại chủ. Do bus RS485 chỉ chịu trách nhiệm truyền dữ liệu và thiếu các cơ chế xử lý bổ sung nên cần sử dụng các phương pháp dựa trên phần mềm để xác định xem việc nhận dữ liệu có thành công hay không. Các loại giao thức ModbusCác loại giao thức chính bao gồm ASCII, RTU (Thiết bị đầu cuối từ xa) và TCP.
Khi sử dụng giao tiếp nối tiếp cho giao thức Modbus, bạn có thể chọn giữa chế độ RTU hoặc ASCII. Cả hai chế độ đều có cấu trúc thông báo và dữ liệu, định dạng lệnh và phản hồi được xác định và yêu cầu xác thực dữ liệu. Chế độ ASCII sử dụng Kiểm tra dự phòng theo chiều dọc (LRC) để xác thực dữ liệu, trong khi chế độ RTU sử dụng CRC 16 bit (Kiểm tra dự phòng theo chu kỳ). Khi truyền Modbus qua Ethernet bằng TCP/IP, dữ liệu được gói gọn trong các gói TCP. Trong chế độ này, việc xác thực tổng kiểm tra là không cần thiết vì TCP là giao thức hướng kết nối, đáng tin cậy đã cung cấp khả năng kiểm tra tính toàn vẹn dữ liệu. Giao thức Modbus-RTUModbus-RTU là một định dạng nhỏ gọn thể hiện dữ liệu ở dạng thập lục phân. Ở định dạng RTU, mỗi lệnh được theo sau bởi tổng kiểm tra kiểm tra dự phòng theo chu kỳ (CRC). Ví dụ: nếu chúng tôi cần gửi số 10, ở chế độ RTU, chúng tôi chỉ cần gửi 0x0A. Việc truyền dữ liệu trên xe buýt sẽ được biểu diễn dưới dạng: 0000 1010. Cấu trúc khung cho truyền thông ModbusMột thông báo đề cập đến một khung dữ liệu duy nhất và khung dữ liệu đại diện cho một thông báo duy nhất. Nó đề cập đến một bộ dữ liệu lệnh hoàn chỉnh và về cơ bản đại diện cho một chuỗi dữ liệu. Một thông báo Modbus đề cập đến một khung dữ liệu mà master gửi đến Slave. Nó bao gồm địa chỉ của nô lệ, thao tác mà chủ muốn thực hiện, tổng kiểm tra và các thông tin liên quan khác. Định dạng thông báo cho giao thức Modbus trên liên kết nối tiếp như sau:
Mã chức năng ModbusGiao thức Modbus xác định nhiều chức năng và để sử dụng các chức năng này một cách thuận tiện, mỗi chức năng được gán một mã chức năng, hoạt động như một mã hoặc mã định danh. Giao thức chỉ định hơn 20 mã chức năng, nhưng có 8 mã chức năng thường được sử dụng để đọc và ghi vào vùng lưu trữ. Dưới đây là bảng minh họa các mã chức năng phổ biến này: Function code Function Description 01H read output coil 02H read input coil 03H read holding register 04H read input register 05H write single coil 06H write single register 0FH write multi-coil 10H write multiple registers Kiểm tra CRCCRC (Kiểm tra dự phòng theo chu kỳ) là một cơ chế kiểm tra lỗi được sử dụng trong giao thức Modbus. Trường CRC chiếm hai byte và chứa giá trị nhị phân 16 bit. Giá trị CRC được thiết bị truyền tính toán và thêm vào khung dữ liệu. Thiết bị nhận sẽ tính toán lại giá trị CRC khi nhận dữ liệu và so sánh nó với giá trị trường CRC trong khung nhận được. Nếu hai giá trị không khớp nhau thì đã xảy ra lỗi. Ví dụ: nếu master gửi khung 01 06 00 01 00 17 98 04, trong đó 98 04 đại diện cho trường CRC, thiết bị phụ cần tính toán lại giá trị CRC dựa trên phần dữ liệu 01 06 00 01 00 17. Khi đó, thiết bị phụ sẽ tính toán lại giá trị CRC dựa trên phần dữ liệu 01 06 00 01 00 17. so sánh giá trị CRC được tính toán với giá trị CRC nhận được (98 04, do chủ tính toán). Nếu các giá trị không khớp, điều đó cho biết lỗi truyền dữ liệu và dữ liệu không thể được coi là hợp lệ. Quy trình xác thực CRC (Kiểm tra dự phòng theo chu kỳ) có thể được tóm tắt như sau:
Giao thức Modbus-ACSIIModbus-ASCII là định dạng biểu diễn trong đó dữ liệu được biểu thị bằng mã ASCII và mỗi byte 8 bit được truyền dưới dạng hai ký tự ASCII. Định dạng ASCII sử dụng kiểm tra dự phòng theo chiều dọc (LRC) làm tổng kiểm tra. Ví dụ: nếu chúng ta cần gửi số 10, ở chế độ ASCII, chúng ta sẽ chuyển đổi các chữ số '1' và '0' thành dạng biểu diễn ASCII của chúng. Vì vậy, chúng tôi sẽ gửi các byte 0x31 (mã ASCII cho '1') và 0x30 (mã ASCII cho '0'). Việc truyền dữ liệu trên xe buýt sẽ được biểu diễn dưới dạng: 0011 0001 0011 0000 Cấu trúc khung thông báo Modbus-ASCII
Trong Modbus-ASCII, có các ký tự bắt đầu và kết thúc (CR LF) đóng vai trò là chỉ báo cho phần đầu và phần cuối của khung dữ liệu. Mặt khác, Modbus-RTU không có các điểm đánh dấu như vậy và dựa vào các khoảng thời gian để xác định điểm bắt đầu và kết thúc của khung. Giao thức chỉ định khoảng thời gian là 3,5 ký tự. Điều này có nghĩa là trước khi bắt đầu một khung, phải có khoảng thời gian nhàn rỗi lớn hơn 3,5 ký tự và sau khi kết thúc khung, cũng phải có khoảng thời gian nhàn rỗi là 3,5 ký tự để tránh tình trạng chồng gói hoặc “trục trặc” . Lưu ý: Khoảng thời gian 3,5 ký tự biểu thị khoảng thời gian cụ thể nhưng phụ thuộc vào tốc độ truyền. Trong giao tiếp nối tiếp, 1 ký tự thường bao gồm 1 bit bắt đầu, 8 bit dữ liệu (trong hầu hết các trường hợp), 1 bit chẵn lẻ (hoặc không có) và 1 bit dừng. Như vậy, 1 ký tự bao gồm 11 bit. Do đó, 3,5 ký tự tương ứng với 38,5 bit. Ý nghĩa của tốc độ baud là bit của bit nhị phân được truyền trong một giây. Vì vậy, đối với tốc độ truyền là 9600, 3,5 ký tự = 9600/38,5 = 0,00401s * 1000 = 4,01ms. Giao thức Modbus-TCPModbus-TCP không cần địa chỉ nô lệ mà cần tiêu đề MBAP. Và nó không yêu cầu kiểm tra lỗi vì bản thân TCP cũng có khả năng kiểm tra lỗi. Area Length Describe Client computer Server Transaction identifier 2 bytes Identification of Modbus request/response transactions client start The server re-copied from the received request Protocol identifier 2 bytes 0=Modbus protocol client start The server re-copied from the received request Length 2 bytes the number of bytes that follow client start(request) server(response) start Unit identifier 1 byte Identification of remote slaves connected on a serial link or other bus client start The server re-copied from the received request Nói một cách đơn giản, Modbus-TCP có nguồn gốc từ Modbus-ASCII nhưng loại bỏ xác minh tổng kiểm tra và thêm năm byte số 0, theo sau là một byte đơn có giá trị 0x06. |