Збірка прошивки
Підготовка та прошивка 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
- Завантажте попередньо скомпільовану прошивку від QuadroFleet.
-
Використайте CH341A програматор та NeoProgrammer 2.2.0.10:
-
Device: GD25Q128x [3.3V]
- Type: SPI NOR 25xx
- BitSize: 128 Mbits
- Manufact: GIGADEVICE
- Size: 16777216 Bytes
- Page: 256 Bytes
- Прошивка .bin файлу.
Крок 4: Оновлення прошивки (опційно)
- Підключіться до камери через Ethernet та доступ до терміналу (SSH або веб-інтерфейс).
- Завантажте нові файли прошивки:
cd /tmp
curl -O http://192.168.178.66/rootfs.squashfs.ssc30kq
curl -O http://192.168.178.66/uImage.ssc30kq
- Застосуйте оновлення:
soc=$(fw_printenv -n soc)
sysupgrade --kernel=/tmp/uImage.${soc} --rootfs=/tmp/rootfs.squashfs.${soc} -z --force_ver -n
Крок 5: Налаштування 4G модему (Quectel EC25)
- Підключіть модем до ПК через USB.
- Відкрийте термінал (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) відповідає вашій мережі.
- Резервне копіювання налаштувань камери перед прошивкою.