Note: This HOWTO does not [yet] cover use of the Scheme interpreter - only the logging application in SVN (serialtest.c) and mini_skry
Using spacers [M3 12mm] and nuts/bolts if required.
eg.
[with RSSI module based on the AD8313: see module_rssi ]
[with CYWM6935 for spectrum analysis around 2.4 GHz: see module_spectrum ]
Now [2009] replaced with a custom module based on the Cypress CYWUSB6935 IC.
[ GNU screen can also be used as follows: screen /dev/ttyUSB0 9600 with C-a H to log]
Settings as follows: 9600 baud, /dev/ttyUSB0 (depending on other devices may be /dev/ttyUSB1), no hardware or software flow control, 8N1 [sets parity and stop bits].
Should see prompt as follows:
And issue help command. Commands as follows:
log: outputs log so far as stream of number/chars
lv: print one sample for debugging
nm: show log counter
res: reset counter to 0
p: pause logging
s: (re-)start logging
d1/d2/d3: delays short→long between logging
str: streams log data
q: quit streaming data
8bit: char output
10: 10 bit integer output
ant: antenna source (bare antenna into ADC)
rssi: rssi board as source
gps: toggle (on/off) and init GPS
gpl: toggle live GPS messages for debugging
gplog: print GPS log so far
help: helps
Use minicom logging functions to output to files for further analysis and graphing.
Trimble Lassen SQ outputting NMEA GGA phrase every second. Remember to attach active antenna to MCX connector. It also may take up to fifteen minutes in plain sky view to get a satellite fix from a cold start.
Note that the output from gplog shows long and lat followed by the EM log figure (if delay is slow there will be little change). A bug was fixed [6/8/08] which logged all GPS data twice [now in svn].
In CVS GNU Emacs 23:
1] M-x serial-term (eg. /dev/ttyUSB0, 9600 b/s)
2] and then C-c is escape eg>
C-c C-b to switch buffers
C-c C-k char mode
C-c C-j line mode [with history accessed by way of M-p previous and M-n next]
providing adequate console for scrying serial connection [/dev/ttyUSB0].
[Note: for some reason above works inconsistently!]
3] To upload a region of code to the serial device:
(defun serial-send-region () (interactive) (let ((tmper (buffer-substring (region-beginning) (region-end)))) (switch-to-buffer (find-file-noselect "/tmp/scrying.transfer")) (erase-buffer) (insert tmper) (save-buffer "/tmp/scrying.transfer") (start-process "scrying-upload" nil "/root/scrying/scrying/scrying.sh")))
acii-xfer command is wrapped in scrying.sh:
#!/bin/sh /usr/bin/ascii-xfr -sen -l 10 -c 10 /tmp/scrying.transfer > /dev/ttyUSB0
1] install gnuplot-mode for GNU Emacs: http://cars9.uchicago.edu/~ravel/software/gnuplot-mode.html
2] M-x gnuplot-mode
2.5] make sure logged data is clean and uses tabs and not commas
3] Example code: use C-c C-r to send region to gnuplot:
set parametric unset key set style data line set surface set contour both set cntrparam bspline set dgrid3d 30,30,10 splot "/root/2310test.log" # flat heat map unset surface unset contour set view map set pm3d at b set dgrid3d 30,30,10 splot "/root/2310test.log" using 1:2:3 help splot # for line style plot (a la plot3) unset view map set ticslevel 0 set surface unset contour unset pm3d unset dgrid3d splot "/root/gijon/1903.log" using 1:2:3 with lines # animation and overlays??
1] Install R: apt-get install r-base-dev r-recommended
2] Install ESS for GNU Emacs: http://ess.r-project.org/
3] Install needed packages such as akima:
R CMD INSTALL /path/to/package.tar.gz
4] M-x R
5] Example code evaluated with M-x ess-eval-region (or C-c C-r):
#simplest
require(akima)
require(lattice)
mtab<-read.table("/root/2310test.log")
par(bg = "slategray")
persp(interp(mtab[,1],mtab[,2],mtab[,3],duplicate="strip"), theta = 110, phi = 100, col = "green3", ltheta = -120, shade = 0.8, border = NA)
# cloud (lines) and wireframe
mtab<-read.table("/root/2310test.log")
temp <-data.frame(mtab[,1],mtab[,2],mtab[,3])
reggrid <-interp(mtab[,1],mtab[,2],mtab[,3],duplicate="strip")
cloud(mtab[,3]~mtab[,2]*mtab[,1],type="l")
wireframe(reggrid$z,scales=list(arrows=FALSE),drape=TRUE,colorkey=TRUE)
help(persp)
Code is divided into core library, logging application and Scheme interpreter
Fuse bits for all options (4 MHz external): lfuse: 0xFD hfuse: 0×99 efuse:w:0xFF
Eg:
avrdude -c stk500v2 -p m128 -P /dev/ttyUSB0 -U lfuse:w:0xFD:m -U hfuse:w:0x99:m -U efuse:w:0xFF:m -U flash:w:serialtest.hex
See also: http://1010.co.uk/avrprog.html
1] See: http://1010.co.uk/scrying_tech_notes.html for loose notes.
2] Latest hardware designs/schematics at: https://code.goto10.org/svn/xxxxx/trunk/scrying_hardware/
With main schematic as: https://code.goto10.org/svn/xxxxx/trunk/scrying_hardware/scrymain_newmemory.sch
and BOM (Bill of Materials) as: https://code.goto10.org/svn/xxxxx/trunk/scrying_hardware/scrymain_newmemory.lst
and all Kicad/Gerber files as: https://code.goto10.org/svn/xxxxx/trunk/scrying_hardware/larger_panel002.zip
Pinouts of main pass-through connector for modules:
Pins: 1: 3.3v 2: PF0/ADC0 3: GND 4: PF1/ADC1 5: 5v 6: PF2/ADC2 7: PE1/TX 8: PF3/ADC3 9: PE0/RX 10: PF4/ADC4 11: PB0/SS 12: PF5/ADC5 13: PB1/SCK 14: PF6/ADC6/ANTENNA 15: PB2/MOSI 16: PF7/ADC7 17: PB3/MISO 18: PD0/INT0 19: PD5 20: PD1/INT1 21: PD6 22: PD2/RXD1 23: PD7 24: PD3/TXD1 25: BATTERY 26: PD4
And for serial connector (6 pin with pin 1 as bottom right):
1] GND 2] +V 5] RXD 6] TXD (top left)
Received Strength Signal Indicator see wikipedia: http://en.wikipedia.org/wiki/RSSI
See also details for the AD8313 chip used on the RSSI board: http://www.analog.com/library/analogDialogue/archives/33-03/ask28/
The gps module has a MCX connector, (i wonder if one of this are compatible with it, http://www.u-blox.com/products/ann.html ,its what i got)
A: It should be active - if the ublox antenna is this one: ANN-MS-2-005-0 (MCX) then it will be fine. Otherwise you will need an MCX adapter.
Q/So, What type of connector i need for this gps module (see picure above):
A/
Q/Since berlin i got used to the portability of a device that will allow me to listen in realtime the state of the em spectrum.. what do i need, what am i missing?
A/Ok. Two possible approaches - one is that as the RSSI/AD8313 is really the only board that could provide an audio signal that you could solder on a minijack plug to the 26 pin connector (I need to check pins). Another would be to code some kind of audio translation onto the microcontroller and make a new board for audio out using PWM - this could be good.
Independent module for long-term logging to microSD card (around 1 month on 2x AA batteries) to be deployed en masse (16x) in Berlin in the next month.
Logging wide spectrum RF and tight 2.4GHz wireless spectrum).
Based on ATmega168, Analog Devices AD8313, and Cypress CYWUSB6935.
Design: https://code.goto10.org/svn/xxxxx/trunk/scrying_hardware/
Code: https://code.goto10.org/svn/xxxxx/trunk/mini_skry/
avrdude -c usbasp -p m168 -U lfuse:w:0xE2:m -U hfuse:w:0xDF:m -U flash:w:sd-reader.hex
Currently logs AD8313 and channel 11 2.4 GHz wireless to microSD. No configuration/running.
Notes at: http://1010.co.uk/org/notes.html
1] GND
2] +3.3v
3] RXD
4] TXD
5] ADC4
6] ADC3
7] ADC2
8] ADC1