14.5. Tổng kết

Bạn đã đi qua vòng đời của một cam từ tập lệnh thử nghiệm đang hoạt động đến sản phẩm được phát hành:

  • Xây dựng firmware tùy chỉnh -- môi trường phát triển, xây dựng hình ảnh firmware từ nguồn, nạp nó vào cam, và đường dẫn gỡ lỗi từ VS Code Cortex-Debug đến gdbrunner dòng lệnh khi có gì đó sai ở phía firmware.

  • Phát hành ứng dụng -- nhúng mã ứng dụng vào firmware thông qua các module đông lạnh, nhúng tài sản vào hình ảnh ROMFS, và thứ tự tra cứu xác định bản sao nào của tệp mà runtime thực sự tải khi khởi động. Sự phân chia xuất hiện: boot.py để thiết lập môi trường trước REPL, main.py làm điểm vào của ứng dụng, main.py đông lạnh cho điểm vào và ROMFS cho mọi thứ khác.

  • Cứng hóa cho sản xuất -- thư viện logging ghi vào đường dẫn đã biết, machine.WDT được nạp một lần mỗi lần lặp vòng lặp chính, try / except cấp cao nhất biến các sự cố thành sự kiện được ghi lại thay vì khởi động lại, vệ sinh hệ thống tệp giữ cho các thao tác tệp nhanh khi ứng dụng tích lũy bản ghi theo tháng trong lĩnh vực, và -- khi sản phẩm yêu cầu -- bảo vệ đọc flash.

  • Tài liệu nâng cao -- chứng chỉ TLS cho các cam cần xác thực và mã hóa lưu lượng với các dịch vụ mạng.

Một cam đã phát hành có tất cả những thứ này: mã ứng dụng của nó chạy từ hình ảnh firmware, watchdog của nó được nạp một lần mỗi lần lặp vòng lặp chính, nhật ký của nó được lưu trong thư mục có ngày trên thẻ SD, và -- khi sản phẩm yêu cầu -- flash của nó đã bị khóa chống đọc.

14.5.1. Tiếp theo là gì

Sản xuất là chương cuối cùng của hướng dẫn. Từ đây tài liệu chia thành tài liệu tham khảo:

  • Tham chiếu thư viện library reference là chế độ xem theo thứ tự bảng chữ cái "tên chính xác của lệnh gọi này là gì" của mọi module mà cam hiển thị -- machine, logging, os, csi, image, ml, và phần còn lại.

  • Các trang per-board quickref pages bao gồm các đặc điểm cụ thể của mỗi cam trong dòng sản phẩm OpenMV -- pinout, bus có thể gắn, ID board, tính khả dụng của ngoại vi, và những khác biệt nhỏ quan trọng khi ứng dụng phải chạy trên một phần cụ thể.

  • Các trang sensor reference pagesshield reference pages bao gồm các cảm biến ảnh riêng lẻ và shield mở rộng mà cam có thể mang -- thông số kỹ thuật từng phần, pinout, và các lưu ý mà ứng dụng cần khi chọn cảm biến và shield cho bản dựng.

  • Tham chiếu ngôn ngữ MicroPython language reference bao gồm bản thân ngôn ngữ -- sự khác biệt cú pháp so với CPython, các đặc điểm triển khai quan trọng khi tập lệnh trải dài hai phía, và tham chiếu trình lắp ráp nội tuyến cho trường hợp hiếm gặp khi Python quá chậm.

Hướng dẫn là con đường từ "Tôi có một cam mới trong tay" đến "Tôi đã phát hành một sản phẩm." Từ đây, cam là một phần của hệ thống lớn hơn mà ứng dụng chịu trách nhiệm, và công việc là của chính ứng dụng đó.