Skip to content

Instantly share code, notes, and snippets.

View monteslu's full-sized avatar
:shipit:
crushing all the code. Mostly into reusable modules, tho

Luis Montes monteslu

:shipit:
crushing all the code. Mostly into reusable modules, tho
View GitHub Profile
@monteslu
monteslu / remoteClient.js
Last active September 4, 2020 06:35
Remote Firmata Client over TCP
var net = require('net');
var five = require('johnny-five');
var firmata = require('firmata');
var options = {
host: '192.168.2.5', //whatever host
port: 48879 //some port
};
@monteslu
monteslu / tcpSerialRelay.js
Created March 13, 2015 22:43
SerialPort TCP/IP Host server
var net = require('net');
var SerialPort = require('serialport').SerialPort;
//possibly something like COM1 on windows
var SERIAL_PORT = process.env.SERIAL_PORT || '/dev/tty.usbmodem1421';
var PORT = process.env.PORT || 3001;
@monteslu
monteslu / bindSerialToMQTT.js
Created March 13, 2015 22:49
Bind a physical serial port to an MQTT server
var SerialPort = require('serialport').SerialPort;
var bindPhysical = require('mqtt-serial').bindPhysical;
var mqtt = require('mqtt');
// might be something like COM1 on windows
var SERIAL_PORT = process.env.SERIAL_PORT || '/dev/tty.usbmodem1421';
var serialPort = new SerialPort(SERIAL_PORT,{
baudrate: 57600,
@monteslu
monteslu / simplerSocketClient.js
Created April 27, 2015 13:56
j5 from a tcp socket client
var net = require('net');
var five = require('johnny-five');
var options = {
host: 'localhost', //any tcp host
port: 3001 // any port
};
var client = net.connect(options);
@monteslu
monteslu / cors.js
Created September 15, 2015 17:38
hapi cors
{
method: 'POST',
path: '/dostuff',
config: {
auth: false,
cors: {
additionalHeaders: ['accept']
},
handler: handleStuff
}
@monteslu
monteslu / webusb_gamepad.json
Created April 14, 2016 15:34
Pagenodes flow of WebUSB and a gamepad to make RGB lights blink
[{"id":"2f8628c2.e692b8","type":"nodebot","z":"10cff070.ef301","name":"","username":"","password":"","boardType":"firmata","serialportName":"","connectionType":"webusb-serial","mqttServer":"","socketServer":"","pubTopic":"","subTopic":"","tcpHost":"","tcpPort":"","sparkId":"","sparkToken":"","beanId":"","impId":"","meshbluServer":"https://meshblu.octoblu.com","uuid":"","token":"","sendUuid":""},{"id":"1b2f064f.b9378a","type":"johnny5","z":"10cff070.ef301","name":"","func":"var r = new five.Pin(9);\nvar g = new five.Pin(11);\nvar b = new five.Pin(10);\n\nvar buttonState;\n\nnode.on('input', function(msg){\n if(msg.payload && msg.payload.buttons){\n var buttons = msg.payload.buttons;\n var updated = !_.isEqual(buttons, buttonState);\n buttonState = buttons;\n if(updated){\n \n if(buttons[9].pressed){\n r.high();\n }\n else{\n r.low();\n }\n \n if(buttons[1].pressed){\n
@monteslu
monteslu / jarvis.json
Created April 20, 2016 23:11
Jarvis with PageNodes
[{"id":"4721875f.f2b108","type":"voice rec","z":"f9740f89.10f39","name":"","x":93,"y":68,"wires":[["f1138943.020728"]]},{"id":"f1138943.020728","type":"function","z":"f9740f89.10f39","name":"filter speech","func":"var parsed = msg.payload.split(\" \");\nvar match = ['jarvis', 'service', 'nervous', 'travis', 'target'];\n\nif(parsed && parsed.length > 1 && _.includes(match, parsed[0].toLowerCase())){\n parsed.shift();\n var query = parsed.join(' ');\n \n msg.params = {\n q: query,\n cr: 'US',\n cx: '003265628676327108248:v26ein-gdfq',\n num: 10,\n key: ' -- my key --'\n };\n return msg;\n \n}\n\nreturn null;","outputs":1,"noerr":0,"x":226,"y":156,"wires":[["e7caa57f.ff5178"]]},{"id":"e7caa57f.ff5178","type":"http request","z":"f9740f89.10f39","name":"","method":"GET","ret":"txt","url":"https://www.googleapis.com/customsearch/v1","x":317,"y":68,"wires":[["26353cb7.750f34"]]},{"id":"26353cb7.750f34","type":"function","z":"f9740f89.10f39","name":"process resp
@monteslu
monteslu / StandardFirmataWifi_ESP_MDNS.ino
Last active June 17, 2017 00:09
Standard Firmata Wifi also using MDNS for finding the IP of your ESP8266 nodebot
/*
Firmata is a generic protocol for communicating with microcontrollers
from software on a host computer. It is intended to work with
any host computer software package.
To download a host software package, please clink on the following link
to open the list of Firmata client libraries your default browser.
https://github.com/firmata/arduino#firmata-client-libraries
@monteslu
monteslu / export.json
Created September 24, 2016 05:51
midi input with neopixel display and organ music
[{"id":"1edd1c65.74c624","type":"subflow","name":"key to Hz","info":"","in":[{"x":50,"y":30,"wires":[{"id":"74b957b9.772a98"}]}],"out":[{"x":599,"y":83,"wires":[{"id":"33d59d5d.5fd7d2","port":0}]}]},{"id":"74b957b9.772a98","type":"math","z":"1edd1c65.74c624","name":"","operator":"-","operand":"65","payloadProp":"","resultProp":"","x":237,"y":194,"wires":[["2737e658.96909a"]]},{"id":"2737e658.96909a","type":"math","z":"1edd1c65.74c624","name":"","operator":"/","operand":"12","x":278,"y":136,"wires":[["7b172864.38a918"]]},{"id":"973dda4f.6eeb38","type":"math","z":"1edd1c65.74c624","name":"","operator":"*","operand":"440","x":427,"y":130,"wires":[["33d59d5d.5fd7d2"]]},{"id":"7b172864.38a918","type":"math","z":"1edd1c65.74c624","name":"","operator":"^r","operand":"2","x":348,"y":71,"wires":[["973dda4f.6eeb38"]]},{"id":"33d59d5d.5fd7d2","type":"math","z":"1edd1c65.74c624","name":"","operator":"round","operand":"","payloadProp":"","resultProp":"frequency","x":484,"y":190,"wires":[[]]},{"id":"64371572.bdc03c","type"
@monteslu
monteslu / majortom.json
Created June 6, 2017 01:00
ground control
[{"id":"DZPR-zf4CIU","type":"bluetooth out","z":"49fb777.a30e588","name":"digital..","characteristicId":"2a56","bleServiceId":"bada5555-e91f-1337-a49b-8675309fb099","x":762.5,"y":358.1666488647461,"wires":[]},{"id":"X6whys0o5ck","type":"bluetooth out","z":"49fb777.a30e588","name":"analog..","characteristicId":"2a58","bleServiceId":"bada5555-e91f-1337-a49b-8675309fb099","x":648.5,"y":791.1666488647461,"wires":[]},{"id":"dUHqkQX4TO0","type":"iot buttons","z":"49fb777.a30e588","x":63.5,"y":331.1666488647461,"wires":[["AtpvgWLC-Ns"]]},{"id":"AtpvgWLC-Ns","type":"switch","z":"49fb777.a30e588","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"3","vt":"num"},{"t":"eq","v":"4","vt":"num"},{"t":"eq","v":"2","vt":"num"},{"t":"eq","v":"6","vt":"num"},{"t":"eq","v":"5","vt":"num"},{"t":"eq","v":"7","vt":"num"},{"t":"eq","v":"8","vt":"num"},{"t":"eq","v":"1","vt":"num"}],"checkall":"true","outputs":8,"x":90.5,"y":485.1666488647461,"wires":[["dVSGiYQQfDw","YkMU_r_YmWs","rY4m-mfS8k8","8-o0yFdbNgU"]