Skip to content

Instantly share code, notes, and snippets.

View don's full-sized avatar

Don Coleman don

View GitHub Profile

Keybase proof

I hereby claim:

  • I am don on github.
  • I am doncoleman (https://keybase.io/doncoleman) on keybase.
  • I have a public key ASAHcDKLEfyv4tJbdZ2G6eO7Zk1RB8L0EUeiC8hBtIaEPQo

To claim this, I am signing this object:

@don
don / nginx.conf
Last active December 24, 2020 00:48
Nginx Proxy Pass with headers for Django
location / {
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:8000/;
}
@don
don / MacAddress.ino
Last active February 20, 2019 19:19
Get the MAC address for an Arduino MRK board
// Print the WiFi firmware version and MAC address for MRK boards
// Based on https://www.arduino.cc/en/Reference/WiFiNINAMACAddress
// and https://forum.arduino.cc/index.php?topic=114568.msg862118#msg862118
#include <SPI.h>
#ifdef ARDUINO_SAMD_MKR1000
#include <WiFi101.h>
#define WIFI_LIB "WiFi101"
#else
#include <WiFiNINA.h>
@don
don / index-autoconnect.js
Last active June 9, 2018 19:18
Cordova - automatically connect to a Bluetooth device by name
var app = {
initialize: function() {
document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
},
onDeviceReady: function() {
// Auto connect whenever the device is in range
const MAC_ADDRESS = 'E4:86:1E:4E:5A:FB';
ble.autoConnect(MAC_ADDRESS, app.onConnected, app.onDisconnected);
},
@don
don / hexStringToArrayBuffer.js
Created May 3, 2018 17:54
Convert hex string to ArrayBuffer
/**
* Convert a hex string to an ArrayBuffer.
*
* @param {string} hexString - hex representation of bytes
* @return {ArrayBuffer} - The bytes in an ArrayBuffer.
*/
function hexStringToArrayBuffer(hexString) {
// remove the leading 0x
hexString = hexString.replace(/^0x/, '');
@don
don / index.html
Created April 13, 2018 04:23
phonegap-nfc-ios
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;">
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
<link rel="stylesheet" type="text/css" href="css/index.css">
<title>NFC Reader</title>
</head>
// Broadcast Characteristic Value
// Simple counter that broadcasts a value
// Use v2 of CurieBLE library
#include <CurieBLE.h> // Arduino 101
uint8_t value = 0;
unsigned long previousMillis = 0; // will store last time counter was updated
unsigned short interval = 1000; // interval at which to update counter (milliseconds)
@don
don / index.js
Created January 16, 2018 02:08
Break up large ArrayBuffer before writing to BLE characteristic
// Mock BLE so you can run example from nodejs
const ble = {
write: function(device_id, service, characteristic, buffer, success, failure) {
// log to console instead of writing
console.log('>>', new Uint8Array(buffer));
// always call success callback
success();
}
}
@don
don / filter.js
Last active October 12, 2017 13:18
if (device.id !== '5F5D6C62-1414-4657-3ECA-3B34E124CE60') { // Android AA:BB:CC:DD:EE:FF
console.log('skipping ' + device.id);
return;
}
@don
don / BLE_Workshop_Software_Install.md
Created October 4, 2017 03:57
Software Install instructions for the PhoneGap Day NY 2017 - Hands on Bluetooth LE Workshop

Hands-on Bluetooth Low Energy

PhoneGap Day NY - October 12th, 2017

Software Installation

In order to get the most of the class, we're asking everyone to install the software before the workshop.

It's important that you follow this guide and have you computer setup before you arrive. We want to spend time learning about Bluetooth not installing software.

PhoneGap