Wednesday, January 18, 2012

Angstrom, Cloud 9, Oh My!

Well after a lot of troubleshooting with Windows, I finally managed to get the BeagleBone recognized on my Windows 7 computer (Vista wont see it at all no matter what I do). So as a storage device, it works. Next I tried to access it via serial via Putty, and that didnt seem to be working. Windows couldnt find the com port! So without the com port, I couldnt access Cloud 9 IDE to do python development, and try the sample code that turns an LED on and off.

Fortunately, I found the solution. Since all the drivers you install are not signed, you have to reboot your system, then before Windows boots (but after your BIOS screen shows), hit F8 a few times, and you'll load into the Windows boot options. Select 'Disable Unsigned Driver Enforcement' and continue. Once Windows loads up (and you login), the COM port should be visible in your hardware manager. Screenshot of F8 screen shown below (Vista and Win 7 have the same screen).



Picture acquired here.
Find out what number it is, then use Putty to login to the BeagleBoard, using the standard settings given on the BealgeBone site: '115200' bits per second, '8' data bits, 'None' parity, '1' stop bits, and 'none' flow control. That gets you into the Angstrom Linux shell. It takes a few minutes, but once it loads, login as root, and bam you're in.

One thing I noticed was once I logged in as root, I could now visit all the links that the BeagleBone Instructions talk about:

BeagleBone 101 presentation - http://192.168.7.2

This application is largely self explanatory. The source can be edited using the Cloud9 IDE. The application is 'bone101.js'.

GateOne - https://192.168.7.2

For documentation, please visit the on-line GateOne Documentation. Note: This installation might be a bit slow, but we are actively working on improving this with the author. 

Cloud9 IDE - http://192.168.7.2:3000

This development environment supports direct execution of JavaScript via Node.JS. Visit nodejs.org for information on programming in Node.JS. The IDE is pre-populated with the source and demos of the BoneScript project.

So, once you have access to Cloud 9 IDE, all you have to do is load the sample Blink.py program and then run it. You should see one of your LED's on the board start blinking. I havent figured out which pin is the other LED that comes on, but Im quite sure Im supposed to supply the LED. I'll post when Ive got that figured out.

I'll probably post a couple more tutorials on my progress with this board, as there is absolutely nothing on the internet to help anyone along (videos arent the same as instructional tutorials). So if anyone has any questions for me, please ask away, and I'll try to answer as best as I can.


Edit: If for some reason you have to turn off the computer, then remember F8 on the startup, and then once you're logged into Windows, restart the BeagleBone, by hitting the little reset button on the board. Give it some time (about 5 minutes) to reboot, and it should be good to go. You'll have to eject the BeagleBone drive again if you want to start development on the Cloud 9 IDE or on Angstrom.

Thursday, January 12, 2012

My BeagleBone Arrives!

Well my BeagleBone just arrived today, and Im quite excited to begin working with it. (photo obtained here)


This development platform is made by Texas Instruments, and features a whole host of features. Quote from Adafruit website:
At over 1.5 billion Dhrystone operations per second and vector floating point arithmetic operations, the BeagleBone is capable of not just interfacing to all of your robotics motor drivers, location or pressure sensors and 2D or 3D cameras, but also running OpenCV, OpenNI and other image collection and analysis software to recognize the objects around your robot and the gestures you might make to control it. Through HDMI, VGA or LCD expansion boards, it is capable of decoding and displaying mutliple video formats utilizing a completely open source software stack and synchronizing playback over Ethernet or USB with other BeagleBoards to create massive video walls. If what you are into is building 3D printers, then the BeagleBone has the extensive PWM capabilities, the on-chip Ethernet and the 3D rendering and manipulation capabilities all help you eliminate both your underpowered microcontroller-based controller board as well as that PC from your basement.
  • Board size: 3.4″ x 2.1″
  • Shipped with 2GB microSD card with the Angstrom Distribution with node.js and Cloud9 IDE
  • Single cable development environment with built-in FTDI-based serial/JTAG and on-board hub to give the same cable simultaneous access to a USB device port on the target processor
  • Industry standard 3.3V I/Os on the expansion headers with easy-to-use 0.1″ spacing
  • On-chip Ethernet, not off of USB
  • 256MB of DDR2
  • 700-MHz super-scalar ARM Cortex™-A8
  • Easier to clone thanks to larger pitch on BGA devices (0.8mm vs. 0.4mm), no package-on-package memories, standard DDR2 vs. LPDDR, integrated USB PHYs and more.
So, this will be the development board for my OpenCV Smart Security System. I found a whole host of security projects out there dealing with the Beagle Board, but only one project with security systems. However, mine ads facial recognition, motion tracking, camera tracking, and a whole list of other features. 


As far as my RFID work is concerned, Ive made slow progress. However, I have experimented with some examples, and have an idea how the RedBee functions now. I'll have to write some code to see if I can run it independent from the computer (RedBee to Arduino communications). That way I'll have an idea of how to integrate this into my project.

Tuesday, December 20, 2011

PIR Burglar Alarm

This week I constructed a PIR Burglar alarm. Parts I used are: a PIR sensor, an Arduino, a XBee, an XBee Shield, and a high-decibel Siren. The code I used is provided on Make Projects.  I also needed a second XBee and an XBee Explorer.

I decided to use an XBee to send my text alerts wirelessly back to the computer, as part of the Smart Home system, to monitor when a PIR sensor triggers. In the future, the Siren will be on its own node, to be remotely controlled whenever an emergency justifies sounding the Siren.

I'd like to note though that I wont be replacing my current fire alarm system. Smoke Alarms pass stringent standards and are required by law, so I wouldnt ever replace that system with my smart home system. My system just would add a few extra layers of protection in addition to that system. So the Smart Home System would be independent of the Fire Alarm system in a home. As I see it, all nodes will be on XBee, and power will probably be two fold. There will be a backup lithium battery in case power goes out, and the main power supply will come from a land line wired to all the nodes. Nodes that cant be reached with wiring, would have to be solar powered, or simply battery powered.
Next up on my plate is an RFID/XBee Door Entry System. (A link to the product intro is here.) Again, this wont be replacing my keyed locks, this just adds one layer of security on top of existing security features. This entry system in addition to the Face Recognition System I plan to implement, pretty much means, not only will nobody get into my home unless I allow it, but I will know when someone tries to get in with or without my permission. I love biometrics. =)


A merging of two Open CV Logos I found on the web
Please feel free to comment on ideas, Im welcome for suggestions and discussions. As always, I am committed to sharing links of sites I come across that are useful to my research projects. This week, Ive added quite a few more, so take a look.

Peace Out.

Thursday, December 8, 2011

XBee 101

This month I am working with XBee's to get my sensors wirelessly transmitting data. Ive started to come across many tutorials out there, but nobody is saying straight out that XBee's will work out of the box with no setup required. You just have to verify that the PAN ID, CHANNEL and BAUD RATE match both XBee's, but other than that DONT play with any other settings if you just want a simple point-to-point transmit/receive setup.
XBee Series 1 Modem
If I had known that a week ago, I would have spent this time experimenting with sensors, but I just got the thing working last night, because both Sparkfun and Adafruit DONT explicitly state these things. They give you a tutorial to follow, and if you stray from that, you're in trouble. For example, one tutorial I came across said to change my DH and DL serial numbers (thats Destination High and Low), to the serial number of the current XBee you are working with. Thats wrong because then it tries to talk with itself, and nothing will happen.

Anyways, complaints aside, now I have a working XBee network. Its only one node and one router, but thats a start. Next step is to work on sensors, and get a simple setup going for a wireless burglar alarm system. It helps to have a high decibel piezo alarm to get a better feel when its working (as I do). I'll keep you posted of updates, and I might throw some sample code on here the next time I post.

Thats all for now. Peace Out.

Tuesday, November 8, 2011

Tiny OS

Well I built that fan controller board with some mods to the board. Havent gotten around to programming the Teensy ++, I'll get that eventually. Ive really moved on to using some Crossbow sensor units that Ive acquired, and maybe those will help me along to figuring out how to use Xbee Mesh networks, sensor units and Embedded Operating systems. All this stuff is important to create my sensor mesh network for the Smart Home System. Not much new updates other than that. Tiny OS, the embedded OS can be found in the links I added in the sidebar; very useful stuff.

Take care. Peace.

Wednesday, October 5, 2011

Arduino Fan Controller

Well I've managed to get back on my projects lately, so here's an update.

First on my list, if you'll remember was my SMD Exhaust Fan for my soldering station. Thats now done for the most part. I followed the schematic on uchobby.com and built myself a nice fan controller with it. I only changed a few things due to the power requirements of the fans (Im using two, 0.5A 7W Computer Fans) and parts available to me. I used a 4N25 Optocoupler to isolate the microcontroller from the 12V power supply line. I also beefed up the Transistor with a TIP121 Darlington. Based on power requirements, Ive decided that the 1/4W resistor and the 1A diode are fine and dont need to be beefed up. Only the transistor will be handling a high power load, and the TIP121 is rated for 3A, so Im fine. The diagram shown below is linked from uchobby.com.

Ive been toying around with it to make sure it works, and it does with both fans. Designed an enclosure for it to sit in, just gotta send it to the shop to get made. Still gotta build the exhaust hood so that everything can function in its final setup. I'll show pics of it once I get my new circuit PCB in and solder all the parts on. In the meantime, here is a picture of the non-populated board.


Next on the list of things is my IR Temp Controller for the SMD Hotplate. I've already gotten started designing the system and the schematic. This one will be using a IR Temp unit from Harbor Freight (probably one of those cheaper ones), since I found a tutorial somewhere describing how to hook it up to an Arduino and get data out of it. I'll post updates once I get this project done.

Two links I'd like to share that I thought may be useful to everyone: the OSHW Eagle Library, and the NBITWonder Eagle Library.

Stay safe. Peace out.

Saturday, September 17, 2011

Lack of Updates

Well work has picked up a bit, so Ive been unable to work on my projects and move forward with anything. It will probably be like this for the next few months until I can figure out how to balance work and personal projects.

I'll try to get those Teensy shields made as soon as I can, but Im still lacking in a few things. First is a temp controller for the Hot Plate. Second is the Exhaust Hood for the SMD/Soldering Station. Third is the Mini Fridge for all my Non-Edible Project related items. Once I get all three things put together, I can start up doing SMD tests, and then go full scale with the shields.

I got lots of circuit designs for the PWM fan controller and the temp controller, so I'll put together a couple schematics to put into Eagle, and send those off to Laen so that I can move forward with this stuff. I really dont like Perf Boards, and since this stuff is going to be used on a regular basis, I would prefer not to use breadboards.

Well, ranting for long enough. Peace Out.