Mục lục:

Telnet tới Arduino / AVR của bạn !: 4 bước
Telnet tới Arduino / AVR của bạn !: 4 bước

Video: Telnet tới Arduino / AVR của bạn !: 4 bước

Video: Telnet tới Arduino / AVR của bạn !: 4 bước
Video: Tự học lập trình Arduino Tập 4 | Cấu trúc của một chương trình trong môi trường lập trình Arduino 2024, Tháng bảy
Anonim
Telnet tới Arduino / AVR của bạn!
Telnet tới Arduino / AVR của bạn!

Một ngày nọ, tôi muốn kiểm tra một trong những AVR của mình nhưng tôi đã ở trên lầu và chúa biết rằng việc xuống cầu thang để tìm bộ vi điều khiển là quá phức tạp. Tuy nhiên, có hai máy tính nhàn rỗi đang ngồi trên gác bên cạnh cái mông lười biếng của tôi, vì vậy tôi đã có nửa ngày làm việc và quyết định viết một ứng dụng liên kết hai cổng: một cổng nối tiếp để kết nối với Arduino / AVR và một TCP / IP. cổng mà tôi có thể telnet vào từ mạng không dây của mình hoặc qua Internet. Sau đó, ứng dụng hoạt động như một proxy giữa mạng TCP / IP và AVR. Để xem video rõ hơn, hãy nhấp hai lần và đưa video lên trong cửa sổ riêng và phóng to. Nếu không, hãy nheo mắt và bạn có thể thấy những gì đang được nhập. Vì vậy, tôi đã kết thúc việc sửa đổi ứng dụng kết nối nối tiếp AVR Terminal mà tôi đã viết sẵn và tôi đã thêm hỗ trợ TCP / IP cho nó. Để đi cùng với nó, tôi đã viết một số chương trình cơ sở cung cấp thứ gì đó giống như vỏ UNIX, cho phép tôi truy cập từ xa vào tất cả các chân cắm, cài đặt cầu chì, v.v. Bạn có thể bật đèn LED và tất cả những thứ đó từ xa. Nó thậm chí còn hỗ trợ điều chỉnh tốc độ đồng hồ trong thời gian thực và có hệ thống mật khẩu giả cung cấp khuôn khổ cho Danh sách điều khiển truy cập hoặc xác thực cho các lệnh cấp gốc (như tắt nguồn hệ thống con, v.v.). Dưới đây là một số điều nó có thể làm:

  • Hiển thị tần số cpu của bạn
  • Đặt bất kỳ ghim nào thành đầu vào hoặc đầu ra
  • Đọc trạng thái của bất kỳ mã pin nào
  • Gửi logic 1 và 0 đến bất kỳ chân nào để bật đèn LED, v.v.
  • Tắt nguồn và bật nguồn các thiết bị ngoại vi SPI, TWI, USART và ADC
  • Đọc cầu chì thấp hơn, cầu chì cao hơn, cầu chì bên ngoài và các bit khóa trong thời gian thực
  • Bắt đầu hẹn giờ để tự động tính thời gian cho các sự kiện và sự việc.
  • Khuôn khổ cho hệ thống xác thực vào EEPROM
  • Thiết lập bất kỳ bộ đếm trước đồng hồ có sẵn nào trong thời gian thực
  • Được viết bằng C ++ và được biên dịch cho ATmega328P

Hướng dẫn chi tiết này hướng dẫn chi tiết cách bạn có thể tải xuống phần mềm (và phần sụn, nếu bạn muốn), cài đặt nó và bắt đầu truy cập AVR của bạn từ mạng gia đình không dây của bạn hoặc qua Internet.

Bước 1: Những gì bạn cần

  • AVR hoặc Arduino / bản sao độc lập (để biết hướng dẫn chi tiết về cách tạo hệ thống AVR độc lập, khá hoàn chỉnh của riêng bạn bao gồm tinh thể bên ngoài, tụ tách và nguồn điện được điều chỉnh, hãy xem hướng dẫn khác của tôi).
  • Kết nối nối tiếp hoặc kết nối USB với PC chủ của bạn
  • Phiên bản AVR Terminal có máy chủ TCP / IP được nhúng
  • Tùy chọn, AVR Shell (avrsh) nếu bạn muốn chạy phần sụn trên AVR / Arduino mục tiêu của mình để có quyền truy cập vào các thiết bị ngoại vi của bạn.

Cổng TCP / IP hoạt động với bất kỳ phần sụn nào bạn có thể đang sử dụng hoặc muốn ghi miễn là nó giao tiếp qua UART với PC. Thật không may, không có phiên bản Java, vì vậy AVR Terminal chỉ chạy trên Windows tại thời điểm này.

Bước 2: Tải xuống và cài đặt Thiết bị đầu cuối AVR và Máy chủ TCP / IP

Tải xuống và cài đặt Thiết bị đầu cuối AVR và Máy chủ TCP / IP
Tải xuống và cài đặt Thiết bị đầu cuối AVR và Máy chủ TCP / IP

AVR Terminal là một ứng dụng windows mà tôi đã giới thiệu trong các hướng dẫn trước đó. Nó có thể nói chuyện với AVR của bạn qua RS232 USART cũng như lắng nghe các kết nối TCP / IP gửi đến và chuyển tiếp chúng qua kết nối RS232 để phản hồi từ AVR đang chờ của bạn. Nó không hoàn chỉnh về tính năng nhưng cung cấp một chuyến tham quan ban đầu về các tính năng được nêu chi tiết tại đây và trong các tài liệu hướng dẫn khác của tôi. Phiên bản mới nhất có thể được tải xuống tại đây. Phần mềm không cần cài đặt đầy đủ; bạn chỉ có thể chạy phần mềm từ thư mục của nó. Hộp văn bản trên thanh công cụ cho biết BẤT KỲ là địa chỉ IP bị ràng buộc để nghe. BẤT KỲ sẽ ràng buộc bất kỳ và tất cả các địa chỉ IP, hoặc tùy ý bạn có thể liệt kê một địa chỉ để liên kết cụ thể. Hộp văn bản ở bên phải địa chỉ IP là cổng IP mà máy chủ sẽ bị ràng buộc. Mặc định là 23232 nhưng bạn có thể thay đổi tùy chọn này thành bất kỳ thứ gì bạn muốn.

Bước 3: Cài đặt Shell của bạn

Trước khi AVR của bạn có thể liên lạc lại với bạn, bạn sẽ cần phải có một số loại hệ điều hành hoặc trình bao trên AVR mục tiêu. Có một số sẵn có bao gồm AVR Shell của tôi và Bitlash shell.

Ngoài ra, hãy sử dụng trải nghiệm này như một cơ hội để viết ra lớp vỏ tối thiểu của riêng bạn.

Bước 4: Telnet và tận hưởng

Telnet và tận hưởng
Telnet và tận hưởng

Hãy nhớ thông tin cấu hình của bạn hoặc bạn có thể giữ nó ở mặc định. Trong hình ảnh ví dụ của tôi, tôi đang ở trên máy chủ có tên "newton" và telnet tới máy mà AVR của tôi được kết nối, máy chủ có tên "quadcpu1". Bạn có thể thấy đầu ra tiêu chuẩn của telnet. Vì vậy, nếu bạn đã giữ nó ở mặc định, bạn có thể truy cập AVR / Arduino từ mạng TCP / IP của mình bằng: telnet 23232

hoặc nếu bạn đang ở trên cùng một hộp: telnet localhost 23232

Chỉ cần nhớ sử dụng cấu hình bạn đã thay đổi nó, nếu bạn đã thay đổi nó. Đó phải là nó. Mã nguồn cho cả máy chủ telnet và phần sụn AVR đều có sẵn miễn phí dưới dạng mã nguồn mở và sẽ cung cấp cho bạn đủ thông tin tốt để cho phép bạn sửa đổi hoặc viết các phiên bản của riêng bạn. Bước tiếp theo có thể là viết triển khai Java hoặc Qt của máy chủ TCP / IP để người dùng Mac và Linux có thể hưởng lợi.

Đề xuất: