Skip to main content

fun with the nrf24l01+

What I am trying to do nowadays is to get the "open sesame" system to work wireless.

The servo that opens the door is currently connected directly to the Raspberry Pi, which limits the use of the Raspberry Pi for just this purpose, and I was starting to want to have it around for more things.

The NRF24l01+ is a neat, cheap little device I found in the internet that gives devices a means to communicate with each other wireless through a 2.4 GHz network.

I've been looking at this site for a good sample to follow and build upon.

Currently, I have not been able to build the Raspberry Pi source given from that site on my own, but someone in the comments managed to upload a working, built binary for it, which I have been using so far for testing. I'll eventually have to be able to build it on my own, as I'll probably have to change the code for my purposes.

I've been playing around with it, and I've been able to make lights blink. However, everything seems to malfunction when I try to wire the servo. I haven't actually wired the servo used for the testing on its own, so I have to first rule out that it's a servo/power issue that's causing it.

For now, blinking lights:


Comments

Popular posts from this blog

GPIO testing

Since the environment of the client-server-target is currently quite functional in the messaging standpoint, I decided to try connecting a simple LED light to the Raspberry Pi to see if it could "open" a door when the command is received. Installed the RPi.GPIO module (a Python module that gives the user command of the GPIO--General-Purpose Input/Output--ports in the Raspberry Pi) and connected the LED light to a GPIO pin. When the target received a request message, it would signal the GPIO pin to drive a current to the LED to light it up for 2 seconds. in main: if __name__ == "__main__":   GPIO.setmode(GPIO.BCM)   GPIO.setup(17, GPIO.OUT) in the on_message's request-received logic:      GPIO.output(17, True)      time.sleep(2)      GPIO.output(17, False) The video is a weak visual result. You can a click when the LED lights up; that was the sound of the key being pressed that sent the request message. Now, tim...

setting up pwm

There's always an obstacle.. I implemented the pwm module as described in the link in the previous post, but oddly enough, it didn't work. The error I received: AttributeError: 'module' object has no attribute 'PWM' After some time scratching my head, I came to the realization that somehow my python was running an older version of the RPi.GPIO library, as PWM control was a pretty recent addition to the library.  And indeed it was.  Not really sure what's happening in detail, but it seems that there are two different... entities? that manage libraries for Python. One is through the usual "apt-get" command and the other is "pip." It appears that Python looks at "pip" first, and it currently linked RPi.GPIO to a really old version of the library.  Uninstalling that older version ("pip uninstall RPi.GPIO") and using the version I obtained through apt-get ("apt-get install python-rpi.gpio...

websockets and mobile networks and ssl

Gahhh. Just going to ramble on this one: Websockets is unstable going through cellular networks Searched Google and solution seems to be SSL connections Tried to implement, and it works to some extent,  but realized that I'll have to have both Apache, which was running my web front end, and Tornado both listen to 443 which cannot happen Realize finally that Tornado is a SERVER just like Apache Try to implement web client through Tornado It works but Websocket server and the web client still different instances so still can't have both listen, or that's what I'm thinking but I don't have time to think about it at present. Gotta sleep.