SD карта должна быть минимум на 64 ГБ, класса А1 V10.
Проверить SD карту. В некоторых случаях SD карта может быть бракованной - установка и работа ОС становиться очень долгой. Необходимо выполнить проверку SD карты на скорость чтения/записи и проверку битых участков. Утилиты для проверки SD карт для Windows: H2testw.
ВАЖНО! Имя хоста, имя пользователя и пароль должны быть записаны в Passwork / Kaiten
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Важно!
Загрузочная SD-карта должна в конечном варианте быть вставлена не через USB адаптер, а в ридер SD карт в самойraspberry. Если оставить карту в ридере через некоторое время raspberry перестанет грузиться.
sudo raspi-config
Установить дополнительное ПО
На момент написания руководства актуальная версия anydesk_6.3.0-1_armhf.
anydesk
Должен запуститься GUI интерфейс программы
sudo apt install libgles-dev libegl-dev
sudo ln -s /usr/lib/arm-linux-gnueabihf/libGLESv2.so /usr/lib/libbrcmGLESv2.so
sudo ln -s /usr/lib/arm-linux-gnueabihf/libEGL.so /usr/lib/libbrcmEGL.so
sudo rm -rf /opt/dataplicity
sudo apt purge -y supervisor
sudo rm -rf /etc/supervisor
Сгенерированную сайтом команду необходимо вставить в терминал Raspbery Pi.После завершения установки в терминале, на сайте необходимо зайти в аккаунт и в настройках аккаунта установить пароль. Сохраняем логин-пароль в passwork / kaiton
sudo apt update \
&& sudo apt full-upgrade \
&& sudo apt install git wget zsh curl \
&& sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)" \
&& zsh
git config --global credential.helper 'store'
git clone https://gitlab.com/itfox-web/foodbox20/food-box-main-server-api.git
cd food-box-main-server-api
git submodule init && git submodule update --remote
cd food_box_raspberry_pi && git checkout dev && cd ..
cd food_box_waiter_front && git checkout dev && cd ..
chmod +x docker-install-raspbian.sh
sudo ./docker-install-raspbian.sh
reboot
Дальнейшая работа ведётся через SSH подключение через VSCode
/home/pi/food-box-main-server-api
на Raspbery и вставить содержимое env файла ранее подготовленный разработчиком. Сохранить файл.
/home/pi/food-box-main-server-api/food_box_waiter_front
на Raspbery и вставить содержимое env файла ранее подготовленный разработчиком. Сохранить файл.
docker-compose -f docker-compose-arm.yml up -d
выполняется после подключения и проверки всех датчиков
python manage.py createsuperuser
...
email: fotobox20220919171229-admin@itfox-web.com
password: из_passwork
watch -n 0 scripts/weightscale/weightscale_j ttyACM0
libcamera-vid -t 50000
Эта команда должна быть выполнена не из ssh терминала, а непосредственно из интерфейса raspberry os она должна открыть вид с камеры в режиме реального времени, тогда ее можно сфокусировать вручную
sudo nano /boot/config.txt
Строка должна выглядеть так:
dtparam=i2c_arm=on,i2c_arm_baudrate=400000
source env/bin/activate
watch -n 0 scripts/temperature.py
source
env/bin/activate
python3 scripts/temperature_array.py
python3 scripts/camera.py
python3 scripts/sensor_data.py
Финальная проверка должна работать так:
curl 127.0.0.1:9999/get_sensor_data
{
"temperature_sensor1"
: {
"sensor_id"
: 0,
"ambient_temperature"
: null,
"object_temperature"
: null,
"emmission"
: null,
"error_msg"
:
"Sensor 0 not found!"
},
"temperature_sensor2"
: {
"sensor_id"
: 1,
"ambient_temperature"
: null,
"object_temperature"
: null,
"emmission"
: null,
"error_msg"
:
"Sensor 1 not found!"
},
"temperature_array"
: {
"image_full_path"
:
"None"
,
"error_msg"
:
"Temperature array error"
},
"weight_sensor"
: {
"error_msg"
:
""
,
"weight"
: 1260,
"tare"
: 0 },
"camera_sensor"
: {
"image_title"
:
"None"
,
"image_paht"
:
"None"
,
"image_full_path"
:
"None"
,
"error_msg"
:
"No cameras available!"
,
"done"
:
false
},
"error_msg"
:
""
}
Должен вернуться валидный json с ссылкой на фото с камеры, параметрами весов, изображением из температурного датчика.
pi@fotobox20220919171229:~ $ ifconfig
...
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.88.53 netmask 255.255.255.0 broadcast 192.168.88.255
...
Ip адрес - 192.168.88.53, если вы правильно указали имя сети и пароль, то ip адрес будет получен сразу.