Google Analytics

Saturday, May 18, 2013

A Home Security System - BeagleBone Black getting started

BeagleBone Black - Getting Started

Keywords: BeagleBone Black, Home Automation, Home Security, Python, Raspberry Pi, Tkinter, 

Updated June 5, 2013 (Table of Contents)
May 18, 2013
Next
Table of Contents

Note that I'm on an Ubuntu system, not a Windows system.



I received my BeagleBone Black (B3) yesterday.  Now I'm trying to figure out how to use it!

Per the included card that came in the B3 box, I noted, under Tethered to a PC:

  • Connect the USB mini cable to BeagleBone Black.  OK, did that.  They supplied the cable - nice!
  • Connect the other end of the USB cable to the PC.  OK, did that too.  
  • Look for a new mass storage drive to appear on the PC.  OK, it's there.
  • Open the drive and click on START.htm.  OK, there it is.  Clicking...
  • It opened a web browser page, in URL:  file:///media/BEAGLEBONE/START.htm , and presented the "Getting Started" page.  Nice!  I skipped the step 2, "Install drivers", as it noted: "Driver installation isn't required, but you might find a few udev rules helpful".  This has no meaning for me, as I don't know what udev is or the rules they are talking about, so I'm going to skip for now, since they said it wasn't required.  I can always do later...
  • Step 3, Browse to web server on Beagle.  I did this, and observed the web page from my B3's server on http://192.167.7.2.  
    • On this page, under Troubleshooting, it says not to use Windows Explorer.  That's OK, I'm not using it on my Ubuntu node that I'm working from, I'm using Chrome.  I'm not Troubleshooting either, as I'm not having any problems.
    • The next section is "Update board with latest software".  Here, I got confused.  I'm on Ubuntu, but everything here appears to be oriented towards assuming I'm on a Windows node.
      • It says" Download "Angstrom Distribution" from http://beagleboard.org/latest-images". 
      • Notes - 'due to sizing necessities, this download may take 30 minutes or more".  OK, it takes whatever it takes, no issues here.
      • The file you download will have an .img.xz [sic]extention.  This is a compressed sector-by-sector image of the SD card.  OK, no issue here for me.
      • Then it says, Step#2, Install compression utility, download and install 7-zip.  OK , then the screen clearly shows a Windows "open file security warning, publisher could not be verified, run?"  Well, I'm not running on Windows, so now what do I do?  I read along further...
      • Step #3, Decompress the image.  Use 7-zip to decompress the SD card .img file.  OK, still showing a Windows screen here.  Can't do that....so reading further to see if I can figure this out, or see what else may present itself...
      • Step #4, Install SD card programming utility.  Download and install Image Writer for Windows, be sure to download the binary distribution.  OK, can't do that either, so let's continue down to see what might present itself and clear this up....
      • Then an odd note, after all this Windows stuff:  Some general help on programming SD cards can be found on the Ubuntu Image Writer page.  OK, that sounds like me, so let's have a look; but what about all the zip unpacking, etc?  I'll have to let that be unresolved for the moment.  In the meantime, I'm over at the Ubuntu site, and note this "describes how to install from a .IMG file', and  about "downloading IMG image to a device that your computer can boot from", so maybe I'm onto something here.  So, for now, I'm assuming this is what I need to do.  
      • Returning, for now, to the B3's Update Software section, I note "Connect SD card to your computer", and I'm wondering, which computer are they talking about?  My Ubuntu computer, or the B3?  Reading further, it says "Use the provided microSD card to SD adapter or a USB adapter to connect the SD card to your computer.  Well, there wasn't any provided "microSD card to SD adapter"!!!  The uSD slot (under board) is empty, and other than the USB to micro USB cable provided, there's nothing else provided.  So, something wrong here!  Reading further....
      • Step #6: Write the image to your SD Card.  OK, that clears up one question, where I didn't know which computer they were referring to - my Ubuntu computer, or the B3.  It's now clear they are referring to my Ubuntu computer.  OK, got it - I'm going to program an SD card, using the Ubuntu instructions noted above from the Ubuntu web site, with the .IMG file.  OK, understood.
      • Step #7: Eject the SD card.  OK, got it.
      • Step #8: Boot your board off of the SD card.  They then give detailed instructions on what to hold down while booting from the SD card.  One thing that concerns me though is that it doesn't say how big an SD card (in capacity) I need.  It also says "this can take up to 45 minutes."!!!
    • Well, looks like I'm stopping here until I can go to the store to buy a 4GB SD card.  While I'm doing that, I'll go ahead and download the BeagleBone Black latest-images (Sngstrom Distribution (BeagleBone Black) 2013-05-08.  Well, I first clicked on the 'torrent', but it came up with a warning that torrent would also mean I would agree to upload.  I don't want to do that off of this computer, so I canceled that, and used the normal download instead.  I'm also going to get a 5VDC power supply.
      • Hmmm, can't seem to find the specs on the power supply physical dimensions needed.  After much searching, I found it embedded in the document:  The connector used is a 2.1MM center positive x 5.5mm outer bar
    • I want to power down the B3 - I never leave new electronic devices powered up and unattended, so I want to power it down - how to do that?
      • OK, here it is:  A power button is provided near the reset button close to the Ethernet connector....f you hold the button down longer than 8 seconds, the board will power off if you release the button when the power LED turns off. If you continue to hold it, the board will power back up completing a power cycle
      • Yep, that did it.

UBUNTU

  • So, this is what I did to install an updated image via Ubuntu.
    • First, I downloaded the image on to my Chrome browser into the Download directory.
    • Then I double clicked the .xz file.
    • This brought up an Archive Manager window, where I selected the 'Extract' button.  In this case, I created a new folder and labeled as pertaining to BeagleBone Black and the date, then I extracted to this folder.  This created a .IMG file.
    • This is the file that needs to be transferred onto the SD card.
    • Per the Ubuntu post here, this page describes how to install from a .IMG file.  
    • It says to 'write the downloaded IMG image to a device (my SD card in this case) to a device that [my] computer [my B3] can boot from.  It also notes that this action will destroy any data on the destination SD.
    • There's a lot of good information on this page, so I would suggest that you view it and understand it before proceeding.
    • The steps given:
      • 1. Download the .img file.
      • 2. Install the usb-imagewriter package
        • 2.1 If your release does not include this, download it from Oliver's PPA
        • 2.2 if the imagewriter fails to launch, you may need to install python glade2 support.  Install the python-glad2 packge or Run sudo apt-get install python-glade2
        • 2.3 If your release does not include it and you are runing Ubuntu 9.04 Jaunty Jackalope then run this command from the console: sudo apt-get install usb-imagewriter
      • 3. Oopen Applications->Accessories->Image Writer
        • 3.1 from teh command line, from the console:
          • sudo imagewriter
        • On some usb-imagewriter versions (console command:imagewriter) the applications fails to write if the image path contains blank spaces, exiting with "IndexError: list index out of range".
      • 4. Insert your flash media
      • 5. Sleect the downloaded file and flash device, and click "Write to Device"
      • 6. REmove your device when the operation is complete.
    • Well, in my case, I went to 'console' and typed in 'sudo imagewriter', and it launched, so I didn't have to do any of the installation stuff before.  I probably installed this previously.
    • When I placed the SD card into my Ubuntu's SD slot, I was expecting to see it in the File Manger, but I never saw it.  I looked in the folders Mnt and Media, but didn't see it there either.  So, on a whim, I launched 'imagewrite' and sure enough, it found it.  So I'm assuming this didn't have any type of file system created on the SD, so nothing was seeing it.
    • Running 'imagewriter'
      • it presented an interactive window, where it prompted me for the Write Image to select.    I used this to select the file from the folder I created previously (above).
      • From the 'to' listbox, I selected the SD card I had inserted.
      • I selected 'Write to Device'
      • I OK'd the warning that says it will destroy all data on the device (which as it turns out, is mounted at /dev/sde).
    • And, at 7:21 PM, it started writing.  Knowing that Beagle's site said it may take 45 minutes, I'm expecting a loooonnnnnggggg wait.  So far, I don't see anything, so I'm going to check the process running on my system to see if I can see it writing and consuming CPU cycles.
  • Update 6/5/13  Sorry for the long delay.  Had some other things pop up, and just now getting back to this.  So, to resume from the post above:
    • I had some problems getting the write to complete without error.  I suspected it was the SD card, so I removed it and tried another one, and the replacement worked fine.  However, it was too small overall, so I wouldn't be able to use it for the final installation.  
    • My system, which I built from components (my first computer, in 1978, was built from discrete components, such as transistors, capacitors, etc, except for the mother-board.  This was a Heathkit, H11, which incorporated a PDP-11/03 motherboard from DEC.  It cost me about $3,500!  In 1978, you could buy a CAR for this amount of money!  But now, I just buy the components and plug them in - no more putting the springs under a keyboard, no more solenoids for a paper tape punch, no more flyback transformer for the display monitor!).  I did not include a separate SD card reader, instead opted to use a USB SD card reader.  On a whim, I decided to try a different USB SD card reader I had with the problem SD card.....and the SD card worked fine!  So, it was a combination of the USB SD card reader device and the SD card itself that was causing the problem.  Switching to a different USB SD card reader and the same SD card worked great.
    • So this part of the project is complete!

A Home Security System - Resources

Resources

Update: May 18, 2013 (Table of Contents)


A Home Security System - Construction Blog

Construction Blog

Keywords: BeagleBone Black, Python, Tkinter, Raspberry Pi, RPi, Arduino, Security System, Home Automation


Update: June 5, 2013. (Table of Contents)

  • Updated this entry (at the bottom) with SD card info.  http://bbqandbanjos.blogspot.com/2013/05/a-home-security-system-beaglebone-black.html
  • My Host system changes:
    • Installed 'Git' onto my system for Source Code Management.
    • Had been running on a small Solid State Hard drive, but have decided to move to a larger physical hard drive.
    • Decided to migrate from Ubuntu 11.10 to 12.04 which has long term support.
    • I used Linux's 'dd' command to image the new drive.  See details here.
  • Noted that the Python version installed on the BeagleBone Black (B3) is not Python3, which is what I was planning on using.  Will have to investigate whether I can upgrade Python on the B3 to Python3, or will have to move back down to Python 6 or 7 - not sure which is on B3 at the moment.
  • Will be out all next week, so I don't expect to make any additional postings.



Update: May 18, 2013 (Table of Contents)

I have been pretty busy on the project.  I've been working on the following elements:

  • Learning about the BeagleBone Black (B3) platform.  I decided to move the project off of the Raspberry Pi (RPi) and onto the B3.  I'm concentrating right now on the following aspects:
    • How to interface with the onboard mux.  This is used to specify which channels, or pins, are being addressed.  
  • Learning Python.  I've really been enjoying this!  I've been programming for a while: Fortran (1977), Assembler (1978), C (1983), C++(1995), Java (1999), Arduino (2004?), and Python3 (2013), so the move to Python3 hasn't been huge, but it's been different never-the-less.
  • Learning Tkinter.  This is one of the main standard GUI interfaces into Python.  
  • B3.  Not yet deep enough into this, but I'm planning on programming it using Python3.  
    • Just received it on 5/17/13.
    • Concentrating on getting it up and online.
    • Concentrating on Mux addressing via Python3.
    • So today, after finishing on this project update, I'm going to start with the B3 and getting it online, then accessing it's pins via short Python3 programs.