So it seems that since the Arduino WiFi module was a complete failure in the teasmade (well not complete, just unreliable and who wants their tea to be unreliable). I ordered a couple of ESP8266‘s. These are quite a hot topic at the moment, basically it’s just a serial port over wifi.
The intention is to control my book case lighting with them, so I want to do a few things while testing. Firstly the initial concept is to be able to send a RESTful command to turn a light on/off, Simple enough. Second I want to be able to send a value and have the lights set to that value e.g. 255 which will set the brightness. Third, I want to be able to have the ESP8266 send a RESTful command to a php test server elsewhere on the network. Finally, I want to be able to send a “status” message in JSON on request. Continue reading →
Thanks to impshum digging around with epic google foo I found the correct GPIO_BASE for the Raspberry Pi B2. Raspberry Pi used to have a peripheral base address of 0x20000000 now it’s 0x37000000 on the B2, so the GPIO peripheral address is 0x37200000 which has broken the odd GPIO based product (including the HotPi). I’ve added a pull request to RFM12B-Linux and that should be that. I still need to merge in changes for OOK and see if that works and of course, figure out how to set the frequency to listen/transmit on.
RFM12B’s will soon become a must add hardware to the Raspberry Pi, I just need to get that software working :). It’s a great piece of kit, and the code already in github is a good jumping off point. I’ve merged in a OOK sender fork, and I’ll be adding code to put the device into OOK listen mode. All of this controlled via ioctl. Essentially with the little RFM12B’s hooked directly into the Raspberry Pi GPIO port’s SPI pins you’ll have the ability to mess with anything out there, which uses 433/434MHz or 315MHz if you’re in the US, or 915MHz or 868MHz whatever HopeRF board matches with your locations radio standards.
At present I’m looking at getting the OWL to work because I already understand most of that. Next I’ll be looking at getting RF light sockets, lightwaveRF devices, indoor/outdoor weather sensors and even doorbells into the supported devices list.
The Owl energy monitor uses OOK/ASK via the Oregon Scientific v3 protocol. It looks like I might have to hardware hack my RFM12Bs to work with this protocol according to this article… Not ideal.
Receiving OOKASK with a modified RFM12B – JeeLabs Café – JeeLabs . net.
Although it seems there’s a branch of RFM12B-Linux which can do OOK already. I’m not entirely sure how this is going to work out, but I’ll keep posting.
I found some problems with RFM12B Linux, specifically it doesn’t work at all on the Raspberry Pi B+ 2. I’ve created an issue for this but I might be able to fix it if I can get some tinkering time. In the mean time I’m testing things with the original model B.
To get what I need out of my 3D printer it was clear that the Gen7 although a great board to build was not going to be suitable for every day use.
I got myself a RAMPS and assorted add-on boards:
- RAMPS 1.4 shield & Arduino Mega
- LCD, SD & Click encoder combo
- Lots of new wiring
- An EEPROM
- Bluetooth HC-06 module (already had this)
I bought all my wiring and connectors from We Do 3D Printing via eBay.
Excellent quality of cables and arrived quickly. Continue reading →
I have an Owl energy monitor model CM160, which has been mostly just acting as a real time monitor. In order to really USE the device I’m going to need to connect it to one of my running computers. At first I was using Eagle OWL on github. However it requires me keeping the LCD receiver and I want to eventually get rid of that, mostly because the only useful thing about it, the thermometer isn’t accessible over USB.
I decided that I should start experimenting around the 434MHz band with my SDR’s and see what I could come up with. Continue reading →
Today I resolved to stop using Google Chrome. The SSD on my MacBook Pro wore out a couple of days ago (warranty replaced), or destroyed itself in a fit of rage after 3-4 months so I’m going to try and use Safari only.
So, I use a bunch of extensions with Chrome, including Ad-Block Plus and HTTPS Everywhere, but more obscurely I need a way to push content to my Kodi installation.
I haven’t been able to find an HTTPS Everywhere plugin but I did manage to write a quick plugin called KodiPlay which you can download for Safari here.
You can find the code on GitHub.
The extension adds a toolbar button which will send the current content into the playing queue on your Kodi installation.
Supported content providers include: YouTube, Vimeo, DailyMotion, CollegeHumor, eBaumsWorld, LiveLeak, Twitch.tv, Khan Academy, Hulu, AnimeLab, ARD MediaTek, Freeride.se, Katsomo.fi, Ruutu.fi, Yle Areena, SoundCloud, MyCloudPlayers, MixCloud and even magnet links.
Hacking an ATX power supply to work with RAMPS 1.4 is quite dangerous… Power supplies which can give you the Amps are rare.
Here’s a nifty solution. A simple ATX power to RAMPS intermediate board.
Plug in an ATX 24 Pin power connector and two of the 4 pin molex power connectors (preferably from a dual rail supply). Wire them up to the output molex with the bottom pin of the output molex supplying the power for the heated bed.
The 5V and PS-ON pins can be wired to the RAMPS 1.4 to offer auto-power on (if like me you’re making a bluetoothy remote printer).
Download the Fritzing sketch here.
With this board, next time you blow up an ATX power supply, you don’t have to go through the process of hacking another one… Which increases the chances of electrocution each time…
Just a quick note to say I’m almost finished with the majority of the 2.4Ghz mesh network classes. These are pretty solid classes at this point with a few minor missing features. I’m hoping to release something really useful really soon.
After the first stages were completed, that is, designing the new wiring situation and wiring the internals. The contraption now looks something like this
The wiring pattern was explained in the last post. So the things you see beyond the mentioned pin patterns are the wires for the i2c devices (ghetto pixel, and DS1307 RTC). The RTC is used to keep the time internally, there are some interesting points to consider about the clock face itself and how it will maintain time. More on this later…
Stage 5 – Building a Web UI.
Obviously, you don’t have a teasmade on your network, so unfortunately you won’t be getting a nice cup of tea out of it. Sorry.
Things to note on the Web UI are
- Moving the cursor over the clock shows the kettle and teapot and their states behind it.
- Pressing the right hand button makes tea… Well, I’ll mark that as WORKSFORME heh.
- Pressing the left hand button turns on the light.
- The freakin’ clock hands animate!!
Continue reading →