Skip to content

Instantly share code, notes, and snippets.

Avatar

Justin Decker justind000

View GitHub Profile
@justind000
justind000 / AD5243.h
Last active Dec 12, 2021
Simple class to use Analog Device's AD5243 - 256-Position Dual Channel I2C Compatible Digital Potentiometer
View AD5243.h
/* MIT License
Copyright (c) 2017 Justin Decker
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
@justind000
justind000 / ADG1608.h
Created Nov 14, 2020
Simple class to use the Analog Device ADG1608 8 Channel Multiplexer
View ADG1608.h
/* MIT License
Copyright (c) 2017 Justin Decker
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
@justind000
justind000 / MsgPack_Helium.js
Created Sep 14, 2020
MsgPack decode for Helium Console - lacks float64
View MsgPack_Helium.js
Copyright © 2020, Justin Decker
Copyright © 2019, Yves Goergen, https://unclassified.software/source/msgpack-js
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the “Software”), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
@justind000
justind000 / Helium-wq-display.ino
Last active May 4, 2020
Helium - uFire Project with E-paper display
View Helium-wq-display.ino
/* Prior to compiling, install the following libraries:
Isolated EC Probe Interface v1.2.1
Isolated ISE Probe Interface v1.2.0
ArduinoJson v6.14.1
ESP32_LoRaWAN https://github.com/HelTecAutomation/ESP32_LoRaWAN
click links below in the #include section
Follow directions to install the development repository here:
https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series
View helium-wq.ino
/* Prior to compiling, install the following libraries:
Isolated EC Probe Interface v1.2.1
Isolated ISE Probe Interface v1.2.0
ArduinoJson v6.14.1
ESP32_LoRaWAN https://github.com/HelTecAutomation/ESP32_LoRaWAN
click links below in the #include section
Follow directions to install the development repository here:
https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series
@justind000
justind000 / helium-influx-bridge.py
Last active May 3, 2020
Helium - InfluxDB Bridge
View helium-influx-bridge.py
import ssl, sys, json, base64
import paho.mqtt.client, msgpack, influxdb_client
from influxdb_client import InfluxDBClient, Point
from influxdb_client.client.write_api import SYNCHRONOUS
ufire_server = ""
mqtt_port = 8883
mqtt_username = ""
mqtt_password = ""
influx_bucket = ""
View uFire-net.cpp
#include <WiFiMulti.h>
#include <InfluxDbClient.h> // click to install: http://librarymanager/All#ESP8266-Influxdb
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#define WIFI_SSID "" // WiFi name
#define WIFI_PASSWORD "" // WiFi password
#define INFLUXDB_URL "" // The address of your instance, like 'https://awesome.ufire.net:9999'
#define INFLUXDB_ORG "" // Organization name. It can't have any spaces in it for this library.
#define INFLUXDB_BUCKET "" // Bucket name, // InfluxDB UI -> Load Data -> Buckets -> Make or select a bucket
#define DEVICE "" // The name of this device
View main.cpp
#include "uFire_PAR.h"
uFire_PAR par;
float ppfd = par.measurePAR();
@justind000
justind000 / main.cpp
Last active Sep 14, 2019
uFire SHT20
View main.cpp
#include "uFire_SHT20.h"
uFire_SHT20 sht20;
float temp = sht20.temperature();
View main.rs
extern crate ufire_ise;
use ufire_ise::*;
let mut orp = ufire_ise::IseProbe::new("/dev/i2c-3", 0x3f).unwrap();
orp.measure_mv();