Skip to content

Instantly share code, notes, and snippets.


Greg Albrecht W2GMD ampledata

View GitHub Profile
ampledata / node-red-json-to-cot.json
Created Aug 28, 2022
Node-RED: JSON to cursor on target CoT example flow.
View node-red-json-to-cot.json
"id": "0b934157aa7465fa",
"type": "tab",
"label": "To CoT",
"disabled": false,
"info": "",
"env": []
ampledata / network_gps.json
Last active Aug 27, 2021
Node-RED Flow for adding Network GPS to ATAK & WinTAK
View network_gps.json
[{"id":"758f7cac.e17e64","type":"tcp request","z":"53dcc9e8.57f8d8","server":"","port":"2947","out":"sit","splitc":" ","name":"Connect to GPSD TCP Port 2947","x":280,"y":320,"wires":[["12a46902.2a5087"]]},{"id":"90a23821.a7ee88","type":"inject","z":"53dcc9e8.57f8d8","name":"Start","props":[{"p":"payload"}],"repeat":"120","crontab":"","once":true,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":370,"y":240,"wires":[["930d05b5.b70958"]]},{"id":"930d05b5.b70958","type":"function","z":"53dcc9e8.57f8d8","name":"Config GPSD Output","func":"msg.payload = '?WATCH={\"enable\":true,\"json\":true,\"nmea\":true,\"raw\":0,\"scaled\":false,\"timing\":false,\"split24\":false,\"pps\":false}';\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":320,"y":280,"wires":[["758f7cac.e17e64"]]},{"id":"12a46902.2a5087","type":"function","z":"53dcc9e8.57f8d8","name":"Buffer.toString()","func":"let oldPayload = msg.payload;\nmsg.payload = oldPayload.toString();\nreturn msg;","output
ampledata / node-red_tak.json
Created Jan 4, 2021
Node-RED TAK Map Flow
View node-red_tak.json
"id": "c574bf6a.276f2",
"type": "tcp in",
"z": "65e4b241.fe35fc",
"name": "FTS Server",
"server": "client",
"host": "",
"port": "8087",
"datamode": "stream",
View gist:2f68de0ddbfa23b62abab67ca8d9fce0
SFFD Dispatches -
SFFD Tacticals -
View index.html
<!DOCTYPE html>
<meta charset='utf-8' />
<title>Display buildings in 3D</title>
<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
<script src=''></script>
<script src=''></script>
<link href='' rel='stylesheet' />
ampledata / sfcers.csv
Created Nov 23, 2018
talkgroupsFile for SFCERS
View sfcers.csv
We can make this file beautiful and searchable if this error is corrected: It looks like row 5 should actually have columns, instead of 7. in line 4.
14800,39D,A,SFFD A1,Control A1 Downtown Dispatch,Fire Dispatch,Fire,1
14832,39F,A,SFFD A2,Control A2 NorthWest Dispatch,Fire Dispatch,Fire,1
14864,3A1,A,SFFD A3,Control A3 SouthEast Dispatch,Fire Dispatch,Fire,1
15344,3BF,A,SFFD EMS4,EMS 4 FD-B16 Private Ambulances,EMS-Tac,EMS,1
12848,323,A,SFPD A1,Dispatch Mobiles Southern B Tenderloin J Districts,Law Dispatch,Police
12880,325,A,SFPD A2,Service Portables Southern B Tenderloin J Districts,Law Talk,Police
12912,327,A,SFPD A3,Dispatch Mobiles Bayview C Mission D Districts,Law Dispatch,Police
12944,329,A,SFPD A4,Service Portables Bayview C Mission D Districts,Law Talk,Police
12976,32b,A,SFPD A5,Dispatch Mobiles Central A Northern E Park F Districts,Law Dispatch,Police
13008,32d,A,SFPD A6,Service Portables Central A Northern E Park F Districts,Law Talk,Police
ampledata / config-sfcers.json
Created Nov 23, 2018
Trunk Recorder Configuration for SFCERS
View config-sfcers.json
"sources": [{
"center": 853887500.0,
"rate": 8000000.0,
"error": 12000.0,
"gain": 14,
"ifGain": 24,
"bbGain": 22,
"debugRecorders": 0,
"digitalRecorders": 0,
#!/usr/bin/env python
import librato
librato_api = librato.connect('xxx', 'yyy')
librato_api.submit('', 1234, description='Hello World')
View ARISS SatGates via SUNSET-6 (née W2GMD-13)
2016-12-18 19:18:05.535 W2GMD-13 R KG6FIY-9>SSTYXR,RS0ISS*:`.]cl!)[/>"4)}CQ de Endaf DM03=
2016-12-18 19:18:09.450 W2GMD-13 R KO6TZ>APRS,RS0ISS*,ARISS::BLNQSL1/1:RS0ISS,W5SAT-6,KK6OTJ-7,KG6FIY-9,SUNSET,KK6CUS-7
2016-12-18 19:18:21.162 W2GMD-13 R W5SAT-6>APWW10,RS0ISS*:>DM26kc/- Base Station - TS-2000
2016-12-19 01:47:12.692 W2GMD-13 R W5SAT-6>APWW10,RS0ISS*::WD9EWK-9 :Hello Patrick de W5SAT
2016-12-19 01:47:18.623 W2GMD-13 R AE7PK-7>TRQRVR,RS0ISS*:`2KUl#A[/`":p}Hello via ISS from Talent, Oregon! CN82_
2016-12-19 01:47:27.368 W2GMD-13 R WD9EWK-9>APK004,RS0ISS*::AE7PK-7 :Hi from DM43 in AZ. QSL? {1
2016-12-19 01:47:33.564 W2GMD-13 R KG6FIY-9>SSURVQ,RS0ISS*:`.'nl"x[/>"45}CQ de Endaf DM03=
2016-12-19 01:47:41.009 W2GMD-13 R KG6FIY-9>SSURVQ,RS0ISS*:`.'pl"t[/>"4&}CQ de Endaf DM03=
2016-12-20 00:55:35.012 W2GMD-13 R WD9EWK-9>APK004,RS0ISS*::NP4JV-9 :Hi from DM43 in AZ. QSL? {0
View gist:8603931
ok, trying to come up with a strategy here. I need to setup a subdomain for staging, based on your suggestion here's what I'm thinking:
dns_rr_creator 'create DNS RR for our server based on env' do
rr [node.chef_environment, node['site']].join('.')
ip node['ip_address']