Archive for the ‘EVE’ Category

I’m not really any further with any projects to speak of but it feels good to get some personal coding done. This weekend I’ve been playing around with the RFu-328 modules with SRF from Ciseco. I’ve been trying to get ChibiOS/RT running on them as I think it’ll be great to have a small footprint RTOS which runs on 8 bit micros. Task switching and sleeping during idle will do great things for my wireless nodes. So far I have the basic RTOS running with a thread for processing serial LLAP activity and then a semaphore to signal another to process the data received if it is all in order. Currently I am trying to move from the nodes sending data periodically to being able to be polled by the master. This will help prevent collisions as well as stop me from having to update the firmware on the nodes if I make changes to the system. So for now I’m trying to implement Pinata so I can control all the pins on an Arduino compatible unit. I’m not quite there yet but it’s a good start for a weekend. Code, as always, available on my github.

To get this going I’ve gone back and updated my EVE-node application with all the things I’ve learnt from doing the raspberry pi application at work. This application is nowhere near ready for everday use but if I keep cracking on it will be really useful very soon.

Over the last week or so I have been playing around with getting Node.js up and running on my Raspberry Pi. I have found it to be a great learning experience and I’m pretty sure I will be using it for all of my embedded UI projects from now on. With the help of frame works like Express getting a static site up and running is really easy and Socket.io makes communications really easy too. As I posted before I have been playing with these SRF modules to get some wireless comms going for home automation and I used python to get up and running fast. Afterwards I decided to use this as a opportunity to get in Node as I’ve wanted to try it out for a while but always need a project to apply myself to. This is still a long way off but have a look at the first working version https://github.com/rosterloh/EVE-node. More as I carry on discovering!

I had a little time to play around this weekend so I got out some toys I’ve been meaning to play with and got a few things up and running. My EVE board has been lying around collecting dust so I assembled the RFM12B and the Ciseco SRF modules along with a TMP100 on board temperature sensor. The EVE board has 2 locations where the SRF module can be fitted but I put it on the 868MHz location as that’s the frequency I am using. The PCB is routed such that the Pi can communicate with it via SPI on SS0 but it also has pads for the serial connection which is a blessing as the firmware that the module is shipped with uses serial and not SPI. Although you can OTA program these devices since I don’t have any radio modules that can easily connect to a PC I just hooked up an FTDI adapter to the serial port and programmed them using their XCM tool. The firmware image can be found here.

RFu328

I also have one of their Arduino compatible boards with a footprint for the same SFR module on the Pi so I programmed that up with the RFu328 code (I used the beta firmware) and put a small sketch on there which periodically reads the temperature and humidity values from a DHT22 sensor and sends them out to anyone listening. The protocol used to send these packets is LLAP which is really basic but gets the job done. CRC and other such things are handled in hardware so that is not required in the protocol. After that it was easy enough write a python script on the Raspberry Pi to read the values and for now just posts them to COSM.

Next phase I’m going to set up some web sockets and have a play around with some HTML5. All in all it was a fun little weekend project and I am most happy with how far it’s come.

I would also like to change this so that the sensors do no just present the data but rather are polled. While I’m at it I’d also like to build in standard inputs and outputs so I don’t have to change the code if I want to add a few basics later.