2017-04-07 1 views
0

NRF24l01 +를 사용하여 Arduino와 통신하기 위해 라즈베리 파이를 얻는 데 도움이 필요합니다.nrf24-rs24 라이브러리 예제가 작동하지 않는 라즈베리 파이와 arduino

nrf24 라이브러리의 예제 파일은 실행되거나 컴파일되지 않습니다. 나는 arduino와 pi 모두에 대해 5 개의 라이브러리를 시도했지만 아무 것도 작동하지 않습니다. 하지만 지금은 가장 자세한 가이드와 함께 찾아 볼 수있었습니다. http://invent.module143.com/daskal_tutorial/rpi-3-tutorial-14-wireless-pi-to-arduino-communication-with-nrf24l01/

저는 raspbian (noobs에서)을 실행 중입니다. 지금까지, 나는이 가이드가 내게 지시 한대로 정확히 모든 것을했습니다. 내가 (NO 그냥 테스트, 아두 이노를 보내기로) 파이에서 프로그램을 실행하면 코드는 오류로 실행 :

File "sendArduino.py", line 38 
    if (n > = 32 and n <= 126): 

SyntaxError: invalid syntax 

그래서 내가 if 문 완전히 제거하고, 코드의 라인을 취소 들여 쓰기 if 문. 지금 실행할 때 다른 오류가 발생합니다.

Traceback(most recent call last): 
File "sendArduino.py", line 11, in <module> 
    radio.begin(0, 17) 
File "/home/pi/Desktop/NRF24L01/lib_nrf24.py", line 373, in begin 
    self.spidev.open(0, csn_pin) 
FileNotFoundError: [Errno 2] No such file or directory 

가 작동하지 않는 한 SPI 부분 것을 본 후, 난 다시 가서 튜토리얼에서 파이썬 spidev를 다시 dowloaded하지만이 같은 오류를 제공합니다.

여기서는 무엇을 해야할지 잘 모릅니다. 사실,이 nrf24 모듈을 사용하여 arduino와 raspberry pi 사이에 어쩌면 20 int valuesfr float 값을 전송하기 만하면됩니다. (바람직하게는 python 또는 cpp로). 나는 이미 많은 다른 가이드를 시험해 봤는데, 나는 무엇이 잘못되었는지 알지 못한다.

+1

만약'if (n > = 32 and n < = 126) :'을 정확히 사용한다면, 왜 그것이 유효한 구문이 아닌지 분명합니다. 이것은'if (n> = 32 and n <= 126) :'에 대한 html로 인코딩 된 문자열입니다. 예제 코드를 복사/붙여 넣기 만하면 안됩니다. –

+0

그래서 더 크거나 작음의 징후에있는 오류는 복사 양면 인쇄 때문 이었습니까? 알아 둘만한. – stonercough

+0

복사/붙여 넣기뿐만 아니라 해당 웹 페이지의 실수로 인해 '>'및 '<'사실이 해당 페이지에 있습니다. 복사/붙여 넣기를 한 후에 운영자를 수정하도록 수정해야했습니다. –

답변

0

신선한 아침과 몇 시간 동안 문제 해결/디버깅을 한 후에 코드를 작동 시켰습니다. pi 메뉴> 환경 설정에서 SPI를 'on'으로 설정하면 실제로 그렇게하지 않습니다. spi를 활성화하기 위해 config 파일을 변경해야했습니다.

+0

내가 추가해야합니다 : 코드도 잘못되었습니다. arduino 라이브러리의 기본 데이터 속도는 2mbps이고, rpi의 데이터 전송률을 1mbps로 설정합니다. 내가 그것을 제거하고 다시 기본 2하자, 그것은 효과. 내가 SPI를 켤 때 구문 오류가 아닌 시작 인쇄물이 생겼다. – stonercough

+0

안녕하세요, 구문과 동일한 문제가 있지만 구성 파일을 변경하는 날 위해 작동하지 않습니다. 그 밖에 뭐가 될 수 있는지 알아? – gil