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 / webusb.json
Created October 10, 2017 00:31
web usb sumbot
[{"id":"U2iP2JBwrmw","type":"nodebot","z":"18QoD_1O8Fo","name":"","username":"","password":"","boardType":"firmata","serialportName":"/dev/cu.usbmodem1411","connectionType":"webusb-serial","mqttServer":"","socketServer":"","pubTopic":"","subTopic":"","tcpHost":"","tcpPort":"","sparkId":"","sparkToken":"","beanId":"","impId":"","meshbluServer":"https://meshblu.octoblu.com","uuid":"","token":"","sendUuid":""},{"id":"z97ErFY3XNM","type":"servo","z":"18QoD_1O8Fo","name":"","pin":"5","upperRange":"","lowerRange":"","mode":"standard","controller":"","board":"U2iP2JBwrmw","x":848,"y":377,"wires":[]},{"id":"5Tk4jy-N8es","type":"servo","z":"18QoD_1O8Fo","name":"","pin":"6","upperRange":"","lowerRange":"","mode":"standard","controller":"","board":"U2iP2JBwrmw","x":860,"y":641,"wires":[]},{"id":"j7Lqig4sPXE","type":"iot buttons","z":"18QoD_1O8Fo","x":330,"y":161,"wires":[["aV0_vlDWpOI"]]},{"id":"MAtE6AVwzpg","type":"change","z":"18QoD_1O8Fo","name":"0","rules":[{"t":"set","p":"payload","pt":"msg","to":"0","tot":"num"}],
@monteslu
monteslu / webusb_pixel.ino
Created September 20, 2017 23:02
webusb + neopixels
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
#define PIN 6
// Parameter 1 = number of pixels in strip
// Parameter 2 = Arduino pin number (most are valid)
@monteslu
monteslu / face.json
Created August 3, 2017 01:36
face detection
[{"id":"h7jqQtSMQmU","type":"debug","z":"_alOBB8I5gw","name":"","active":true,"console":"false","complete":"results","x":500,"y":414,"wires":[]},{"id":"ywxCRTJ1Je4","type":"inject","z":"_alOBB8I5gw","name":"","topic":"","payload":"","payloadType":"date","repeat":"1","crontab":"","once":false,"allowDebugInput":false,"x":222,"y":146,"wires":[["xvq1gtW7UxQ"]]},{"id":"xvq1gtW7UxQ","type":"camera","z":"_alOBB8I5gw","name":"","animated":false,"x":209,"y":225,"wires":[["Oo8A3qMSxUA"]]},{"id":"Oo8A3qMSxUA","type":"shape","z":"_alOBB8I5gw","name":"","shapeType":"face","x":179,"y":300,"wires":[["98wVEP9htq0"]]},{"id":"98wVEP9htq0","type":"switch","z":"_alOBB8I5gw","name":"","property":"results.length","propertyType":"msg","rules":[{"t":"gt","v":"0","vt":"num"}],"checkall":"true","outputs":1,"x":401,"y":289,"wires":[["lEtqee3oBi8"]]},{"id":"lEtqee3oBi8","type":"change","z":"_alOBB8I5gw","name":"","rules":[{"t":"set","p":"left","pt":"msg","to":"results[0].boundingBox.left","tot":"msg"},{"t":"set","p":"top","pt":"msg","to
[{"id":"2pGxMM2FsGc","type":"bluetooth out","z":"49fb777.a30e588","name":"curie","characteristicId":"2a5b","bleServiceId":"bada5555-e91f-1337-a49b-8675309fb099","x":1257,"y":1212,"wires":[]},{"id":"aeTomPptGpo","type":"inject","z":"49fb777.a30e588","name":"red strip","topic":"","payload":"[4,12,255,0,0]","payloadType":"json","repeat":"","crontab":"","once":false,"allowDebugInput":false,"x":818,"y":1079,"wires":[["2pGxMM2FsGc"]]},{"id":"SQgYsSlZ0KA","type":"inject","z":"49fb777.a30e588","name":"black strip","topic":"","payload":"[4,12, 0,0,0]","payloadType":"json","repeat":"","crontab":"","once":false,"allowDebugInput":false,"x":793,"y":1137,"wires":[["2pGxMM2FsGc"]]},{"id":"cW911aALG6U","type":"inject","z":"49fb777.a30e588","name":"pixel 2 blue","topic":"","payload":"[3,12,2, 0,0,200]","payloadType":"json","repeat":"","crontab":"","once":false,"allowDebugInput":false,"x":810,"y":1197,"wires":[["2pGxMM2FsGc"]]},{"id":"me48DP6hmIo","type":"inject","z":"49fb777.a30e588","name":"pixel 0 - 3 first half rainbow","t
@monteslu
monteslu / carcontrol.json
Created June 23, 2017 17:30
car control
[{"id":"6hhqqI1I-Ls","type":"bluetooth out","z":"49fb777.a30e588","name":"digital..","characteristicId":"2a56","bleServiceId":"bada5555-e91f-1337-a49b-8675309fb099","x":821.5,"y":222,"wires":[]},{"id":"dd6R088sIXc","type":"bluetooth out","z":"49fb777.a30e588","name":"analog..","characteristicId":"2a58","bleServiceId":"bada5555-e91f-1337-a49b-8675309fb099","x":707.5,"y":655,"wires":[]},{"id":"kkgJpERfIvw","type":"iot buttons","z":"49fb777.a30e588","x":87.5,"y":180,"wires":[["vKL1gU1CZ18"]]},{"id":"vKL1gU1CZ18","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":"str"}],"checkall":"true","outputs":8,"x":149.5,"y":349,"wires":[["17AfuHvqwJM","QGG7QoVH8lo"],["qTXb5mvCQPU","qApozIfAPgs"],["17AfuHvqwJM","qApozIfAPgs"],["QGG7QoVH8lo","qTXb5m
@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"]
@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 / 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 / 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 / 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