Web Site: http://furcean.com
Posts by jfurcean:
- sudo apt-get install vsftpd
- sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orginal
- sudo vi /etc/vsftp.conf
- Change the line “anonymous_enabled=YES” to “anonymouns_enabled=NO“
- Uncomment the line “local_enabled=YES”
- Uncomment the line “write_enabled=YES”
- Uncomment the line “chroot_local_user=YES”
- sudo vi /etc/fstab
- //path-to-share /path-to-mount-point cifs rw,user=SambaUserName,password=SambaPassword,nonunix,iocharset=uft8,file_mode=0777,dirmode=0777 0 0
- sudo vi /etc/fstab
- /dev/sda1 /path-to-mount-point vfat user,auto 0 0
- sudo VISUAL=vi crontab -e
- * * * * * /usr/bin/rsync /path-to-samba-mount-point /path-to-usb-mount-point
- 1 – 4′x8′x5/8″ MDF sheet
- Box of screws
- LCD Monitor (I used a 19″ LCD that I had lying around)
- Two Player Complete Do It Yourself Arcade Kit from X-Arcade
- A computer (I choose to use my existing Windows 7 tower)
- Table saw
- Drill with a 1 1/2″ drill bit.
A fellow MAME enthusiast has started a Kickstarter, “The Porta-Pi. A DIY Mini Arcade Cabinet for Raspberry Pi.” , to bring affordable and easy to assemble MAME arcade cabinets to the masses.
One of the research facilities that I support just bought some D6000 Data Recorders that attach to various instruments in their pilot plant. These data recorders use a proprietary software called Exhibitor. In order for non-system operators to have access to the data pulled from various instruments the software requires them to have direct FTP access to the instruments. The system operators out at this facility didn’t want them to have this access as it allows them to change many configurations that could screw up the data recorders.
The system operators asked if I could come out and see if I could help them automate this process in someway to help avoid them having to give out system information. I didn’t really have a grasp of what I was getting my self into when I went out there. After reading the manuals, I saw that the D6000s have an FTP push function. This would allow them to every so ofter push data out to an ftp server. They had the system to manipulate the data on one PC. I decided to set up a local FTP server on that PC that would allow the D6000s to push to a local file that non-system operators could access with no harm. The big issue with this was that other people have access to this PC and like to turn it off. This caused the data to not be transferred because the FTP server was off. Also, they really wanted the data to be automatically backed up to their share drive so it could be referred to at a later time. Also, they wanted to protect the originally if the working copy somehow got modified, deleted, or corrupted.
After, a few days of mulling this problem over I came up with what I thought was a pretty good solution (and cheap). I decided I would set up a Raspberry Pi as an FTP server that the D6000s could push data to. I would first mount their share drive to the Raspberry Pi as well and force the FTP data push to go to the file path that the share drive was mounted. I also would set up a USB drive attached to the Raspberry Pi to sync all the data from the share drive to back it up.
Raspberry Pi Initial Setup
Follow the Raspberry Pi Quick Start Guide to get the Raspberry Pi up and running.
FTP Server Setup
Follow these steps to get your FTP server set up.
Run the below commands on the server
Edit the follow lines of /etc/vsftp.conf
Samba Share Drive Mount
In order to setup the Share Drive to be mounted automatically on boot you need to edit /etc/fstab
On the pi do the following
Add the following line to /etc/fstab (all one line)
Now whenever you boot it will try to mount that share automatically.
USB Drive Mount
In order to setup the USB Drive to be mounted automatically on boot you need to also edit /etc/fstab
On the pi do the following
Add the following line to /etc/fstab (all one line)
Now whenever you boot it will try to mount that USB Drive automatically.
Sync of Share Drive to USB Drive
I decided to user rsync to setup the syncing of the Samba mounted share drive and the USB drive. I also wanted this to run so ofter to check for changes and continuously keep them in sync so I created a cron job for that.
Do the following on the Pi
Add the following line to make rsync run every minute
Now everything is set. Any time an file gets Transferred via FTP to the Pi it is automatically pushed to the share drive. Every minute my cron job checks to see if there have been any changes to the share drive if so it syncs them to the mounted USB drive.
Limpkin created small platform that recognizes whistles in order to switch on/off appliances.
In an old episode on Hak5, Wess Tobler (@Dankiswess) did segment on making a MAME bar top arcade cabinet. This segment inspired me to make my own MAME (Multiple Arcade Machine Emulator) arcade cabinet, so I began doing research on different MAME cabinet designs. Bartop Arcade had many different designs and templates for bar top arcades. Below is the design and template that I based my MAME cabinet off of.
Items need for the build phase:
For the build phase I used the template that I found from Bartop Arcade and cut out each piece. I decided against having a slide out drawer, so I had to make some slight modifications. Below is a picture of the cabinet about 90% into the build phase.
After cutting and assembling the exterior of the cabinet, I had to wire all the buttons. Once that was done it was onto the software configuration.
Not only was Hyperspin a superior looking front-end, it would allow me to run many different emulators including a NES and SNES emulator. Hyperspin does most of its configuration through GUIs and XML files. Below is a image of the cabinet 90% complete running PAC-MAN.
Hyperspin also allowed for configuring other applications to open from within it. I configured it to run Aussie Juke as one of the emulators. Also, after reading a comment by Moonlit on episode five of TheNewTech.tv, I decided to modify the registry entry for explorer.exe to boot to Hyperspin.
There are several things I have to do to complete this project. First, I need to finish the marquee. The marquee will end up being a cylon eye covered by a tinted plexiglass. Second, I need to mount the pc hardware inside the cabinet. I currently have it connected to PC tower.
I just received my Raspberry Pi* and I have decided to do a quick article on my first impressions. The Raspberry Pi (FAQ) is a $25 (Model A) to $35 (Model B) computer developed to be a cheap, accessible, programmable computer. The Raspberry Pi’s main purpose is to give the new generation an affordable tool that can inspire them to be the programmers, engineers, makers, hackers, and inventors of the future.
Both Models of the Raspberry Pi come with ARM1176JZF-S 700 MHz processor, VideoCore IV GPU, 256 Megabytes of RAM, an RCA video out, an 3.5mm audio out, and HDMI out. The Model A also has one usb 2.0 port and no Ethernet controller, while the Model B has 2 usb 2.0 ports and a 10/100 Ethernet controller. I purchased the Model B Raspberry Pi.
Currently there are three Linux OS distribution (distros) images that are supported for the Raspberry Pi. (download page)
- Debian “squeeze”
- Arch Linux
I used the Debian “squeeze” distro for my first install and use of the Raspberry Pi. This image is highly recommended for those just starting out. If you have used Ubuntu before, this Linux distribution (distro) will be slightly familiar since Ubuntu is also a Debian based Linux distro.
- The price! The $25 to $35 price point cannot be beat.
- It is extremely small about the size of a deck of cards.
- It has very low power consumption. It running off a 5v usb micro phone charger.
- Operating systems run on easily swappable, low cost SD cards. This allows for easily changing the purpose of the device without having to spend a lot of time re-imaging and reinstalling software.
- It runs off a 700 MHz processor. This causes the device to slow down when doing any CPU intensive process like opening an application or installing software. Also, this prevents it from doing almost any kind of multitasking.
- The Ethernet is only a 10/100. This along with the slow processor makes it time consuming to download and install software. It took at least 20 minutes to install gedit. This also makes it quite difficult to browse the Internet.
- The build in browser does not support HTML5 and it does not have a flash player installed. This prevents you from using many websites, such as YouTube.
The Raspberry Pi has several downsides, but I think its overall capabilities and its low price point make it a great tool. Many great things will be developed and built with this device and I cannot wait to see what those are.
*Raspberry Pi is a trademark of the Raspberry Pi Foundation
Just received confirmation that my Raspberry Pi will be delivered sometime in June.
We’re excited to inform you that your Raspberry Pi will be delivered in an upcoming shipment beginning the week of June 18th. – element14
Pretty excited to start messing around with it.
My next step/goal for this project is to try to reduce the cost, size, and complexity.
I am currently running the web server on an old laptop running ubuntu. This requires more power than is necessary and takes up more room than necessary.I want to try to make this project smaller so I am looking into using a router running OpenWrt. I have already ordered the Atheros AR9331 SoC, which is the same router used to create theWiFi Pineapple Mark IV.
Any thoughts? Contact Me
On an episode of Hak5 they discussed setting up a garage door to be opened with a mobile device. Unfortunately, the audio was missing on the section where they discussed building/configuring the actual hardware to operate the garage door. This episode inspired me to start working on some home automation that could be accessed with any internet capable device without the need to install any software on the device. I wanted to be able to control several lights throughout my house and my garage.
I decided to use x10 to give me a starting point.
X10 is an international and open industry standard for communication among electronic devices used for home automation, also known as domotics. It primarily uses power line wiring for signaling and control, where the signals involve brief radio frequency bursts representing digital information. A wireless radio based protocol transport is also defined – wikipedia
- 10KΩ Resistor
- x10 PSC04
- x10 Lamp Module
- x10 Universal Relay Module
- RJ11 Cable
- RJ11 Jack
- A LAMP server with an open USB port
Step 1: Building and Configuring the Arduino
Follow the wiring schematics below for wiring your Arduino to an RJ11 Jack.
Data Pin = Pin 8
Zero Crossing Pin = Pin 9
First, wire the 5v connection on the arduino to the 10KΩ resistor. This will be wired to the data pin 8. Second wire data pin 8 to the black wire on the RJ 11 surface jack. Wire the green and red wires on the RJ11 surface jack together and wire them to the ground pin on the arduino. Finally wire the data pin 9 to the yellow wire on the surface jack (sometimes you may have to swap the data pin and the zero crossing pin depending on if the RJ11 cord is a cross over or not)
Grab the x10 Library from arduino.
Clone my github repository https://github.com/jfurcean/House-Control.git.
Push the arduino/x10House.pde to the arduino. This code reads data in the form of ascii characters over the USB. It converts the characters into x10 byte codes that are used with the x10 Library. It then uses the x10 Library to push x10 commands out to the PSC04 moudle over RJ11.
Step 2: Configuring the Webserver
A webserver running PHP with an open USB port is required. I used a LAMP server running Ubuntu 11.04. Drop the contents of www from my github repository into your active web directory. Inside index.php you must set $serialPath to the path that your arduino is connected to. For example
$serialPath = “/dev/ttyUSB0″;
If your using Apache as your webserver you must allow Apache to write to that path name.
sudo chgrp www-data /dev/ttyUSB0
sudo chmod 775 /dev/ttyUSB0
The web application reads config files to display certain x10 actions. When viewing the web application you need to make sure userName set. For example:
This will then use john.xml as the config file. The config file determines what stuff you can control.
<module name=’Living Room’ house=’a’ unit=’1′ type=’light’/>
<module name=’Bed Room’ house=’a’ unit=’3′ type=’light’/>
<module name=’Garage’ house=’a’ unit=’2′ type=’button’/>
Step 3: Add/Wire x10 Modules
All that is left is to plug any lamp into a lamp module, an appliance into an appliance module or wire a garage door, sprinkler, etc to the universal relay module.
Step 4: Enjoy
Enjoy being able to control your house from any internet capable device connected to your network
Light Control via iPod Touch
Garage Door Control via iPod Touch
Questions? Comments? Suggestions?
Please feel free to contact me