Raspberry pi zero: http://alli.pub/5nan91
ENC28J60: http://alli.pub/5nanbd
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Существует версия raspberry pi zero без wi-fi. Она стоит дешевле. И в ней нет ethernet порта. Есть только microusb. Но так как это всетаки мини компьютер, то доступ к сети у него должен быть. Конечно можно купить OTG кабель на полноценный usb и подключить к нему usb сетевую карту. Но такой способ довольно затратный. А вот модуль ENC28J60 очень дешевый, подключается по gpio разъемам и шине spi. И настраивается он очень быстро. Вот о нем речь и пойдет в данной статье.
Схема подключения модуля ENC28J60 к raspberry pi zero выглядит следующим образом:
После подключения модуля. Настройки будем производить на операционной системе raspbian.
Первое что нужно сделать это зайти в файл config.txt и включить шину spi.
Для этого вводим:
sudo nano /boot/config.txt
Раскомментироем строчку:
#dtparam=spi=on
И допишем строчку:
dtoverlay=enc28j60
Должно выглядеть так:
Далее нужно перезагрузить малинку:
sudo reboot
В отличие от большинства других сетевых устройств, которые вы могли использовать в прошлом, ENC28J60 не имеет предварительно установленного MAC-адреса. Это означает, что он генерируется случайным образом при каждом запуске устройства. Это может вас не беспокоить, но может привести к тому, что ваш маршрутизатор будет продолжать выделять другой IP-адрес. Если вам нужен согласованный MAC-адрес, вы должны установить его в программном обеспечении.
Установку MAC адреса будем производить в файле setmac.service. Создадим его командой:
sudo nano /lib/systemd/system/setmac.service
И добавим туда следующее содержание:
[Unit] Description=Set MAC address for ENC28J60 module Wants=network-pre.target Before=network-pre.target BindsTo=sys-subsystem-net-devices-eth0.device After=sys-subsystem-net-devices-eth0.device [Service] Type=oneshot ExecStart=/usr/local/bin/setmac.sh [Install] WantedBy=multi-user.target
И теперь создадим файл setmac.sh
sudo nano /usr/local/bin/setmac.sh
И добавим туда следующее:
#! /bin/sh sudo /sbin/ip link set dev eth0 address `sed -n "s/Serial.*: 00000000..\(..\)\(..\)\(..\)/b8:27:eb:\1:\2:\3/p" /proc/cpuinfo`
После этого сохраняем файл комбинацией клавишь Ctrl+X далее Y.
Далее запустим службу setmac.service
sudo systemctl enable setmac.service
И дадим права файлу setmac.sh
sudo chmod 777 /usr/local/bin/setmac.sh
И перезагружаем устройство:
sudo reboot
И все, после загрузки малинки и подождам около 30 секунд, устройство получит ip адрес. Его сможем узнать командой ifconfig.
На этом все. Эти же действия показаны в видео:
https://youtu.be/yZR1zYbgaAI