Збірка прошивки

Підготовка та прошивка OpenIPC Firmware

Цей посібник пояснює, як скомпілювати та прошити прошивку OpenIPC з клієнтом QuadroFleet Masina для камери дрона (наприклад, SSC30KQ, SSC338Q). Також розглянуто налаштування ECM-інтерфейсу 4G модему.


Попередні вимоги

  • Система Linux (рекомендовано Ubuntu 22.04+)
  • Доступ до Інтернету для завантаження репозиторіїв та інструментів
  • TFTP-сервер для прошивки (наприклад, tftpd-hpa на Ubuntu)
  • Опційно: програматор CH341A для прямого прошивання

Крок 1: Компіляція OpenIPC Firmware

Встановлення залежностей:

sudo apt update
sudo apt install g++-arm-linux-gnueabihf build-essential git

Клонування репозиторіїв:

git clone https://github.com/OpenIPC/firmware.git
git clone -b opt https://github.com/beep-systems/quadrofleet-masina.git

Компіляція клієнта Masina:

cd quadrofleet-masina/client
make clean
make

Копіювання файлів клієнта у каталог прошивки:

cd ..
cp -r quadrofleet-masina/client/drop/* firmware/

Компіляція прошивки:

cd firmware
make
  • Виберіть цільовий пристрій (SSC30KQ_4G або SSC338Q_4G) під час компіляції
  • Файли виходу знаходяться в firmware/output/images (наприклад, rootfs.squashfs.ssc30kq, uImage.ssc30kq)

Крок 2: Прошивка через TFTP

Налаштування TFTP-сервера:

sudo apt install tftpd-hpa
sudo cp firmware/output/images/* /var/lib/tftpboot/
sudo systemctl restart tftpd-hpa

Підключіть камеру до TFTP-сервера через Ethernet та доступ до завантажувача (наприклад, через minicom).

Налаштування змінних середовища (підбирайте розміри файлів):

setenv serverip 192.168.178.66
setenv kernsize 0x300000
setenv rootaddr 0x350000
setenv rootsize 0xA00000
setenv rootmtd 10240k
setenv bootargs 'console=ttyS0,115200 panic=20 root=/dev/mtdblock3 init=/init mtdparts=NOR_FLASH:256k(boot),64k(env),3072k(kernel),${rootmtd}(rootfs),-(rootfs_data) LX_MEM=${memlx} mma_heap=mma_heap_name0,miu=0,sz=${memsz}'
saveenv

Прошивка ядра та rootfs:

tftp 0x21000000 uImage.ssc30kq
sf probe 0; sf erase 0x50000 0x300000; sf write 0x21000000 0x50000 0x1fdd68
tftp 0x21000000 rootfs.squashfs.ssc30kq
sf probe 0; sf erase 0x350000 0xA00000; sf write 0x21000000 0x350000 0x8ea000
saveenv
reset

Крок 3: Альтернативна прошивка з CH341A

  1. Завантажте попередньо скомпільовану прошивку від QuadroFleet.
  2. Використайте CH341A програматор та NeoProgrammer 2.2.0.10:

  3. Device: GD25Q128x [3.3V]

  4. Type: SPI NOR 25xx
  5. BitSize: 128 Mbits
  6. Manufact: GIGADEVICE
  7. Size: 16777216 Bytes
  8. Page: 256 Bytes
  9. Прошивка .bin файлу.

Крок 4: Оновлення прошивки (опційно)

  1. Підключіться до камери через Ethernet та доступ до терміналу (SSH або веб-інтерфейс).
  2. Завантажте нові файли прошивки:
cd /tmp
curl -O http://192.168.178.66/rootfs.squashfs.ssc30kq
curl -O http://192.168.178.66/uImage.ssc30kq
  1. Застосуйте оновлення:
soc=$(fw_printenv -n soc)
sysupgrade --kernel=/tmp/uImage.${soc} --rootfs=/tmp/rootfs.squashfs.${soc} -z --force_ver -n

Крок 5: Налаштування 4G модему (Quectel EC25)

  1. Підключіть модем до ПК через USB.
  2. Відкрийте термінал (PuTTY) з налаштуваннями:
Baud rate: 115200
Data bits: 8
Stop bits: 1
Parity: None
Flow control: None

Активуйте ECM-інтерфейс:

AT+QCFG="usbnet",1
AT+CFUN=1,1
AT+QCFG="usbnet",1
AT+CFUN=1,1

Увага!

Дочекайтеся перезавантаження модему та появи мережевого пристрою.


Крок 6: Перевірка прошивки

  • Доступ до веб-інтерфейсу камери (IP за замовчуванням через DHCP).
  • Переконайтеся, що QuadroFleet Masina client працює (ps | grep client).
  • Перевірте VPN-з’єднання та UDP-потік через застосунок керування.

Примітки

  • Переконайтеся, що IP TFTP-сервера (192.168.178.66) відповідає вашій мережі.
  • Резервне копіювання налаштувань камери перед прошивкою.