14.5. Підсумок¶
Ви пройшли весь життєвий цикл камери від робочого скрипта на робочому столі до готового продукту:
Збірки власної мікропрограми – середовище розробки, збірка образу мікропрограми з вихідного коду, прошивка камери та шлях налагодження від VS Code Cortex-Debug до
gdbrunnerу командному рядку, коли щось йде не так на боці мікропрограми.Відправка застосунку – вбудовування коду застосунку у мікропрограму через заморожені модулі, вбудовування ресурсів у образ ROMFS та порядок пошуку, що визначає, яку копію файлу середовище виконання фактично завантажує під час запуску. Розподіл, що виникає:
boot.pyдля налаштування середовища до REPL,main.pyяк точка входу застосунку, замороженийmain.pyдля точки входу і ROMFS для всього іншого.Підготовка до виробництва – бібліотека
logging, що записує у відомий шлях,machine.WDT, що отримує сигнал раз на кожну ітерацію основного циклу, конструкціяtry/exceptна верхньому рівні, яка перетворює збої на зареєстровані події замість перезавантажень, гігієна файлової системи, що забезпечує швидкість файлових операцій у міру накопичення записів застосунком протягом місяців роботи в полі, та – коли того вимагає продукт – захист від зчитування флеш-пам’яті.Поглиблені матеріали – TLS-сертифікати для камер, яким потрібно проходити автентифікацію та шифрувати трафік з мережевими сервісами.
У готовій камері все це налаштовано: її код застосунку виконується з образу мікропрограми, сторожовий таймер отримує сигнал раз на кожну ітерацію основного циклу, журнал зберігається в датованому каталозі на SD-карті, а – коли того вимагає продукт – її флеш-пам’ять заблокована від зчитування.
14.5.1. Що далі¶
Виробництво – це остання глава посібника. Звідси документація розгалужується на довідкові матеріали:
Довідник бібліотек library reference – це алфавітний огляд «яка точна назва цього виклику» для кожного модуля, що надає камера:
machine,logging,os,csi,image,mlта інші.Сторінки per-board quickref pages охоплюють специфіку кожної камери у лінійці продуктів OpenMV – розпіновку, шини, що монтуються, ідентифікатори плат, доступність периферійних пристроїв та незначні відмінності, що мають значення, коли застосунок повинен працювати на конкретному компоненті.
Сторінки sensor reference pages та shield reference pages охоплюють окремі датчики зображення та розширювальні плати, що може нести камера – специфікації кожного компонента, розпіновку та примітки, необхідні застосунку при виборі датчиків і плат для збірки.
Довідник мови MicroPython MicroPython language reference охоплює саму мову – синтаксичні відмінності від CPython, особливості реалізації, що мають значення, коли скрипт охоплює обидві, та довідник вбудованого асемблера для рідкісних випадків, коли Python виявляється занадто повільним.
Посібник – це шлях від «у мене є нова камера» до «я відправив продукт». Звідси камера є лише одним компонентом більшої системи, за яку відповідає застосунок, і робота – це робота самого застосунку.