Я пытаюсь настроить беспроводную связь, используя два модуля NRF24L01. Я использую Raspberry Pi 4 Model B в качестве приемника, использующего библиотеку PYRF24 и Raspberry Pi Pico с микропитоном в качестве отправителя. Проблемы. Для PICO я попробовал несколько библиотек микропитонов (например, из официального репозитория GitHub MicropyThon) и несколько раз проверил соединения PIN: < /p>
MISO: GP4
MOSI: GP7
SCK: GP6
CSN: GP15
CE: GP14
< /code>
Теперь общение больше не работает. Нет сообщений об ошибках, но данные не получены, независимо от того, устанавливается ли PICO в качестве отправителя или приемника. Я добавлю код тестирования для PI 4 (на основе первого примера в библиотеке PYRF24 и PICO (попытался адаптировать один и тот же пример для микропитона-библиотека) в конце этого текста. Оценка!
Заранее!"""
Simple example of using the RF24 class.
See documentation at https://nRF24.github.io/pyRF24
"""
import time
import struct
from pyrf24 import RF24, RF24_PA_MAX, RF24_DRIVER
print(__file__) # print example name
########### USER CONFIGURATION ###########
# CE Pin uses GPIO number with RPi and SPIDEV drivers, other drivers use
# their own pin numbering
# CS Pin corresponds the SPI bus number at /dev/spidev.
# ie: radio = RF24(, *10+)
# where CS pin for /dev/spidev1.0 is 10, /dev/spidev1.1 is 11 etc...
CSN_PIN = 0 # aka CE0 on SPI bus 0: /dev/spidev0.0
if RF24_DRIVER == "MRAA":
CE_PIN = 15 # for GPIO22
elif RF24_DRIVER == "wiringPi":
CE_PIN = 3 # for GPIO22
else:
CE_PIN = 22
radio = RF24(CE_PIN, CSN_PIN)
# using the python keyword global is bad practice. Instead we'll use a 1 item
# list to store our float number for the payloads sent
payload = [0.0]
# For this example, we will use different addresses
# An address need to be a buffer protocol object (bytearray)
address = [b"1Node", b"2Node"]
# It is very helpful to think of an address as a path instead of as
# an identifying device destination
# to use different addresses on a pair of radios, we need a variable to
# uniquely identify which address this radio will use to transmit
# 0 uses address[0] to transmit, 1 uses address[1] to transmit
radio_number = bool(
int(input("Which radio is this? Enter '0' or '1'. Defaults to '0' ") or 0)
)
# initialize the nRF24L01 on the spi bus
if not radio.begin():
raise OSError("nRF24L01 hardware isn't responding")
# set the Power Amplifier level to -12 dBm since this test example is
# usually run with nRF24L01 transceivers in close proximity of each other
radio.set_pa_level(RF24_PA_MAX) # RF24_PA_MAX is default
# set TX address of RX node (uses pipe 0)
radio.stop_listening(address[radio_number]) # enter inactive TX mode
# set RX address of TX node into an RX pipe
radio.open_rx_pipe(1, address[not radio_number]) # using pipe 1
# To save time during transmission, we'll set the payload size to be only what
# we need. A float value occupies 4 bytes in memory using struct.calcsize()
# "
Подробнее здесь: https://stackoverflow.com/questions/797 ... icropython
NRF24L01 Связь между Raspberry Pi 4 и Raspberry Pi Pico (Micropython) не работает ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
NRF24L01 Связь между Raspberry Pi 4 и Raspberry Pi Pico (Micropython) не работает
Anonymous » » в форуме Python - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Клиент веб-сокета PICO W/Micropython не может правильно отправлять данные на веб-сокет PHP
Anonymous » » в форуме Php - 0 Ответы
- 23 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Клиент веб-сокета PICO W/Micropython не может правильно отправлять данные на веб-сокет PHP
Anonymous » » в форуме Php - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-