Cập nhật chương trình cơ sở từ xa Arduino Nano


8

Tôi đang làm việc trên Arduino Nano (bộ nhớ flash 32Kb trong đó 2Kb được sử dụng bởi bộ tải khởi động, 2Kb SRAM, 1Kb EEPROM) .

Bộ điều khiển vi mô lấy đầu vào từ một thiết bị điện thông qua mô-đun RS485 và gửi dữ liệu đọc lên máy chủ từ xa bằng mô-đun GPRS A6 . Sản phẩm được cho là tương tác với máy chủ từ xa, đăng dữ liệu theo các khoảng thời gian.

Tôi đã hoàn thành phần tích hợp và thiết bị hoạt động tốt, thu thập dữ liệu và đăng lên máy chủ (cách đó 10-15 km). Thách thức duy nhất tôi gặp phải là nếu có 100 thiết bị như vậy và tôi cần cập nhật chương trình cơ sở, sử dụng máy chủ từ xa (hoặc bất kỳ cơ chế phù hợp nào khác), tôi nên tiến hành như thế nào.

Tôi đã xem qua nhiều bài viết đề nghị sử dụng Arduino khác làm ISP, đây có thể là cách tiếp cận cuối cùng của tôi (vì nó sẽ làm tăng giá thành sản phẩm cuối cùng).

Bản cập nhật firmware không dây vẫn chưa rõ ràng như trên cộng đồng Stack Exchange dành cho các bộ điều khiển vi mô cấp thấp. Bất kỳ cuộc thảo luận có thể là một trợ giúp tuyệt vời cho nhiều người.


Mô tả "vị trí từ xa", 10 mét, 1 km, 10 km cho người dùng?
Bence Kaulics

@BenceKaulics chúng tôi đang sử dụng mô-đun GPRS để gửi yêu cầu đến bộ điều khiển vi mô cách đó khoảng 10 km.
Ashish K

3
Bạn cần mô tả trường hợp sử dụng của bạn rõ ràng hơn, bao gồm cả ngăn xếp phần mềm. Có một cái nhìn vào các câu hỏi cập nhật khác .
Sean Houlihane

Đây có phải là một sự phát triển mới, hay bạn đang cố gắng trang bị thêm trong một sản phẩm hiện có?
Sean Houlihane

@ SeanHoulihane Đó là một sự phát triển mới. Tôi có thể lựa chọn bất kỳ bộ điều khiển vi mô nào (chi phí là giới hạn duy nhất) có thể gửi dữ liệu đến máy chủ ở một địa điểm xa (10 Km) xung quanh. Tôi đã sử dụng một mô-đun GPRS để gửi dữ liệu và thách thức duy nhất hiện tại tôi phải đối mặt là làm thế nào để cập nhật chương trình cơ sở từ xa.
Ashish K

Câu trả lời:


9

Câu trả lời ngắn: Có thể.

Câu trả lời dài: Thật phức tạp. Đó là lý do tại sao rất nhiều triển khai rất xấu ra khỏi đó.

Ít nhất bạn có hai bước trong bất kỳ quy trình cập nhật từ xa / không dây nào.

  1. Phần sụn truyền
  2. Cài đặt firmware.

Tất nhiên, đây là mức tối thiểu tuyệt đối. Nếu bạn đang làm việc trong các lần lặp thì đó cũng là bước đầu tiên rất hợp lệ. Nếu bạn có nhiều thiết bị, bạn sẽ phải liên kết phần sụn chính xác với đúng thiết bị . Nếu bạn muốn giảm cơ hội đóng cục thiết bị của mình, bạn sẽ muốn cách xác minh trạng thái thiết bị của mình trước và sau khi cập nhật , bạn cũng muốn bảo đảm việc vận chuyểnlàm cho việc vận chuyển trở nên đáng tin cậy nhất có thể và có một chiến lược dự phòng trong trường hợp lỗi cập nhật .

Đó là năm bước nữa đưa bạn hướng tới một sản phẩm đáng tin cậy. Có những thực tiễn tốt nhất hiện có cho những điều này nhưng chúng phụ thuộc vào môi trường dự án của bạn. Có thể đó là một cái gì đó rẻ và tỷ lệ thất bại 5% trên các bản cập nhật là ổn, có thể đó là một máy điều hòa nhịp tim và thậm chí một lỗi trong tổng số là không thể chấp nhận được vì nó dẫn đến một kịch bản nghiêm trọng. Bạn sẽ phải tìm giải pháp cho những điều cơ bản phù hợp với sản phẩm của bạn.

Hơn nữa, có hàng tá những điều khác nhau để xem xét. Bạn sẽ có khách hàng chứ? Bạn có phải thông báo cho họ? Họ có tiếng nói trong việc cập nhật thời gian / cài đặt không? Thiết bị của bạn ở các quốc gia khác nhau? Làm hạn chế pháp lý áp dụng? Làm tiêu chuẩn quy định áp dụng? Có bao nhiêu thiết bị bạn đang cập nhật? 1? Một tá? Hàng trăm? Hàng triệu?

Nếu bạn cập nhật năm thiết bị, quá trình có thể rất trò chuyện. Nếu bạn đang cập nhật hàng triệu mà có thể rất tốn kém. Và vâng, điều đó tác động đến những gì tôi liệt kê ở trên như bước một, truyền phần sụn. Có thể bạn tạo máy tạo nhịp tim và chi phí xử lý hàng trăm tin nhắn trên mỗi bản cập nhật là ổn nếu xem xét phương án thay thế.

Đó chỉ là những câu hỏi tôi đã viết trong hai phút, vì vậy danh sách này chắc chắn không đầy đủ. Quan điểm của tôi là không có thông tin liên quan đến kịch bản chúng tôi thực sự không thể giúp bạn đúng cách.


Cảm ơn bạn rất nhiều @Helmar, tôi sẽ cập nhật câu hỏi với càng nhiều chi tiết càng tốt. Đối với các bộ điều khiển vi mô không hỗ trợ HĐH chạy trên nó, cập nhật firmware từ xa vẫn còn mơ hồ và một giải pháp rõ ràng tốt không chỉ giúp tôi mà còn cho nhiều người đang làm việc trên các bảng phát triển cấp thấp. Tôi sẽ yêu cầu bạn kiểm tra nó sau khi cập nhật là tốt.
Ashish K

1
Có thể, miễn là nền tảng cho phép flash được chia thành ít nhất 3 vùng (hoặc bạn thích chạy từ RAM trong khi bạn flash lại, và có rất nhiều phụ tùng hoặc JTAG có thể triển khai từ xa).
Sean Houlihane

@SeanHoulihane loạt ATmega không thể chạy từ RAM.
Chris Stratton
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.