Skip to content

Instantly share code, notes, and snippets.

@arangates
Forked from erikkallen/Raspberry PI Network.md
Last active August 29, 2015 14:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save arangates/c78ad0e56287d4f41526 to your computer and use it in GitHub Desktop.
Save arangates/c78ad0e56287d4f41526 to your computer and use it in GitHub Desktop.
## Raspberry PI as Arduino network programmer ##
This guide will show you how to program an Arduino connected to your Raspberry PI from the Arduino IDE on your local computer.
Linux and OS X for now
###On your Raspberry PI
First install avrdude
apt-get install avrdude
Install avrdude-rpi using the installation tips from https://github.com/deanmao/avrdude-rpi they boil down to this:
wget https://raw.githubusercontent.com/deanmao/avrdude-rpi/master/autoreset
wget https://raw.githubusercontent.com/deanmao/avrdude-rpi/master/avrdude-autoreset
sudo cp autoreset /usr/bin
sudo cp avrdude-autoreset /usr/bin
sudo mv /usr/bin/avrdude /usr/bin/avrdude-original
sudo ln -s /usr/bin/avrdude-autoreset /usr/bin/avrdude
Next open the file /usr/bin/autoreset and change the reset pin to the pin you connected the Arduino reset to.
The GPIO pin number corresponds to the number of the pin of the header.
vim /usr/bin/autoreset
###On your computer
Download and install Arduino IDE
go to the folder containing avrdude
On OS X this most likely is /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin
cd /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin
mv avrdude avrdude-original
wget https://gist.githubusercontent.com/erikkallen/11153072/raw/3e1cdfdef6aee12b9f0f47b50bc33849612f2a0d/avrdude
chmod +x avrdude
## VXI11 Ruby
When working with electronics there is a big chance you need a test setup, This setup often contains big and expensive products like oscilloscopes and signal generators.
If your lab has big and expensive devices like this, chances are high that they can be controlled using the VXI11 protocol.
So the generic way of doing this is using windows download the drivers for the device, install something like Labview pay someone a large amount of money and your good to go.
But what if you don't like windows or paying a large amount of money, and you happen to have some ruby skills.
Well that's where the VXI11 gem comes in handy.
So how do you use it?
# First require the gem
require 'vxi11'
# Create an instance of the VXI11 class
v = VXI11.new
# Search for devices
v.find_devices
# Connect to a found device
v.connect "10.0.0.1"
# Send the commands
puts v.send_and_receive "*IDN?"
The example above is for getting the identification of a vxi11 device and should be implmented on any vxi11 capable device.
The other commands should be in the manual specific to your device.
So that's it for now.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment